Điều phối
Một agent đơn lẻ chỉ giỏi một việc. Có những yêu cầu lớn hơn thế: “nghiên cứu thị trường cho X và viết một tài liệu định vị”, “phát hành tính năng này từ đầu đến cuối”, “rà soát mô-đun này và sửa những gì bạn tìm thấy”. Một điều phối là cách Control Center xử lý những yêu cầu đó: một agent điều phối (thường là agent CEO của bạn) đề xuất một kế hoạch cho cả đội, bạn phê duyệt nó một lần và một bộ hiện thực hóa tất định biến nó thành một quy trình thực hiện công việc.
Nó nằm giữa hai cách hoàn thành công việc đã có:
| Khi bạn muốn… | Hãy dùng |
|---|---|
| Giao một tác vụ cho một agent | Một tin nhắn trong một space |
| Mã hóa thủ công một quy trình bạn đã biết | Một mẫu quy trình |
| Nêu mục tiêu và để đội tự tìm ra kế hoạch | Một điều phối |
Hình dạng của một đề xuất
Phần tiêu đề “Hình dạng của một đề xuất”Khi bạn giao cho agent điều phối một mục tiêu, nó trả về một
OrchestrationProposal có cấu trúc: một kế hoạch có kiểu mà ứng dụng có thể
xác thực và thực thi, thay vì văn xuôi tự do. Một đề xuất gồm:
- Mục tiêu: yêu cầu cấp cao của bạn, được diễn đạt lại.
- Vai trò: ai làm việc. Mỗi vai trò hoặc là một agent sẵn có do bạn chọn, hoặc là một nhân sự mới mà điều phối tuyển và tạo ra khi bạn phê duyệt.
- Phiếu con: công việc, được chia thành một DAG gồm các phiếu.
- Nghiên cứu (tùy chọn): một giai đoạn nghiên cứu chạy trước và nuôi phần còn lại.
- Thảo luận (tùy chọn): một vòng có giới hạn, trong đó mỗi vai trò đăng một quan điểm có cấu trúc trước khi công việc bắt đầu.
- Tổng hợp: bước cuối cùng tạo ra sản phẩm bàn giao.
- Ngân sách: một trần chi phí đã khai báo.
Nơi bạn xem xét nó
Phần tiêu đề “Nơi bạn xem xét nó”Hai bề mặt hiển thị cùng một điều phối.
Thẻ đề xuất nằm trong cuộc hội thoại đã tạo ra kế hoạch. Nó là một tin nhắn duy nhất được hiển thị lại suốt cả vòng đời — đề xuất, đang thực thi, hoàn tất — và mang trên nó các hành động phê duyệt và hủy.
Plan Studio là trình biên tập: một khung vẽ DAG, một trình kiểm tra nút, một
ngăn kéo bản sửa đổi và diff, cùng thanh phê duyệt mang ước tính. Nó mở ra như
một tab trình biên tập ngay từ thẻ đó. Cố ý không có mục “Plans” nào trong thanh
bên; /plans và /plans/:kind/:id chỉ tồn tại dưới dạng các liên kết sâu để
chia sẻ.
Phê duyệt là việc chỉ dành cho người vận hành. Không có công cụ MCP nào cho
việc đó: một agent có thể đề xuất (propose_orchestration), gửi một kế hoạch
(submit_plan), hoặc khởi tạo một playbook (run_playbook), nhưng chỉ con người
mới phê duyệt. Những bản sửa đổi do agent khởi tạo còn bị giới hạn tần suất bởi
thời gian chờ hai phút, nên một vòng lặp lập kế hoạch lại sẽ gộp lại thay vì làm
ngập bảng tin của bạn.
Điều bạn có thể thay đổi trước khi phê duyệt chính là những gì trình kiểm tra nút phơi ra: đổi tiêu đề hoặc viết lại một phiếu con, đổi vai trò sở hữu nó, nối lại các phụ thuộc của nó, sửa lược đồ đầu ra của nó, hoặc xóa hẳn nút đó. Các nút cấu trúc (nghiên cứu, thảo luận, tổng hợp) và những nút đã thực thi rồi là chỉ đọc. Bạn không thể ghim một vai trò vào một agent có tên cụ thể, và cũng không thể sửa ngân sách, từ trình biên tập.
Hai trình biên tập trên cùng một kế hoạch được giải quyết bằng kiểm soát đồng
thời lạc quan, chứ không phải hợp nhất. Mỗi chỉnh sửa mang theo base_revision
mà nó được thực hiện dựa trên; một chỉnh sửa dựa trên bản sửa đổi cũ bị từ chối
với thông báo “the plan moved on” thay vì âm thầm đè lên bản của người khác. Tua
lại cũng không phải là xóa — nó thêm đề xuất cũ hơn thành một bản sửa đổi mới,
nên dòng thời gian bản sửa đổi chỉ có dài thêm.
Ước tính trung thực, hoặc không có gì
Phần tiêu đề “Ước tính trung thực, hoặc không có gì”Ước tính trên thanh phê duyệt được dựng từ lịch sử các lượt chạy đã hoàn tất thật sự của từng vai trò, dưới dạng một dải tứ phân vị (p25–p75). Tổng chi phí cộng các nút ước tính được; thời lượng là đường găng xuyên qua DAG chứ không phải phép cộng (các nhánh song song chồng lấn nhau).
Một nút mà vai trò của nó không có lịch sử lượt chạy đã hoàn tất sẽ báo
sampleSize: 0 và các khoảng null. Nó hiển thị đúng như vậy — chưa rõ — chứ
không bao giờ là một giá trị điểm được bịa ra, bởi một ước tính bạn không thể tin
được thì tệ hơn là không có ước tính nào. Khi một số nút có lịch sử còn một số
không, tổng được đánh dấu là một phần. Phạm vi ảnh hưởng chỉ xuất hiện khi một
nút khai báo các tham chiếu xuất xứ symbol hoặc file; một nút không có chúng
thì vẫn là “chưa rõ” thay vì suy diễn từ văn xuôi.
Một lần phê duyệt, rồi thực thi tất định
Phần tiêu đề “Một lần phê duyệt, rồi thực thi tất định”Đây là ý tưởng cốt lõi: agent lập kế hoạch; một hàm tất định thực thi. Khi
bạn phê duyệt, OrchestrationMaterializer, một hàm thuần không có LLM và không
có I/O, chuyển đề xuất thành một quy trình
thật. Với cùng một đề xuất và cùng các vai trò đã phân giải, nó luôn tạo ra cùng
một DAG. Điều đó quan trọng vì quy trình được sinh ra thừa hưởng miễn phí mọi
thứ mà engine đã làm sẵn: tạm dừng và chạy tiếp qua các lần khởi động lại, khôi
phục sau sự cố, việc tổng hợp chi phí và token theo từng lượt chạy, và giao diện
chi tiết lượt chạy.
Việc phê duyệt cũng tạo ra bộ khung mà công việc cần:
- tuyển mọi vai trò được đánh dấu là mới (và ghi lại id của các agent đã tuyển để nếu có sự cố giữa chừng khi phê duyệt thì có thể chạy tiếp mà không tuyển trùng)
- một đội nhóm các vai trò lại
- một dự án để xếp phiếu cha vào
- mẫu quy trình + lần chạy điều khiển tất cả
Vòng đời
Phần tiêu đề “Vòng đời”proposed → approved → executing → synthesizing → completed ↘ ↘ failed ↘ ↘ cancelled| Trạng thái | Ý nghĩa |
|---|---|
proposed |
Kế hoạch đã sẵn sàng và đang chờ lần phê duyệt trước duy nhất của bạn |
approved |
Bạn đã phê duyệt; quá trình hiện thực hóa đang diễn ra (tuyển người, đội, dự án, quy trình) |
executing |
Quy trình đã sinh đang chạy: các phiếu con, thảo luận, công việc |
synthesizing |
Các phiếu con đã xong; bước tổng hợp đang tạo ra sản phẩm bàn giao |
completed |
Xong: phiếu cha được đánh dấu hoàn tất và sản phẩm bàn giao được đăng trong space dùng chung |
failed |
Việc hiện thực hóa thất bại, hoặc lần chạy quy trình đã sinh thất bại |
cancelled |
Bạn đã hủy nó |
Một số bản sửa đổi đơn điệu chỉ tăng theo dõi đề xuất khi agent điều phối
sửa nó trong lúc nó vẫn còn proposed; ứng dụng ghi lại bản sửa đổi mà bạn đã
phê duyệt. propose_orchestration từ chối một bản sửa đổi khi trạng thái không
còn là proposed.
Một điều phối luôn mở ra gắn với một phiếu cha và dùng chung một space thảo luận, nên toàn bộ công sức đều truy vết được về một mục công việc duy nhất và cả đội trao đổi trong cùng một phòng.
Điều gì xảy ra khi nó kết thúc
Phần tiêu đề “Điều gì xảy ra khi nó kết thúc”Một trình lắng nghe được giữ hoạt động liên tục sẽ theo dõi quy trình đã sinh và ánh xạ trạng thái cuối của nó trở lại điều phối cùng phiếu cha, nên việc hoàn tất và thất bại hiện ra ở đúng những nơi bạn vẫn theo dõi. Tính năng điều phối không cần engine thực thi riêng của nó.
Bạn có thể hủy một điều phối bất cứ lúc nào; việc hủy sẽ dọn dẹp công việc đang chạy dở.
Xem thêm
Phần tiêu đề “Xem thêm”- Quy trình và tự động hóa: engine mà một điều phối đã hiện thực hóa chạy trên đó
- Phiếu và ủy thác: phiếu cha mà một điều phối neo vào
- Mô hình agent: những vai trò mà một điều phối lấp đầy hoặc tuyển
- Chạy một điều phối
- Làm việc trong Plan Studio