DeepSeek tách kiến trúc Agent thành hai lớp Router và Worker

Tối 31/10, nhóm DeepSeek Harness đăng bài viết dài “Khám phá thiết kế Super-agent: hướng tới hệ thống Agent tự chủ hơn”, đề xuất một kiến trúc Agent hai lớp và công khai nguyên mẫu dsh-superagent-prototype trên GitHub. Trong bài, nhóm ghi rõ nguyên mẫu này dùng để kiểm chứng hướng kỹ thuật, không phải sản phẩm chính thức của DeepSeek.

Điểm xuất phát của bài viết là một quan sát khá giản dị: để mô hình tự hoàn thành một tác vụ, lượng can thiệp thủ công cần đến ngày càng ít, và thứ làm nghẽn năng suất đã chuyển thành sự chú ý của con người. Theo nhóm, một người thường chỉ theo dõi được 3 đến 5 Session đang hoạt động cùng lúc; tác vụ nhiều lên là phải chuyển qua lại bằng tay và tự nhớ ngữ cảnh.

Session nên là chi tiết triển khai của hệ thống, không phải gánh nặng nhận thức của người dùng.

Illustration: a central hub routes tasks to isolated workstations, depicting DeepSeek's AI Agent architecture

Router lo hội thoại, Worker lo làm việc

Kiến trúc chia làm hai lớp. Lớp Router chạy thường trực, nhận tin nhắn của con người, duy trì ngữ cảnh toàn cục và phân công tác vụ; lớp này không mang công cụ thực thi như Bash nên có thể do một mô hình nhẹ vận hành. Lớp Worker gồm nhiều phiên có ngữ cảnh cách ly nhau, được gắn đầy đủ công cụ và dùng mô hình mạnh nhất, mỗi phiên tập trung vào một việc và chạy song song. Worker không trả lời trực tiếp cho người dùng; trạng thái và kết quả đều báo về Router trước, rồi Router thống nhất phát ngôn ra bên ngoài.

Mấy phần thiết kế còn lại xoay quanh ý tưởng “để Agent luôn trực tuyến”:

  • Hướng sự kiện: tin nhắn nhóm chat, email, nhắc lịch, bình luận review mã, kết quả CI đều được coi là Trigger. Phần lớn nhiễu được lọc trước bằng quy tắc chương trình, phần còn lại mới giao cho mô hình quyết định có hành động hay không. Với những Thread đã được phân công, sự kiện về sau do chương trình chuyển thẳng cho Worker tương ứng, không đi qua Router nữa.
  • ReAct Loop bất đồng bộ: lệnh gọi công cụ tốn thời gian được tách thành start() và stop(). Tác vụ nền vừa khởi động là trả về Started ngay, phía trước tiếp tục nghe người dùng nói, còn kết quả quay lại phiên dưới dạng sự kiện mới.
  • Tách biệt tính toán, trạng thái và môi trường: Agent Loop và trạng thái nằm trên đám mây, môi trường thực thi có thể ở lại máy của người dùng, chỉ chạy một daemon nhẹ, hỗ trợ tự mang máy (BYOM).
  • Watchdog: một phiên độc lập định kỳ thức dậy, ngoài việc xem tiến trình còn sống hay không, còn để mô hình đánh giá từng Worker có tiến triển thực chất không và có đi lệch hướng không.

Bài viết cũng nêu ví dụ về “thực thi suy đoán”: trong nhóm có người báo một lỗi, Agent thử tái hiện và sửa ngay ở nền, sửa xong mới lên tiếng, không sửa được thì không làm phiền ai.

Số liệu chỉ đến từ tải tổng hợp

Nhóm chạy một bộ thử nghiệm đối chứng: mỗi vòng khoảng 300 tin nhắn, trong đó khoảng 20 tin là yêu cầu công việc, số còn lại là tán gẫu và nhiễu; mỗi phương án lặp lại 5 lần. Thời gian hoàn thành tác vụ của Super-agent có p50 là 12,4 phút, p95 là 15,7 phút; nhóm đối chứng “một Session cộng Subagent” với gợi ý trung tính có p95 là 29,5 phút. Khi bỏ cơ chế chuyển thẳng sự kiện, số lần ra quyết định của Router tăng thêm khoảng 30%, còn token đọc từ bộ đệm tăng thêm khoảng 37%.

Trong bài kiểm tra áp lực Router, Trigger được tăng từ khoảng 1 lên khoảng 40 mỗi phút, kích thước lô xử lý trung bình tăng từ 1,0 lên 2,8, thời gian mỗi yêu cầu tăng từ 2,5 giây lên 3,9 giây, trong khi thời gian suy luận phân bổ cho mỗi quyết định lại giảm từ 6,4 giây xuống 1,6 giây.

Các giới hạn cũng được ghi rất thẳng: thử nghiệm dùng tải tổng hợp và môi trường đơn giản hóa, chỉ đo việc điều phối và phối hợp, không đo từng tác vụ riêng lẻ được làm tốt đến đâu; chi phí token của Super-agent cao hơn phương án một phiên, nhưng tổng lượng không được công bố. Nguyên mẫu mã nguồn mở hiện chỉ hướng tới một kho GitHub duy nhất; các phần liên thiết bị, chạy thường trực trên đám mây và Watchdog đều chưa được triển khai đầy đủ.

Từ dsh đến Super-agent

Xâu lại dòng thời gian, ở mảng Agent, DeepSeek đi theo thứ tự phát hành khung làm việc trước, rồi mới đến ý tưởng điều phối. Khoảng tháng 8 năm nay, hãng mở mã nguồn khung Agent DeepSeek Harness (tên dòng lệnh là dsh) theo giấy phép MIT, trong đó hệ thống tệp, Shell, bộ chuyển đổi mô hình, giao diện Web và subagent đều được làm thành plugin có thể thay thế; vài tháng sau, các mô hình như V4.1 Flash lần lượt lên sóng, và các công cụ lập trình của bên thứ ba cũng bắt đầu dùng nó làm mô hình chính.

Bài viết lần này nâng lên một tầng nữa, bàn về câu hỏi “một thực thể Agent làm sao theo dõi hàng chục việc cùng lúc”. Nhóm cho biết cơ chế tác vụ bất đồng bộ nêu trong bài đã được đưa vào DeepSeek Harness, chỉ là mặc định không bật; các thực thể nội bộ dựa trên cùng ý tưởng vẫn chạy liên tục, dùng để tái hiện và sửa lỗi, phản hồi review mã, đồng thời để lặp lại cải tiến chính Harness.

Những vấn đề còn bỏ ngỏ mà nhóm liệt kê gồm: lớp Router mở rộng thế nào theo khối lượng tác vụ, bộ nhớ dài hạn kéo dài qua nhiều tháng, và giao tiếp giữa nhiều thực thể Agent. Mục an toàn được viết cụ thể nhất: nếu Agent Loop trên đám mây bị tiêm lời nhắc (prompt injection), thiết bị cục bộ đã kết nối có thể bị điều khiển, còn thông tin xác thực đưa vào ngữ cảnh mô hình cũng có thể bị lộ trong quá trình thực thi bình thường. Cách phòng ngừa các rủi ro này, bài viết chưa đưa ra phương án đầy đủ.

Nguồn tham khảo: bài kỹ thuật dài của nhóm DeepSeek Harness và phần mô tả kho dsh-superagent-prototype, ITHome, CocoLoop, Ifeng Tech; số liệu thời gian thử nghiệm và kiểm tra áp lực lấy theo kết quả tải tổng hợp do nhóm công bố.