Code as Agent Harness — khảo sát 102 trang xem code là nền tảng thực thi của agent
(code-as-harness.github.io)Dự án hợp tác giữa UIUC × Meta × Stanford. Đây là bài báo khảo sát được đăng trên arXiv vào tháng 5, và góc nhìn của nó khá thú vị.
Luận điểm cốt lõi
"Code không còn là đầu ra do LLM tạo ra nữa. Nó là operational substrate (nền tảng thực thi) để agent suy luận, hành động, lưu trạng thái và kiểm chứng phản hồi."
Nói cách khác, code không chỉ là một file .py, mà là chính thế giới nơi agent tồn tại. Cách nhìn này được gọi là code as agent harness.
Cấu trúc 3 tầng
Bài báo phân tích hệ thống agent bằng cách chia thành 3 lớp:
① Harness Interface — cách code kết nối agent với môi trường
- Giống như Program-of-Thoughts, đưa quá trình suy luận ra ngoài thành code để thực thi/kiểm chứng
- Trong điều khiển GUI/robot, chương trình được tạo ra hoạt động như policy
- Codebase, trace và simulator biểu diễn chính môi trường
② Harness Mechanisms — hệ thống điều khiển giúp duy trì vận hành dài hạn
- Planning: đang tiến hóa vượt qua decomposition đơn giản để trở thành lập kế hoạch liên tục dựa trên filesystem như các file kiểu
PLAN.md. Meta-Harness xem chính thiết kế harness là một search space - Memory: được phân tích thành working/semantic/experiential/long-term/multi-agent + context compaction. Điểm cốt lõi là: "memory không phải một vector DB đơn lẻ mà là một lớp quản lý trạng thái tích hợp"
- PEV Loop: chu trình Plan → Execute → Verify được định nghĩa lại thành cybernetic governor. Thực thi dùng mô hình phân quyền 3 bước: read-only → sandbox-edit → full-access(HITL)
- AHE: lớp meta để đo lường và tối ưu chính harness
③ Scaling the Harness — cách nhiều agent cộng tác trên code như một môi trường chia sẻ
- Một phát hiện thú vị: "Độ phức tạp topo là thứ thuế do biểu diễn trạng thái chia sẻ chưa trưởng thành tạo ra" — hệ thống thiết kế trạng thái tốt vẫn chạy tốt với cấu trúc đơn giản, còn hệ thống phụ thuộc vào trạng thái ngầm thì bù đắp thiếu sót đó bằng topo phức tạp
Những điểm đáng chú ý
- Context Compaction + State Offloading: đừng nhét hết mọi thứ vào context window; chỉ giữ phần tóm tắt cần cho quyết định trong active context, còn toàn bộ dữ liệu thì offload bằng giao thức kiểu MCP — đúng kiểu mẹo rất thực chiến
- Xem xác minh như cảm biến mang tính quyết định: phản hồi xác định từ linter, type checker, test, fuzzer đáng tin hơn tín hiệu điều khiển từ LLM critique
- Nguyên nhân thất bại nằm ở harness chứ không phải mô hình: "phần lớn thất bại của agent đến từ ngữ cảnh kho lưu trữ không đầy đủ, giao diện công cụ mong manh, bộ xác minh yếu, chi phí token quá cao và chính sách retry sai"
Open Problems
Trong 7 vấn đề mở mà bài báo để lại:
- Đánh giá ngoài thành công cuối cùng: trace trung gian, nỗ lực phục hồi và kiểm tra an toàn cũng nên là chỉ số hạng nhất
- Cải thiện harness mà không gây hồi quy: cách học từ thất bại mà không làm hỏng hành vi hiện có
- Trạng thái chia sẻ có tính giao dịch giữa nhiều agent: giải quyết xung đột khi nhiều agent đồng thời sửa code
Tham khảo
- Bài báo: https://arxiv.org/abs/2605.18747
- Trang tóm tắt gọn gàng: https://code-as-harness.github.io/code-as-harness-webpage/
- Bộ sưu tập bài liên quan: https://github.com/YennNing/Awesome-Code-as-Agent-Harness-Papers
Chưa có bình luận nào.