Chuyển đến nội dung chính
Hướng dẫn AI

Điều phối tác vụ tác nhân AI bằng Sprix SAGE Router

Tìm hiểu cách cài đặt Sprix SAGE Router, mô hình hóa tác nhân và các phụ thuộc tác vụ, chọn tuyến thực thi khả thi, kiểm tra nhiệm vụ được phân công và cải thiện các quyết định sau này bằng bằng chứng thực thi. Hướng dẫn cũng giải thích về tích hợp A2A, các ràng buộc, đo điểm chuẩn và hướng dẫn thực tiễn cho bản xem trước nghiên cứu ở giai đoạn đầu này.

Điều phối tác vụ tác nhân AI bằng Sprix SAGE Router

Sprix SAGE Router là gì?

Sprix SAGE Router là một dự án nghiên cứu Python mã nguồn mở nhằm quyết định cách các tác tử AI nên thực thi một tác vụ sau khi công việc đã bắt đầu. SAGE là viết tắt của State-Aware Graph Exchange (Trao đổi đồ thị nhận biết trạng thái). Nó hoạt động giữa quá trình khám phá tác tử và thực thi tác vụ, lựa chọn một cấu hình tác tử khả thi đồng thời cân nhắc tiến độ hiện tại, năng lực, quyền hạn, chi phí, độ trễ, các mối phụ thuộc và tổn thất khi chuyển ngữ cảnh.

Bộ định tuyến so sánh ba chế độ thực thi:

  • SELF: Tác tử hiện tại tiếp tục hoạt động một mình khi năng lực và ngữ cảnh tích lũy của nó đã đủ.
  • COLLABORATE: Tác tử hiện tại vẫn giữ quyền sở hữu, trong khi các tác tử bổ trợ đáp ứng những yêu cầu còn thiếu.
  • HANDOFF: Một tác tử ngang hàng tiếp nhận toàn bộ quyền sở hữu khi lợi thế chuyên môn của nó lớn hơn chi phí chuyển ngữ cảnh.

SAGE được thiết kế để hoạt động bên trên giao thức Agent2Agent. A2A định nghĩa Agent Card, tác vụ, tin nhắn, hiện vật, xác thực và phương thức truyền tải có khả năng tương tác. SAGE giải quyết một câu hỏi khác: cấu hình đủ điều kiện nào nên thực thi tác vụ, theo chế độ nào và vì sao?

Nguyên mẫu hiện tại trả về các quyết định định tuyến. Nó không truyền tác vụ đến các tác tử, vì vậy một máy khách A2A hoặc lớp thực thi khác phải thực hiện tuyến đã chọn.

Các tính năng định tuyến chính

SAGE kết hợp định tuyến, lập lịch và học trực tuyến trong một quy trình ra quyết định có thể kiểm tra. Các tính năng chính bao gồm:

  • Định tuyến ba chế độ: Các ứng viên SELF, COLLABORATE và HANDOFF cạnh tranh theo cùng một mục tiêu tiện ích.
  • Lập kế hoạch lại dựa trên tiến độ: Tiến độ tích lũy, các tác tử đang thực thi, lỗi, các nút tác vụ đã hoàn thành và ngữ cảnh có thể chuyển giao đều ảnh hưởng đến việc chuyển đổi có đáng giá hay không.
  • Lựa chọn nhóm bổ trợ: Các nhóm được đánh giá cao khi bổ sung độ bao phủ yêu cầu thay vì tập hợp những tác tử có thứ hạng cao nhưng trùng lặp.
  • Độ tin cậy theo ngữ cảnh: Độ tin cậy được học cho từng tác tử và từng yêu cầu, thay vì bị quy giản thành một điểm danh tiếng toàn cục.
  • Lập lịch theo Task-DAG: Các yêu cầu được gán cho các tác tử thực thi, trong khi các cạnh phụ thuộc xác định thứ tự thực thi, cấu trúc liên kết giao tiếp và độ trễ đường găng.
  • Tìm kiếm có giới hạn: Tìm kiếm theo chùm đánh giá một số tiền tố của nhóm cộng tác thay vì đưa ra một lựa chọn tham lam duy nhất.
  • Lọc theo ràng buộc trước: Các tác tử không đủ điều kiện bị loại trước khi xếp hạng, bất kể chất lượng dự đoán của chúng.
  • Học có xét đến bằng chứng: Điểm yêu cầu, chi phí thực tế và độ trễ thực tế có thể cập nhật độ tin cậy, tính cộng hưởng, mô hình thành công và độ chính xác của giá chào.
  • Kết quả có thể kiểm toán: Các quyết định hiển thị chế độ đã chọn, các phân công, cấu trúc liên kết, xác suất thành công dự đoán, độ bao phủ, chi phí, độ trễ, rủi ro, tiện ích và lý do.

