Cấu trúc Harness

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.

📋
01

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.

🔧
02

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.

🔄
03

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.

🧠
04

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.

📦
05

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ủ.

06

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.

Cách hoạt động

Vòng lặp Agent

Về cốt lõi, agent là mô hình gọi công cụ trong vòng lặp cho đến khi tác vụ hoàn thành. Harness quản lý vòng lặp này — cung cấp ngữ cảnh tại mỗi bước, thực thi gọi công cụ, xử lý lỗi và áp dụng ràng buộc.
agent-loop.py
# 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)

💬
Người dùng gửi yêu cầu
Harness chèn prompt hệ thống, lịch sử trò chuyện và bộ nhớ liên quan vào cửa sổ ngữ cảnh của mô hình.
🧠
Mô hình lý suy và quyết định
LLM diễn giải yêu cầu, lập kế hoạch tiếp cận và quyết định liệu nó cần sử dụng công cụ hay có thể trả lời trực tiếp.
🔧
Harness thực thi gọi công cụ
Khi mô hình yêu cầu công cụ, harness định tuyến cuộc gọi đến API, sandbox hoặc hàm phù hợp và trả lại kết quả.
👁️
Mô hình quan sát kết quả
Đầu ra công cụ được chèn lại vào ngữ cảnh. Mô hình đánh giá liệu nó cần thêm hành động hay có thể tạo câu trả lời cuối cùng.
🔁
Vòng lặp tiếp tục cho đến khi hoàn thành
Harness quản lý vòng lặp — áp dụng giới hạn lặp lại, chạy middleware giữa các bước và xử lý tràn ngữ cảnh bằng cách nén.
Câu trả lời cuối cùng được trả về
Harness áp dụng bộ lọc đầu ra, ghi lại tương tác và giao kết quả cho người dùng.
Lớp Tùy chỉnh

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
middleware.py
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)

Feedforward & Feedback

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).

Hướng dẫn (Feedforward)

Đị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.

Suy luận
AGENTS.md
Quy ước mã hóa, cấu trúc dự án và quy tắc hành vi được chèn vào ngữ cảnh.
Suy luận
Kỹ năng
Nhóm hướng dẫn có thể tái sử dụng được tải dần dần khi agent xử lý các tác vụ khác nhau.
Tính toán
Tích hợp LSP
Máy ngôn ngữ cung cấp kiểm tra kiểu, nhảy đến định nghĩa và phân tích cấu trúc như hướng dẫn.
Tính toán
Tài liệu Kiến trúc
Ranh giới mô-đun, quy tắc phụ thuộc và hàm phù hợp định hình quyết định agent.
Cảm biến (Feedback)

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.

Tính toán
Linter & Kiểm tra kiểu
Kiểm tra nhanh, xác định phát hiện vi phạm phong lỗi, lỗi kiểu và trôi dạt cấu trúc.
Tính toán
Bộ kiểm thử
Kiểm thử đơn vị và tích hợp xác nhận đúng đắn và phát hiện hồi quy.
Suy luận
Agent Review mã
Review bằng AI phát hiện vấn đề ngữ nghĩa — kỹ thuật quá mức, mã thừa, sửa chữa thô bạo.
Tính toán
Kiểm thử đột biến
Xác nhận chất lượng kiểm thử bằng cách giới thiệu đột biến và kiểm tra xem kiểm thử có phát hiện chúng không.

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 Điều này Quan trọng

Tại sao Harness Engineering?

🎯
01

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ụ.

🔄
02

Độ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.

🧩
03

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.

🔍
04

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 Thường gặp

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.