Giải phẫu một Agent Harness
Bạn đã xây dựng một chatbot. Bạn thêm vào một vài công cụ và một vòng lặp đơn giản. Nó hoạt động tốt cho bản demo. Nhưng khi bạn cố gắng đưa vào vận hành thực tế (production), mọi thứ bắt đầu đổ vỡ.
Mô hình quên mất các bước trước đó. Các lệnh gọi công cụ (tool calls) thất bại mà không có cảnh báo. Cửa sổ ngữ cảnh (context window) bị lấp đầy bởi những dữ liệu vô ích.
Vấn đề không nằm ở mô hình của bạn. Vấn đề nằm ở cơ sở hạ tầng xung quanh nó.
Cơ sở hạ tầng này được gọi là agent harness.
Agent là hành vi. Harness là bộ máy vận hành. Nếu bạn không phải là mô hình, bạn chính là harness.
Hãy coi một LLM thô giống như một CPU. Nó không có RAM, không có ổ đĩa và không có I/O. Harness chính là hệ điều hành. Nó cung cấp bộ nhớ, các công cụ và logic để làm cho mô hình trở nên hữu dụng.
Một harness đạt chuẩn production có mười hai thành phần cốt lõi:
• Orchestration Loop: Đây là nhịp đập. Nó quản lý chu trình Suy nghĩ-Hành động-Quan sát (Thought-Action-Observation). • Tool Layer: Đây là đôi tay. Harness xử lý việc đăng ký, xác thực và thực thi công cụ. • Memory: Bao gồm lịch sử ngắn hạn và khả năng lưu trữ dài hạn qua các phiên làm việc. • Context Management: Ngăn chặn tình trạng "thoái hóa ngữ cảnh" (context rot) bằng cách nén hoặc tóm tắt dữ liệu. • Prompt Assembly: Xây dựng đầu vào chính xác mà mô hình nhìn thấy ở mỗi bước. • Output Classification: Quyết định xem mô hình muốn trò chuyện hay sử dụng một công cụ. • State Management: Cho phép agent tiếp tục công việc sau khi gặp lỗi hoặc bị gián đoạn. • Error Handling: Xử lý các thất bại để lỗi không bị cộng dồn. • Guardrails: Đóng vai trò như các dây bẫy để ngăn chặn các hành động không an toàn hoặc sai sót. • Permission Enforcement: Phân tách giữa những gì mô hình muốn làm và những gì nó được phép làm. • Verification Loops: Cho phép mô hình tự kiểm tra công việc của chính mình để cải thiện chất lượng. • Agent Handoffs: Quản lý cách một agent chuyển giao công việc cho một agent khác.
Mục tiêu của kỹ thuật tốt là giữ cho harness càng mỏng càng tốt. Khi các mô hình trở nên thông minh hơn, bạn sẽ cần ít khung đỡ (scaffolding) hơn.
Khi agent của bạn thất bại, đừng đổ lỗi cho mô hình. Hãy xem lại harness của bạn.
Nguồn: https://dev.to/aniruddhaadak/the-anatomy-of-an-agent-harness-1n1j
Cộng đồng học tập tùy chọn: https://t.me/GyaanSetuAi
