- LangChain tối ưu Harness (không đổi model) đẩy ranking từ hạng 30 lên top 5 Terminal Bench 2.0, cải thiện 13.7 điểm.
- Grok pass rate tăng từ 6.7% lên 68.3% chỉ nhờ thay đổi tool format trong Harness.
- Harness Engineering là kỷ luật thứ 3 của AI engineering - xây dựng hệ thống bao quanh model gồm Guides (kiểm soát trước) và Sensors (kiểm soát sau).
- Mỗi component trong Harness bù đắp một điểm yếu cụ thể của model - khi model cải thiện, component đó phải được gỡ bỏ.
TL;DR
- Công thức cốt lõi: Agent = Model + Harness - AI yếu không phải do model, mà do thiếu lớp bao quanh model.
- LangChain không đổi model, chỉ tối ưu Harness: từ hạng 30 lên top 5 Terminal Bench 2.0 (+13.7 điểm).
- Grok pass rate: 6.7% → 68.3% nhờ thay đổi tool format trong Harness.
- Harness gồm hai nửa: Guides (kiểm soát trước) và Sensors (kiểm soát sau).
- Mỗi component trong Harness bù đắp một điểm yếu cụ thể - khi model cải thiện, component đó phải được gỡ bỏ.
Bạn cài đủ mọi thứ, AI vẫn lật xe
Bạn đã cài Claude Code, cấu hình CLAUDE.md, thêm 5 Skills phổ biến, kết nối 3 MCP server. Lý thuyết là bạn đang có "luxury AI agent". Thực tế chạy lên?
- Nhờ viết bài, AI viết đến giữa chừng rồi báo "đã xong".
- Nhờ sắp xếp 10 file, chỉnh lý được 3 rồi bắt đầu lặp lại từ đầu.
- Hỏi AI qua session mới về dự án, nó hỏi lại "cấu trúc project là gì?" như ngày đầu tiên làm việc.
Phản ứng đầu tiên của 99% người dùng mới: đổi model mạnh hơn?
Sai. Đây là vấn đề của Harness, không phải model.
Harness Engineering là gì?
Ngày 5/2/2026, Mitchell Hashimoto - đồng sáng lập HashiCorp và cha đẻ của Terraform - publish bài blog "My AI Adoption Journey", trong đó ông đặt tên cho giai đoạn thứ 5 trong hành trình AI của mình là "Engineer the Harness".
Định nghĩa của ông cực kỳ đơn giản:
Mỗi khi bạn phát hiện AI mắc một lỗi, hãy dành thời gian thiết kế một giải pháp để nó không bao giờ mắc lỗi đó nữa.
Trong tiếng Anh, harness là bộ dây cương, yên ngựa - thiết bị điều khiển một con ngựa hoang. Áp vào AI:
- Model = con ngựa (thông minh, mạnh, không bị ràng buộc)
- Harness = bộ dây cương bên ngoài (giúp model chạy đúng hướng bạn muốn)
Công thức: Agent = Model + Harness
Đây là giai đoạn thứ 3 trong lịch sử AI engineering: Prompt Engineering (2022-2024) tập trung vào "câu lệnh"; Context Engineering (2025) tập trung vào "thông tin cung cấp"; Harness Engineering (2026) tập trung vào toàn bộ "hệ thống vận hành".
Số liệu chứng minh
Không phải lý thuyết suông. Năm 2026 có loạt thực nghiệm chứng minh Harness quan trọng hơn model:
- LangChain Terminal Bench 2.0: cùng một model, không đổi một tham số nào - chỉ tối ưu Harness - đẩy ranking từ hạng 30 lên top 5 (+13.7 điểm).
- Can.ac Grok experiment: chỉ thay đổi tool format trong Harness, pass rate của Grok Code Fast 1 nhảy từ 6.7% lên 68.3%. Output tokens cũng giảm thêm 20%.
- OpenAI Codex team: 7 kỹ sư, 5 tháng, xây sản phẩm với 1 triệu dòng code và 1,500 pull requests - không một dòng nào do người viết. Tốc độ nhanh hơn coding thủ công khoảng 10 lần.
- Stripe "Minions": đội agent tự động merge hơn 1,300 PRs/tuần không cần giám sát con người.
Lead engineer của OpenAI tổng kết ngắn gọn: "Agents aren't hard; the Harness is hard."
Hai nửa của Harness: Guides và Sensors
Harness chia làm hai nửa bổ trợ nhau - và đây chính là điểm mà hầu hết người dùng bỏ trống nửa sau:
- Guides (tiền kiểm soát): điều hướng AI trước khi nó hành động. CLAUDE.md, Skills, MCP server đều thuộc nhóm này. Bạn đã cài. Nhưng đây chỉ là một nửa.
- Sensors (hậu kiểm soát): quan sát và sửa lỗi sau khi AI hành động. Hooks, vòng xác minh (verification loop), nhật ký thất bại - phần này hầu hết người dùng bỏ trống.
Khác biệt then chốt: Guides dựa trên sự tự giác của AI, Sensors dựa trên cơ chế bắt buộc của hệ thống. Bạn có thể viết 100 dòng "đừng xóa database" trong CLAUDE.md - AI vẫn có thể xóa. Một Hook 6 dòng chặn lệnh DROP thì AI không bao giờ chạy được.
Ba việc cần làm ngay
1. Nâng cấp CLAUDE.md thành nhật ký thất bại
95% người dùng viết CLAUDE.md như một wishlist: "trả lời tiếng Việt", "không dùng emoji", "hỏi trước khi xóa file". Vấn đề: AI đọc nhưng có thể quên ở iteration thứ 47 trong session dài.
Phiên bản nâng cấp: mỗi quy tắc phải đi kèm ngày cụ thể và sự cố thực tế đã xảy ra:
## Quy tắc: Xóa file phải liệt kê danh sách trước
- Ngày: 2026-04-15
- Sự cố: Nói "dọn dẹp file cũ", AI xóa luôn cả thư mục drafts/
- Quy tắc: Trước khi xóa bất kỳ file nào, phải output
"Sẽ xóa: [danh sách]", chờ confirm mới thực hiện
Dọn CLAUDE.md bằng cách xóa mọi quy tắc không có ngày và sự cố đi kèm. Nghe có vẻ cực đoan, nhưng thử một lần thì hiểu - CLAUDE.md càng ngắn gọn và có bối cảnh cụ thể, AI càng tuân thủ tốt hơn.
2. Cài Hook đầu tiên
Chỉ cần 3 Hook là đủ cho người mới bắt đầu, cấu hình trong ~/.claude/settings.json dưới key PreToolUse:
- Chặn
rm -rf /(xóa thư mục gốc - không có undo) - Chặn
git push --force - Chặn ghi trực tiếp vào
.envhoặccredentials.json
Cài đúng 3 cái này là khóa được 90% rủi ro "AI tự ý làm mất dữ liệu". Nguyên tắc: thao tác không thể phục hồi thì dùng Hook, không dùng CLAUDE.md.
3. Tách người thực thi và người kiểm tra
AI tự đánh giá bản thân gần như luôn tự đánh giá tốt - dù output thực sự bị lỗi. Anthropic phát hiện Claude 4 là evaluator rất tệ khi tự kiểm tra chính mình: quá dễ dãi với lỗi của bản thân.
Giải pháp: tạo một Subagent riêng biệt làm reviewer trong ~/.claude/agents/, với nhiệm vụ duy nhất là tìm lỗi. Quy tắc bắt buộc: reviewer phải output ít nhất 3 vấn đề tiềm ẩn mỗi lần - không được phép trả lời "nhìn có vẻ ổn".
Khi nào nên gỡ bỏ Harness component
Anthropic từng xây bộ Harness hoàn chỉnh cho Claude với Sprint Contract, Context Reset, nhiều lớp verification. Sau khi nâng cấp model, họ tháo bỏ phần lớn.
Nguyên tắc cốt lõi: mỗi Harness component tồn tại để bù đắp một điểm yếu của model. Khi điểm yếu đó không còn, component đó phải được gỡ bỏ - không phải giữ lại cho chắc.
Ba câu hỏi để quyết định:
- Component này sinh ra để bù đắp điểm yếu gì của model?
- Điểm yếu đó còn tồn tại không? (Test thực tế, không suy đoán)
- Component này có làm chậm hoặc hạn chế sáng tạo không?
Dấu hiệu over-engineering: Harness ngày càng phức tạp theo thời gian. Đúng chiều ngược lại mới là tốt - model càng mạnh, Harness càng đơn giản. Nhóm phát triển Manus đã viết lại Harness 4 lần, mỗi lần đơn giản hơn trước.
Kết
Harness Engineering không phải "cài thêm công cụ". Đó là ba việc phối hợp với nhau: thêm - quản - bớt.
Nếu phải chọn một nơi bắt đầu ngay hôm nay: mở file ~/.claude/CLAUDE.md, tìm quy tắc nào không có ghi "được viết sau sự cố X ngày Y" - xóa nó đi. Rồi lần sau khi AI lật xe, ghi lại. Đó là điểm xuất phát thực sự của Harness Engineering.
