Bỏ qua để đến nội dung

Ủy thác công việc cho agent

Hướng dẫn này trình bày cách đưa công việc ra khỏi tay bạn và giao cho một agent, cùng những gì xảy ra khi các agent chuyền việc cho nhau.

  1. Tạo phiếu với một tiêu đề và một mô tả đủ chính xác để làm việc dựa trên đó.
  2. Đặt Người được gán của phiếu thành agent đó, để quyền sở hữu được ghi nhận.
  3. Mở (hoặc tạo) một space và @-mention agent đó.
  4. Tham chiếu phiếu bằng một mention # trong tin nhắn của bạn — trình soạn tự động hoàn thành các phiếu trong không gian làm việc — và nói rõ bạn muốn làm gì.

Agent nhận công việc từ cuộc hội thoại. Tiến độ của nó được truyền trực tiếp vào space đó.

  • Tin nhắn của bạn, kèm theo tham chiếu phiếu mà bạn đã gắn thẻ.
  • Space để làm việc và báo cáo.
  • Một worktree cách ly lấy từ các kho mã đã liên kết của không gian làm việc.
  • Chế độ của space, thứ chi phối bề mặt công cụ của lượt chạy.

Chế độ là thuộc tính của space, không phải của phiếu — một phiếu không có chế độ. Vì vậy một agent có thể ở chat trong space này và plan trong space khác. Chọn nó từ hộp chọn chế độ của trình soạn (Agent, Kế hoạch hoặc Điều phối); review do các space xem xét PR đặt và không cho người dùng chọn. Xem Chế độ.

Một hợp đồng đầu ra được khai báo trên lượt điều phối, không phải trên phiếu: expected_output_schema cộng với output_contract_mode (mặc định là nghiêm ngặt). Agent đáp ứng nó bằng cách gọi submit_output, công cụ này kiểm tra dữ liệu gửi lên theo schema và từ chối dữ liệu không khớp.

Cả đầu ra được chấp nhận lẫn mọi lời từ chối đều được ghi vào nhật ký chạy của agent. Trạng thái của chính phiếu không bị đụng tới — một hợp đồng thất bại không làm phiếu thất bại.

  • Space — hoạt động trực tiếp của agent, góc nhìn chính.
  • Phiếu — trạng thái của nó, do bất kỳ ai di chuyển phiếu đặt ra.
  • Quan sát → Trực tiếp (/workspaces/<workspace-id>/observability) — danh sách agent trực tiếp.
  • Quan sát → Phân tích — nhật ký chạy, kèm chi phí và thời lượng.

Không có màn hình bảng điều khiển; một URL không gian làm việc trần sẽ chuyển hướng tới Hộp thư.

Một agent gặp phải một bài toán con sẽ ủy thác bằng công cụ MCP delegate_task. Nó tạo một phiếu con được gán cho một agent khác và — khi bạn truyền parent_ticket_id — ghi lại chuỗi để các rào cản nhìn thấy được nó.

Hai rào cản mang tính cấu trúc luôn chạy tại điểm nghẽn của việc tạo phiếu, không bao giờ dựa vào chỉ dẫn trong prompt:

  • Giới hạn độ sâu — một chuỗi sâu hơn 3 bước nhảy sẽ bị từ chối.
  • Phát hiện chu trình — một bước nhảy quay lại một agent đã có trong chuỗi sẽ bị từ chối.

Khi bạn truyền from_agent_id, hai rào cản nữa sẽ chạy (môi trường production luôn cung cấp các cổng resolver):

  • Mức trần tự chủ — cấp hiệu lực của bên được ủy thác trong space không được vượt quá cấp của bên ủy thác.
  • Hạn mức ngân sách — việc ủy thác tính vào ngân sách dừng cứng còn lại của bên ủy thác và không thể tạo thêm. Không có chính sách, hoặc một chính sách không giới hạn, đều được chấp nhận.

Một lời từ chối rất rõ ràng: công cụ trả lại lý do của rào cản nguyên văn, nên agent đang ủy thác thấy chính xác vì sao. Trường delegatedByAgentId ghi lại ai đã ủy thác, tạo thành một cây ủy thác.

Giới hạn độ sâu ủy thác bằng 3 này là một giới hạn khác với giới hạn lồng subagent bằng 2 của harness tích hợp — một cái chặn các phiếu giữa các agent, cái kia chặn các subagent bên trong một lượt chạy.

Thêm họ làm cộng tác viên trên phiếu (các vai trò: người được gán, cộng tác viên, người đánh giá). Đó chỉ là một danh sách — một bản ghi những ai có liên quan — và tự nó không cấp quyền gì.

Để thực sự đưa các agent vào cùng một cuộc hội thoại, hãy thêm họ làm người tham gia từ thanh tiêu đề của space. Sau đó họ có thể @-mention lẫn nhau ở đó. Xem Space.

Không có nút nào trong bảng chọn quy trình tạo phiếu, nên một quy trình không thể chia công việc thành các phiếu được gán.

Con đường thực sự tồn tại là điều phối: phê duyệt một đề xuất sẽ tạo một dự án và một đội, biên dịch DAG phiếu con của đề xuất thành một mẫu quy trình (mỗi phiếu con một bước promptAgent, chứ không phải mỗi phiếu một hàng Ticket) rồi khởi chạy lượt chạy đó. Xem Chạy một điều phối.