Cách thuật toán đánh giá một tuyến

Đối với mỗi yêu cầu của tác vụ, SAGE kết hợp độ tin cậy toàn cục với độ tin cậy có điều kiện theo yêu cầu để ước tính năng lực đã hiệu chuẩn của một tác tử. Độ bao phủ của nhóm tăng khi các thành viên đóng góp năng lực hữu ích và không trùng lặp. Sau đó, mọi yêu cầu còn lại được gán cho thành viên nhóm có năng lực đã hiệu chuẩn cao nhất.

Bộ lập lịch tuân thủ DAG yêu cầu. Công việc được gán cho cùng một tác tử sẽ được tuần tự hóa, trong khi công việc độc lập được gán cho các tác tử khác nhau có thể chạy song song. Sau khi xây dựng một nhóm ứng viên, SAGE kiểm tra chi phí cấp nhóm và độ trễ đường găng so với ngân sách và thời hạn của tác vụ.

Các ứng viên khả thi được xếp hạng bằng một hàm tiện ích, cân bằng giá trị thành công dự đoán với chi phí, độ trễ, rủi ro, tổn thất khi chuyển ngữ cảnh, chi phí phối hợp và độ không chắc chắn. Điều này cho phép một chuyên gia mạnh hơn vẫn có thể thua tác tử hiện tại khi việc chuyển giao làm mất quá nhiều ngữ cảnh hữu ích. Nó cũng cho phép một nhóm bổ trợ vượt qua một tập hợp các tác tử danh tiếng nhưng dư thừa.

Cài đặt và xác minh dự án

Điều kiện tiên quyết

Bản triển khai tham chiếu yêu cầu Python 3.10 trở lên. Theo README của dự án, dự án không có dependency khi chạy.

Sao chép repository

git clone https://github.com/wang2122/sprix-sage-router.git
cd sprix-sage-router
python demo.py

Script demo.py cung cấp một ví dụ đầu cuối dễ đọc. Vì repository cung cấp trực tiếp phần triển khai thông qua sprix_sage.py, bước khởi động nhanh không yêu cầu lệnh cài đặt gói riêng.

Chạy các bài kiểm thử và benchmark

python -m unittest -v
python benchmark.py

Các bài kiểm thử đơn vị xác minh hành vi dự kiến của bộ định tuyến. Benchmark chạy một trình mô phỏng phi tuyến bên ngoài qua các seed xác định, cho phép so sánh các phiên bản SAGE tĩnh và trực tuyến với những chiến lược định tuyến đơn giản hơn.

Tạo kịch bản định tuyến đầu tiên

Bước 1: Nhập các kiểu cốt lõi

from sprix_sage import (
    Agent,
    ExecutionOutcome,
    Requirement,
    SAGERouter,
    Task,
)

Ví dụ này sử dụng Agent để mô tả các ứng viên, Requirement và Task để định nghĩa công việc, SAGERouter để chọn tuyến và ExecutionOutcome để trả về bằng chứng sau khi thực thi.

Bước 2: Xác định các tác tử khả dụng

agents = [
    Agent(
        "planner",
        {"planning": 0.92, "coding": 0.55},
        cost=0.08,
        latency_ms=900,
    ),
    Agent(
        "coder",
        {"planning": 0.35, "coding": 0.96},
        cost=0.12,
        latency_ms=1200,
    ),
]

