Bên trong Harness
Mô hình thô nhận văn bản đầu vào và tạo văn bản đầu ra. Nó không thể truy cập tệp, gọi API, duy trì trạng thái hay thực thi mã. Harness cung cấp tất cả các khả năng này — đó là khung scaffolding giúp trí thông minh mô hình trở nên hữu ích.
Prompt Hệ thống
Xác định vai trò, khả năng và các ràng buộc hành vi của agent.
Prompt hệ thống là lớp kiểm soát đầu tiên của harness — nó định hình cách mô hình diễn giải mỗi yêu cầu người dùng và chiến lược nào được áp dụng.
Công cụ & Kỹ năng
API, cơ sở dữ liệu, tìm kiếm web, hệ thống tệp, thực thi mã — bất cứ thứ gì agent có thể sử dụng.
Công cụ được đăng ký với mô tả để mô hình biết những gì khả dụng. Kỹ năng nhóm các công cụ liên quan và hướng dẫn để hiển thị dần dần.
Logic Điều phối
Vòng lặp agent, tạo subagent, định tuyến mô hình và phân tích tác vụ.
Harness chạy vòng lặp ReAct — lýsu, hànhđộng, quansát, lặp lại. Nó quản lý khi nào tạo subagent, mô hình nào để định tuyến, và khi nào dừng.
Bộ nhớ & Trạng thái
Lịch sử trò chuyện, tệp ngữ cảnh và kiến thức lưu trữ qua các phiên.
Hệ thống tệp là primitive bộ nhớ cơ bản. Các tệp như AGENTS.md cho phép agent lưu trữ và truy xuất kiến thức bền vững qua các phiên.
Sandbox
Môi trường thực thi cô lập để chạy mã do agent tạo một cách an toàn.
Sandbox cung cấp cho agent không gian làm việc an toàn để chạy mã, cài đặt phụ thuộc và kiểm tra kết quả mà không gây rủi ro cho môi trường chủ.
Middleware & Hook
Logic xác định kích hoạt trước/sau khi gọi mô hình và thực thi công cụ.
Middleware xử lý nén, thử lại, bảo vệ, phê duyệt con người trong vòng lặp, và kiểm soát chi phí — bất cứ thứ gì cần chạy tại thời điểm cụ thể trong vòng lặp.
Vòng lặp Agent
# Harness chạy vòng lặp agent
def run_agent(model, tools, user_message):
messages = [system_prompt, user_message]
while True:
# 1. Harness cung cấp ngữ cảnh cho mô hình
response = model.generate(messages, tools=tools)
if response.tool_calls:
# 2. Harness thực thi gọi công cụ
for call in response.tool_calls:
result = execute_tool(call)
messages.append(result)
else:
# 3. Mô hình hoàn thành — trả về câu trả lời
return response.text
Mô hình quyết định làm gì. Harness quyết định làm như thế nào. Sự tách biệt này khiến agent linh hoạt, có thể kiểm tra và thay thế được.
— Vivek Trivedy, "The Anatomy of an Agent Harness" (LangChain, 2026)
Middleware: Cách bạn định hình Harness
Middleware gắn vào vòng lặp agent tại mỗi bước — trước và sau khi gọi mô hình, trước và sau khi gọi công cụ, khi khởi động và phá dỡ. Mỗi phần xử lý một mối quan tâm và kết hợp tự do với bất kỳ phần nào khác. Đây là cách bạn điều chỉnh harness cho tác vụ cụ thể của mình.
Quản lý Ngữ cảnh
Ngăn tràn ngữ cảnh và giữ mô hình tập trung vào điều quan trọng.
- Middleware tóm tắt nén các cuộc trò chuyện dài
- Chỉnh sửa ngữ cảnh loại bỏ tin nhắn gây nhiễu hoặc không liên quan
- Tải đầu ra công cụ giữ kết quả lớn ngoài ngữ cảnh
Bộ nhớ & Học tập
Tải kiến thức khi khởi động, lưu trữ bài học khi kết thúc chạy.
- Tệp AGENTS.md được chèn vào ngữ cảnh khi bắt đầu
- Kỹ năng được tải dần dần khi cần
- Middleware hệ thống tệp cho trạng thái bền vững
An toàn & Bảo vệ
Áp dụng chính sách phải kích hoạt trên mọi lệnh gọi bất kể hành vi mô hình.
- Phát hiện và xóa PII
- Cổng phê duyệt con người trong vòng lặp
- Bộ lọc nội dung đầu ra và giới hạn hành động
Kiểm soát Chi phí
Ngăn chi phí token tích lũy ngoài kiểm soát.
- Giới hạn gọi mô hình mỗi tác vụ
- Giới hạn tốc độ gọi công cụ
- Bộ nhớ đệm prompt cho tác vụ chạy lâu
Khôi phục Lỗi
Xử lý lỗi tạm thời bằng logic thử lại và dự phòng.
- Thử lại công cụ với exponential backoff
- Dự phòng mô hình khi mô hình chính không khả dụng
- Xử lý lỗi luồng
Khả quan sát
Xem chính xác agent đang làm gì tại mỗi bước.
- Ghi log truy vết cho mọi gọi mô hình và triệu tập công cụ
- Bộ xử lý luồng định tuyến sự kiện đến các consumer khác nhau
- Theo dõi trạng thái tùy chỉnh qua các hook middleware
from langchain import create_agent
from langchain.middleware import (
SummarizationMiddleware,
HumanInTheLoopMiddleware,
ToolRetryMiddleware,
)
agent = create_agent(
model="anthropic:claude-sonnet-4-6",
tools=tools,
middleware=[
SummarizationMiddleware(),
HumanInTheLoopMiddleware(approval_tools=["send_email"]),
ToolRetryMiddleware(max_retries=3),
],
)
Middleware nhóm logic liên quan thành các đơn vị có thể kết hợp và chia sẻ. Cùng một middleware có thể được tái sử dụng qua mọi agent trong tổ chức — agent mới kế thừa hành vi đã được kiểm nghiệm mà không cần xây dựng lại.
— Sydney Runkle, "How to Build a Custom Agent Harness" (LangChain, 2026)
Hướng dẫn vs. Cảm biến
Một harness được xây dựng tốt phục vụ hai mục tiêu: nó tăng xác suất agent đúng ngay lần đầu (hướng dẫn), và cung cấp vòng lặp phản hồi tự sửa lỗi trước khi đến mắt người (cảm biến).
Định hướng agent trước khi hành động. Hướng dẫn tăng xác suất có kết quả tốt trong lần thử đầu tiên.
Quan sát sau khi agent hành động và giúp nó tự sửa lỗi. Đặc biệt mạnh mẽ khi được tối ưu cho tiêu thụ LLM.
Riêng biệt, bạn sẽ có agent liên tục lặp lại lỗi (chỉ có feedback) hoặc agent mã hóa quy tắc nhưng không bao giờ biết chúng có hiệu quả không (chỉ có feedforward). Bạn cần cả hai.
— Birgitta Böckeler, "Harness Engineering" (Martin Fowler, 2026)
Tại sao Harness Engineering?
Phù hợp Tác vụ-Harness
Harness cho agent dịch vụ khách hàng trông rất khác so với harness xây dựng cho agent mã hóa chạy lâu. Các agent tốt nhất không chỉ được xây dựng với mô hình có khả năng — chúng được xây dựng với harness phù hợp chặt chẽ với tác vụ.
Độc lập Mô hình
Vì harness tách riêng với mô hình, bạn có thể hoán đổi giữa GPT-5, Claude, Gemini hoặc mô hình mã nguồn mở mà không cần viết lại logic agent. Harness trừu tượng hóa lớp mô hình.
Khả năng Kết hợp
Middleware, công cụ và kỹ năng kết hợp tự do. Mỗi phần xử lý một mối quan tâm. Cùng một middleware bộ nhớ hoạt động qua mọi agent. Khả năng mới chỉ cách một middleware.
Khả quan sát & Ủng hộ
Mỗi quyết định có thể truy vết. Xem mô hình đã lý suy gì, công cụ nào nó gọi, dữ liệu nào nó truy cập và tại sao. Cần thiết cho gỡ lỗi, tuân thủ và xây dựng ủng hộ cho hệ thống tự động.
Câu hỏi Frequently Asked
Sự khác biệt giữa mô hình và harness là gì?
Mô hình là AI — mô hình ngôn ngữ lý suy, lập kế hoạch và tạo văn bản. Harness là mọi thứ khác — prompt hệ thống, công cụ, bộ nhớ, sandbox, logic điều phối và middleware bọc quanh mô hình. Một mình mô hình chỉ có thể tạo văn bản. Harness biến nó thành agent có thể hành động trong thế giới thực.
Tại sao không chỉ đặt mọi thứ trong prompt hệ thống?
Prompt hệ thống là văn bản tĩnh. Chúng không thể thực thi mã, gọi API, quản lý trạng thái hay áp dụng chính sách động. Harness cung cấp khả năng thời gian chạy — nó có thể thực thi gọi công cụ, quản lý tràn ngữ cảnh, thử lại các thao tác thất bại và áp dụng bảo vệ bất kể mô hình cố gắng làm gì. Một số thứ không thể và không nên sống trong prompt.
Middleware trong agent harness là gì?
Middleware là lớp tùy chỉnh gắn vào vòng lặp agent tại các điểm cụ thể — trước và sau khi gọi mô hình, trước và sau khi thực thi công cụ, khi khởi động và phá dỡ. Mỗi phần middleware xử lý một mối quan tâm (nén, thử lại, bảo vệ, ghi log) và kết hợp với các phần khác. Đó là cách bạn điều chỉnh harness_generic cho tác vụ cụ thể.
Tôi có thể sử dụng cùng harness với các mô hình khác nhau không?
Có. Harness và mô hình là các lớp riêng biệt. Bạn có thể hoán đổi từ GPT-5 sang Claude sang mô hình mã nguồn mở mà không thay đổi công cụ, bộ nhớ, middleware hoặc logic điều phối. Sự độc lập mô hình này là nguyên tắc thiết kế cốt lõi của mô hình harness.
Hướng dẫn và cảm biến trong harness engineering là gì?
Hướng dẫn là các điều khiển feedforward định hướng agent trước khi hành động — prompt hệ thống, quy ước mã hóa, tài liệu kiến trúc và kỹ năng. Cảm biến là các điều khiển feedback quan sát sau khi agent hành động và giúp nó tự sửa lỗi — linter, bộ kiểm thử, agent review mã và kiểm thử đột biến. Một harness tốt cần cả hai để ngăn lỗi và phát hiện chúng khi chúng xảy ra.
Phù hợp tác vụ-harness là gì?
Phù hợp tác vụ-harness là mức độ harness phù hợp với yêu cầu thực tế của tác vụ — ngữ cảnh cần thiết, lỗi sẽ gặp, chính sách phải áp dụng và môi trường vận hành. Agent mã hóa cần quyền truy cập hệ thống tệp, sandbox và bộ chạy kiểm thử. Agent dịch vụ khách hàng cần bộ nhớ, quy trình phê duyệt và tích hợp CRM. Các agent tốt nhất được xây dựng với harness phù hợp chặt chẽ với sứ mệnh của chúng.
Sẵn sàng Xây dựng với Harness?
Tạo agent AI với harness tùy chỉnh phù hợp với doanh nghiệp của bạn. Kết nối công cụ, cấu hình middleware và để agent xử lý phần còn lại.