Harness Engineering: Xây dựng Hệ thống Xung quanh Các AI Agent (2026)
Harness engineering là cách các đội ngũ hàng đầu giúp AI coding agent trở nên đáng tin cậy. Tìm hiểu công thức Agent = Model + Harness, các thành phần cốt lõi và kết quả thực tế từ OpenAI, Stripe và Anthropic.
TL;DR
| Khái niệm | Tóm tắt |
|---|---|
| Công thức | Agent = Model + Harness |
| Harness là gì? | Mọi thứ xung quanh AI model: ngữ cảnh, ràng buộc, công cụ, vòng lặp xác minh |
| Thông tin chính | LangChain đã cải thiện độ chính xác của agent từ 52.8% → 66.5% chỉ bằng cách thay đổi harness, không thay đổi model |
| Ai đang sử dụng | OpenAI (Codex), Stripe (hơn 1.000 PR/tuần), Anthropic, Vercel |
| Thành phần cốt lõi | Context engineering, ràng buộc kiến trúc, công cụ/MCP, sub-agents, hooks, tự xác minh |
Harness Engineering Là Gì?
Harness engineering là một kỷ luật xây dựng các hệ thống, công cụ, ràng buộc và vòng lặp phản hồi xung quanh các AI coding agent để giúp chúng hoạt động đáng tin cậy và hiệu quả.
Thuật ngữ này được đặt ra bởi Mitchell Hashimoto (đồng sáng lập HashiCorp) và nhận được sự chú ý rộng rãi khi OpenAI công bố bài viết về Codex của họ về chủ đề này vào đầu năm 2026.
Ý tưởng cốt lõi rất đơn giản:
Agent = Model + Harness
Model cung cấp trí thông minh. Harness giúp trí thông minh đó trở nên hữu ích. Một harness tốt hơn thường quan trọng hơn một model tốt hơn.
Tại Sao Nó Quan Trọng Vào Lúc Này
Vào năm 2025, mọi đội ngũ đều đã áp dụng AI coding agent. Vào năm 2026, các đội ngũ chiến thắng là những người đã thiết kế môi trường agent (engineered their agent environments) — chứ không chỉ đơn thuần là chọn model tốt nhất.
Nguyên tắc dẫn dắt của Mitchell Hashimoto:
"Bất cứ khi nào bạn thấy một agent mắc lỗi, hãy dành thời gian để thiết kế một giải pháp kỹ thuật sao cho agent đó không bao giờ mắc lại lỗi đó nữa."
Đây không phải là prompt engineering. Đây là kỹ thuật hệ thống (systems engineering) dành cho AI.
Bằng Chứng: Harness > Model
LangChain đã thực hiện một thử nghiệm có kiểm soát trên Terminal Bench 2.0. Mà không cần thay đổi model nền tảng, họ đã cải thiện độ chính xác của coding agent từ 52.8% lên 66.5% — cải thiện 26% — chỉ bằng cách cải thiện harness.
Các thay đổi bao gồm:
- Các file ngữ cảnh tốt hơn (AGENTS.md)
- Các ràng buộc đầu ra có cấu trúc (structured output constraints)
- Các vòng lặp tự xác minh (self-verification loops)
- Tối ưu hóa công cụ
Điều này xác nhận những gì những người thực hành đã và đang nói: giới hạn không nằm ở model. Nó nằm ở những gì bạn bao bọc xung quanh nó.
7 Thành Phần Của Một Harness
1. Context Engineering
Context engineering là nền tảng. Đây là nơi bạn cung cấp cho agent một bản đồ về codebase, các quy ước và các ràng buộc của bạn.
Trong thực tế:- Các file
CLAUDE.md/AGENTS.mdtrong thư mục gốc của repo - Bản đồ thư mục và tổng quan về kiến trúc
- Các quy tắc về phong cách code (coding style) và quy ước đặt tên
# Ví dụ CLAUDE.md
## Kiến trúc
- src/app/ — Các trang của Next.js app router
- src/lib/ — Tiện ích dùng chung và API clients
- src/components/ — Các React components (styles nằm cùng vị trí)
## Quy tắc
- Sử dụng server components theo mặc định
- Không bao giờ import trực tiếp từ node_modules trong components
- Tất cả các lệnh gọi API phải thông qua src/lib/api.ts
2. Architectural Constraints (Ràng buộc Kiến trúc)
Thay vì hy vọng agent chọn đúng kiến trúc, hãy áp đặt nó.
- Kiến trúc phân lớp cứng nhắc được xác thực bởi linters
- Các bài kiểm tra cấu trúc sẽ thất bại nếu các pattern bị vi phạm
- Hạn chế import thông qua các quy tắc ESLint hoặc các script tùy chỉnh
3. Công cụ & MCP Servers
Agent cần công cụ để làm việc hiệu quả. Các harness tốt nhất cung cấp các công cụ nội bộ thông qua:
- CLI wrappers — ưu tiên các CLI phổ biến (git, docker, npm) hơn là các công cụ tùy chỉnh
- MCP (Model Context Protocol) servers — cho phép agent gọi các API nội bộ, database và các dịch vụ của bạn
- Truy cập hệ thống tệp — được giới hạn trong các thư mục cụ thể để ngăn chặn hư hỏng vô tình
git một cách hoàn hảo vì nó có dữ liệu đào tạo khổng lồ về nó. Một CLI tùy chỉnh không có tài liệu sẽ làm nó bối rối.
4. Sub-Agents & Tường lửa Ngữ cảnh
Các phiên làm việc của agent kéo dài sẽ tích lũy ngữ cảnh, cuối cùng làm giảm hiệu suất — điều này được gọi là sự suy giảm ngữ cảnh (context rot).
Giải pháp: sub-agents với tường lửa ngữ cảnh.
- Chia nhỏ các tác vụ phức tạp thành các tác vụ con riêng biệt
- Mỗi tác vụ con chạy trong phiên riêng với ngữ cảnh mới
- Chỉ truyền kết quả có cấu trúc giữa các agent, không truyền toàn bộ cuộc hội thoại thô
- Initializer Agent — lập kế hoạch công việc, tạo danh sách tính năng
- Coding Agent — thực hiện từng tính năng một cách cô lập
5. Hooks & Áp lực ngược (Back-Pressure)
Các vòng lặp phản hồi tự động giúp bắt lỗi trước khi chúng trở nên nghiêm trọng:
- Pre-commit hooks — kiểm tra kiểu (type-checking), linting, định dạng
- Test runners — agent nên chạy test sau mỗi lần thay đổi
- Xác thực bản build — thất bại sớm nếu bản build bị lỗi
6. Vòng lặp Tự xác minh
Buộc các agent phải xác minh công việc của chính mình trước khi đánh dấu tác vụ là hoàn thành:
- Chạy bộ test suite sau khi thay đổi
- Kiểm tra xem bản build có vượt qua không
- Xác minh đầu ra khớp với đặc tả
- Chụp ảnh màn hình và so sánh (đối với công việc UI)
7. Tài liệu hóa Tiến độ
Đối với các tác vụ chạy lâu (hơn 30 phút):
- Duy trì một file tiến độ theo dõi các bước đã hoàn thành
- Commit công việc thường xuyên để các phiên tiếp theo có thể tiếp tục
- Sử dụng danh sách tác vụ có cấu trúc, không phải ghi chú tự do
Be first to build with AI
Y Build is the AI-era operating system for startups. Join the waitlist and get early access.
Kết quả Thực tế
Đội ngũ OpenAI Codex
3 kỹ sư đã tạo ra một codebase hàng triệu dòng mà không có dòng code nào được viết thủ công trong hơn 5 tháng. Họ đạt trung bình 3.5 PR được merge trên mỗi kỹ sư mỗi ngày — một năng suất không thể đạt được nếu không có một harness hoàn thiện.
Harness của họ bao gồm: các quy ước commit nghiêm ngặt, kiểm tra tự động trên mỗi PR và các pipeline CI/CD nhận biết agent.
"Minions" của Stripe
Hệ thống nội bộ của Stripe tạo ra hơn 1.000 PR được merge mỗi tuần bằng cách sử dụng các AI agent. Harness của họ bao gồm:
- Các định nghĩa tác vụ được giới hạn chặt chẽ
- Bắt buộc con người review code
- Kiểm tra hồi quy tự động (automated regression testing)
- Tự động hóa việc rollback
Kiến trúc Hai Agent của Anthropic
Anthropic đã công bố cách tiếp cận của họ đối với các harness hiệu quả cho các agent chạy lâu:
- Danh sách tính năng có cấu trúc làm định dạng bàn giao giữa các agent
- Theo dõi tiến độ dựa trên Git để các agent có thể tiếp tục sau khi bị gián đoạn
- Tiêu chí thoát rõ ràng để agent biết khi nào nên dừng lại
Cách Bắt đầu Xây dựng Harness của Bạn
Bước 1: Tạo File Ngữ cảnh Của Bạn
Thêm CLAUDE.md (hoặc AGENTS.md) vào thư mục gốc của dự án:
# Dự án: [Tên dự án của bạn]
## Stack
[Framework, ngôn ngữ, database, hosting]
## Kiến trúc
[Cấu trúc thư mục với mô tả một dòng]
## Quy tắc
[5-10 quy tắc cứng mà agent phải tuân theo]
## Các tác vụ thường gặp
[Cách chạy test, build, deploy]
Bước 2: Thêm các Ràng buộc Cấu trúc
# Ví dụ: Quy tắc ESLint ngăn chặn việc import DB trực tiếp trong components
# .eslintrc — quy tắc no-restricted-imports
Thiết lập pre-commit hooks để thực thi các quy tắc của bạn một cách tự động.
Bước 3: Xây dựng các Vòng lặp Xác minh
Đảm bảo agent của bạn có thể:
- Chạy test (
npm test,pytest, v.v.) - Kiểm tra kiểu (
tsc --noEmit,mypy) - Lint (
eslint .,ruff check)
Kết nối những thứ này vào quy trình làm việc của agent để chúng chạy sau mỗi lần thay đổi.
Bước 4: Giới hạn Phạm vi Phiên làm việc của Agent
Đừng đưa toàn bộ backlog cho một agent. Thay vào đó:
- Một tính năng cho mỗi phiên
- Một bản sửa lỗi cho mỗi phiên
- Tiêu chí chấp nhận rõ ràng cho mỗi tác vụ
Bước 5: Lặp lại trên Harness
Mỗi khi agent mắc lỗi:
- Xác định nguyên nhân gốc rễ
- Thêm một quy tắc, ràng buộc hoặc hook để ngăn chặn nó
- Kiểm tra bản sửa lỗi
Harness Engineering so với Prompt Engineering
| Prompt Engineering | Harness Engineering | |
|---|---|---|
| Trọng tâm | Những gì bạn nói với model | Những gì bạn xây dựng xung quanh model |
| Độ bền | Mong manh, phụ thuộc vào model | Mạnh mẽ, không phụ thuộc vào model |
| Tính cộng dồn | Không cải thiện theo thời gian | Tốt hơn sau mỗi lần lặp lại |
| Phạm vi | Tương tác đơn lẻ | Toàn bộ quy trình làm việc |
| Loại kỹ năng | Viết lách | Kỹ thuật hệ thống |
Prompt engineering vẫn hữu ích, nhưng nó chỉ là một phần nhỏ của bức tranh toàn cảnh. Harness engineering mới là hệ số nhân.
Vai trò Mới Nổi: Kỹ sư Harness (The Harness Engineer)
Kỹ thuật phần mềm đang tách thành hai nửa:
- Xây dựng môi trường — tạo ra cấu trúc, công cụ, ràng buộc và vòng lặp phản hồi
- Quản lý công việc — lập kế hoạch, review và điều phối các phiên làm việc song song của agent
Đừng Nhầm Lẫn Với: Harness.io
Nếu bạn tìm kiếm "Harness Engineering" để tìm nền tảng DevOps — Harness.io là một thứ hoàn toàn khác. Đó là một nền tảng CI/CD hỗ trợ bởi AI được định giá 5,5 tỷ đô la (tính đến tháng 12 năm 2025), cung cấp tích hợp liên tục, triển khai, feature flags, quản lý chi phí đám mây và kiểm thử bảo mật.
Mặc dù Harness.io và harness engineering chia sẻ cùng một cái tên, nhưng chúng đang giải quyết các vấn đề khác nhau. Tuy nhiên có một sự giao thoa thú vị: DevOps hỗ trợ bởi AI của Harness.io có thể coi là một ứng dụng của các nguyên tắc harness engineering vào pipeline triển khai.
Lời Kết
Model là động cơ. Harness là chiếc xe. Không ai thắng cuộc đua chỉ với một cái động cơ.
Nếu bạn đang sử dụng AI coding agent vào năm 2026 mà không đầu tư vào harness của mình, bạn đang bỏ lỡ phần lớn giá trị. Hãy bắt đầu với một file ngữ cảnh, thêm các ràng buộc, xây dựng các vòng lặp xác minh và lặp lại mỗi khi có thứ gì đó bị hỏng.
Các đội ngũ có tốc độ bàn giao nhanh nhất không phải là những người sử dụng model tốt hơn. Họ là những người sử dụng harness tốt hơn.
Be first to build with AI
Y Build is the AI-era operating system for startups. Join the waitlist and get early access.