Mỗi tác nhân có một mã định danh, một vector năng lực, một ước tính chi phí và một ước tính độ trễ. Ở đây, planner giỏi lập kế hoạch, còn coder giỏi viết mã hơn. Sự khác biệt này giúp SAGE có lý do cân nhắc việc cộng tác hoặc bàn giao, thay vì xếp hạng tác nhân theo một điểm số tổng thể duy nhất.

Bước 3: Mô hình hóa các yêu cầu và phần phụ thuộc

task = Task(
    "build-feature",
    requirements=(
        Requirement("planning", 0.4),
        Requirement(
            "coding",
            0.6,
            depends_on=("planning",),
        ),
    ),
    value=1.0,
    budget=0.30,
    deadline_ms=4000,
    progress=0.35,
)

Tác vụ chứa hai yêu cầu có trọng số. Yêu cầu viết mã phụ thuộc vào việc lập kế hoạch, tạo thành một DAG nhỏ, trong đó việc lập kế hoạch phải hoàn tất trước khi viết mã. Tác vụ cũng cung cấp các giá trị cần thiết cho việc định tuyến có ràng buộc:

  • value biểu thị giá trị của việc hoàn thành thành công.
  • budget giới hạn chi phí có thể chấp nhận.
  • deadline_ms giới hạn độ trễ được lập lịch.
  • progress cho bộ định tuyến biết rằng quá trình thực thi đã hoàn thành 35 phần trăm.

Tiến độ rất quan trọng vì thay đổi bên chịu trách nhiệm giữa quá trình thực thi có thể gây tổn thất khi chuyển giao ngữ cảnh. Do đó, lợi thế về năng lực của một chuyên gia không tự động khiến việc bàn giao trở thành tuyến đường tốt nhất.

Bước 4: Định tuyến tác vụ

router = SAGERouter(
    agents,
    incumbent_id="planner",
)

decision = router.route(task)

print(decision.mode)
print(decision.assignments)
print(decision.topology)

Tác nhân đương nhiệm là tác nhân hiện đang phụ trách tác vụ. Việc gọi route sẽ so sánh các ứng viên SELF, COLLABORATE và HANDOFF khả thi. Quyết định trả về có thể được kiểm tra thông qua các trường như:

  • decision.mode cho biết chế độ thực thi được chọn.
  • decision.assignments cho biết cách gán vai trò tác nhân cho từng yêu cầu.
  • decision.topology cho biết cấu trúc giao tiếp phát sinh từ các phần phụ thuộc.

Không nên mặc định rằng kịch bản cụ thể này luôn phải tạo ra một chế độ nhất định. Kết quả phụ thuộc vào các ước tính đã hiệu chỉnh, các ràng buộc, tiến độ và trạng thái đã học của bộ định tuyến.

Học từ kết quả thực thi

Định tuyến chỉ là một nửa của quy trình. Sau khi các tác nhân được chọn thực thi tác vụ, hãy gửi bằng chứng đáng tin cậy nhất hiện có về cho bộ định tuyến:

router.record_outcome(
    decision,
    ExecutionOutcome(
        success=0.9,
        requirement_scores={
            "planning": 0.95,
            "coding": 0.86,
        },
        actual_cost=0.19,
        actual_latency_ms=1450,
    ),
)

Giá trị thành công tổng thể cung cấp cho bộ định tuyến kết quả ở cấp tác vụ. Điểm số riêng cho từng yêu cầu giúp phân bổ công trạng chính xác hơn, tránh việc mọi thành viên đều nhận được mức công trạng giống nhau. Chi phí và độ trễ thực tế giúp hiệu chỉnh các dự đoán trong tương lai cũng như báo giá của nhà cung cấp.

Việc định tuyến và phản hồi lặp lại cho phép SAGE trực tuyến tinh chỉnh độ tin cậy theo ngữ cảnh, ảnh hưởng theo cặp, dự đoán thành công và độ trung thực của giá thầu. Để việc học có ích, hãy ghi nhận kết quả nhất quán và ưu tiên bằng chứng đo được hơn các nhãn thành công sơ lược bất cứ khi nào có thể.

Tích hợp SAGE với hệ thống A2A

Một tích hợp trong môi trường sản xuất có thể chuyển đổi các tín hiệu giao thức và thị trường thành các biểu diễn nội bộ của SAGE:

  • Chuẩn hóa AgentCard.skills thành các vector năng lực.
  • Sử dụng các yêu cầu bảo mật làm bộ lọc quyền hạn bắt buộc.
  • Kiểm tra các chế độ đầu vào và đầu ra được hỗ trợ để bảo đảm khả năng tương thích trước khi chấm điểm.
  • Ánh xạ trạng thái tác vụ, các tạo tác, các nút DAG đã hoàn tất và lỗi vào trạng thái thực thi hiện tại cũng như các ước tính tổn thất khi chuyển giao.
  • Biểu diễn báo giá của nhà cung cấp dưới dạng các giá thầu chứa chi phí, độ trễ và độ tin cậy.
  • Sử dụng đánh giá tác vụ đã hoàn tất để cập nhật độ tin cậy theo ngữ cảnh, phần dư theo cặp, dự đoán thành công và độ trung thực của giá thầu.

Sau khi SAGE trả về quyết định, một ứng dụng khách A2A có thể thực thi quyết định đó bằng các thao tác giao thức như gửi tin nhắn, truyền trực tuyến, thăm dò tác vụ hoặc hủy bỏ. Hãy giữ ranh giới này rõ ràng: SAGE lựa chọn và giải thích tuyến đường, còn lớp A2A xử lý việc giao tiếp và thực thi.

Mẹo sử dụng nâng cao

Mô hình hóa tác vụ dưới dạng DAG có ý nghĩa

Hãy sử dụng các phần phụ thuộc để biểu diễn thứ tự thực thi thực tế thay vì đưa mọi yêu cầu vào một danh sách phẳng. Các phần phụ thuộc chính xác cho phép SAGE phân biệt công việc tuần tự với công việc song song và đưa ra ước tính độ trễ trên đường găng hữu ích hơn.

Ưu tiên mô tả năng lực bổ trợ lẫn nhau

Hãy mô tả tác nhân bằng các năng lực ở cấp yêu cầu. Một điểm số tổng quát duy nhất sẽ che khuất sự khác biệt giữa việc lập kế hoạch, viết mã, nghiên cứu hoặc các kỹ năng khác, đồng thời làm suy yếu độ tin cậy theo ngữ cảnh và việc gán vai trò.

Coi quyền hạn là các ràng buộc bắt buộc

Không sử dụng chất lượng dự đoán để vượt qua các quy tắc truy cập. Thiết kế ưu tiên quyền hạn của SAGE yêu cầu loại các tác nhân không đủ điều kiện trước khi xếp hạng ứng viên. Tương tự, việc kiểm tra khả năng tương thích, xác thực và chính sách cũng nên được thực hiện trước khi thực thi.

Sử dụng ngân sách và thời hạn thực tế

SAGE kiểm tra các ràng buộc trong quá trình xây dựng ứng viên và một lần nữa ở cấp nhóm. Hãy cung cấp ngân sách và thời hạn riêng cho từng tác vụ để một tập hợp tác nhân hấp dẫn khi xét riêng lẻ không bị chọn nếu tổng chi phí hoặc đường găng của nó không khả thi.

Kiểm tra quyết định thay vì chỉ sử dụng chế độ

Hãy xem xét việc gán vai trò, cấu trúc liên kết, độ bao phủ, thành công dự đoán, chi phí, độ trễ, rủi ro, độ hữu dụng và lý do. Nhật ký kiểm toán có thể cho thấy một tuyến đường được chọn vì tính bổ trợ thực sự, duy trì ngữ cảnh của tác nhân đương nhiệm, giảm tổn thất chuyển giao hay đáp ứng tính khả thi của các ràng buộc.

Đo lường độ trung thực của báo giá

Trả về chi phí thực tế và độ trễ sau khi thực thi. Nếu không có các giá trị quan sát được, bộ định tuyến sẽ có ít bằng chứng hơn để xác định liệu mức độ tin cậy, giá cả và thời gian được báo giá có đáng tin cậy hay không.

Đánh giá các đánh đổi bằng một hàm tiện ích chung

Điểm chuẩn tổng hợp đi kèm cho thấy SAGE trực tuyến đạt chất lượng mô phỏng và tiện ích chung cao hơn các phương pháp cơ sở được liệt kê, đồng thời tiêu tốn nhiều hơn SAGE tĩnh. Đánh đổi này cần được thể hiện rõ: việc định tuyến không nên che giấu chi phí đằng sau một điểm số chỉ phản ánh năng lực.

Điểm chuẩn này là tổng hợp và không phải bằng chứng về ưu thế trong thế giới thực. Việc đánh giá triển khai thực tế cần các lần thực thi mang tính đại diện, các phương pháp cơ sở định tuyến mạnh, phân tích hiệu chỉnh, phát lại dấu vết thị trường, các tác tử không đồng nhất và các điều kiện đối nghịch.

Tìm hiểu các giới hạn của bản xem trước nghiên cứu

SAGE là bản xem trước nghiên cứu ở giai đoạn đầu, không phải cam kết cấp độ dịch vụ dành cho môi trường sản xuất hay kết quả đã được bình duyệt. Chính sách học nhẹ của hệ thống không thay thế việc huấn luyện trên các dấu vết thực tế hoặc đánh giá nhân quả ngoài chính sách.

Trước khi triển khai trong môi trường sản xuất, README khuyến nghị sử dụng các bộ đánh giá đã hiệu chỉnh, danh tính được xác thực, siêu dữ liệu năng lực có chữ ký, đánh giá quyền riêng tư và bảo mật, cơ chế khôi phục bền vững dựa trên sự kiện, hoạt động giám sát và xác thực theo từng tác vụ. Các bộ điều hợp thực tế cho việc phát hiện, thực thi, truyền luồng và hủy A2A vẫn là các hạng mục trong lộ trình, cũng như vận hành dịch vụ phân tán và các cổng phê duyệt của con người.

Tài nguyên trong kho mã

  • sprix_sage.py chứa bộ định tuyến theo ngữ cảnh, bộ lập lịch DAG, tìm kiếm beam và các cập nhật trực tuyến.
  • demo.py cung cấp một ví dụ đầu-cuối.
  • benchmark.py chứa trình mô phỏng bên ngoài và các phương pháp cơ sở về tiện ích chung.
  • test_sprix_sage.py chứa các kiểm thử đơn vị về hành vi.
  • ALGORITHM.md trình bày mục tiêu hình thức, quy trình tìm kiếm, cách phân bổ đóng góp và các giới hạn.
  • Kho GitHub chứa thông tin về đóng góp, bảo mật, quản trị và giấy phép.

Kết luận

Sprix SAGE Router cung cấp một triển khai tham chiếu thực tiễn cho việc ghép cặp tác tử có nhận biết trạng thái. Bằng cách biểu diễn công việc dưới dạng các DAG yêu cầu, so sánh SELF, COLLABORATE và HANDOFF trong các ràng buộc chung, đồng thời đưa bằng chứng thực thi trở lại bộ định tuyến, bạn có thể thử nghiệm các quyết định đa tác tử có khả năng kiểm toán, учиты đến cả chất lượng dự đoán và chi phí vận hành.

Bắt đầu với demo.py, tái tạo ví dụ tối thiểu, kiểm tra từng quyết định định tuyến và chạy các bài kiểm thử cùng điểm chuẩn tổng hợp. Để triển khai A2A thực tế, hãy bổ sung một bộ điều hợp thực thi riêng và hoàn tất các công việc về xác thực, bảo mật, khả năng quan sát, khôi phục và xác thực theo yêu cầu của môi trường của bạn.