TL;DR

ProgramBench (tháng 5/2026) yêu cầu 9 mô hình AI rebuild 200 dự án phần mềm thực tế từ đầu - không cho lên mạng, không đo code similarity, chỉ verify hành vi cuối. Kết quả: tất cả đạt 0% success rate. Không phải vì model yếu. Mà vì thiếu Harness.

Harness Engineering là ngành kỹ thuật xây dựng "bộ kiểm soát" bao quanh LLM - bao gồm context management, tool execution, task orchestration, feedback loops, và architectural guardrails. Công thức của ngành: Agent = Model + Harness.

Con số gây sốc từ ProgramBench

Tháng 5/2026, nhóm nghiên cứu đứng sau SWE-Bench công bố bài báo "ProgramBench: Can Language Models Rebuild Programs From Scratch?" (arXiv:2605.03546).

Phương pháp đánh giá khác hoàn toàn các benchmark trước: AI nhận được một chương trình và documentation của nó, sau đó phải tự architect và implement lại codebase sao cho hành vi khớp với chương trình gốc. Không được lên mạng. Không đo code similarity. Chỉ verify final behavior.

200 task được thiết kế, từ CLI tools nhỏ như jq, ripgrep đến các dự án lớn như FFmpeg, SQLite, PHP interpreter.

Kết quả sau khi test 9 mô hình hàng đầu:

ProgramBench per-task pass rates - heatmap showing all models near 0%
  • Claude Opus 4.7, GPT-5.4, Gemini 3.1 Pro: 0% success rate
  • Model tốt nhất trong 9 model được test: chỉ pass 95% test trên đúng 3% tasks
  • Hành vi chung: model nhồi toàn bộ logic vào 1 file monolithic, không có module hóa, không có kiến trúc, không có kế hoạch dài hạn

Điều này không có nghĩa AI không viết được code. Nó viết rất nhiều code, viết hàm rất đẹp. Nhưng yêu cầu dựng cả một dự án thực chạy được là điều khác hoàn toàn.

ProgramBench task overview - workflow từ specification đến evaluation

Vậy Harness Engineering là gì?

Harness (nghĩa đen: dây cương, yên cương) là tổng hợp mọi thứ bao quanh LLM ngoại trừ bản thân model. Công thức được ngành AI engineering đồng thuận:

Agent = Model + Harness

Một AI agent không có harness giống như một con ngựa thuần chủng không có dây cương - dù mạnh đến đâu cũng không thể đi đúng hướng và chạy đúng đích.

Harness bao gồm: Hooks, Skills, MCP servers, CLAUDE.md / AGENTS.md, sub-agents, plugins, tools - và quan trọng hơn là cách tất cả những thứ đó được thiết kế để hoạt động như một hệ thống.

Bằng chứng hiệu quả của harness không thiếu:

  • LangChain experiment: Cùng model gpt-5.2-codex, không đổi một trọng số nào, chỉ tối ưu harness bao quanh - điểm Terminal-Bench 2.0 tăng từ 52.8 lên 66.5, ranking nhảy từ ngoài Top 30 vào Top 5.
  • OpenAI Codex experiment: 3 người, 5 tháng, drive Codex tạo ra ~1 triệu dòng code và merge ~1.500 PRs. Mọi thứ là nhờ harness, không phải model mạnh hơn.

OpenAI team tự mô tả: trọng tâm công việc của họ đã không còn là viết code, mà là bốn việc khác - thiết kế môi trường, làm rõ ý định, xây feedback loop, và giúp Agent tự nhìn thấy - tự verify - tự sửa lỗi.

5 chiều cốt lõi của một Harness hoàn chỉnh

Một Harness tốt không phải tập hợp ngẫu nhiên của tools và prompts. Nó cần hoàn chỉnh trên 5 chiều:

  1. Quản lý ngữ cảnh - Bộ nhớ 3 lớp: đảm bảo AI luôn biết mình đang làm gì, đã làm gì, cần làm gì tiếp theo
  2. Năng lực thực thi - Tools, MCP, Skills: không chỉ sinh text mà thực sự hành động trong môi trường thực
  3. Điều phối tác vụ - Ralph Loop: chia nhiệm vụ dài thành bước ngắn, duy trì tiến độ qua nhiều context windows
  4. Cơ chế phản hồi - Computational và Inferential sensors: AI phải verify và sửa lỗi trước khi con người nhìn thấy
  5. Kiến trúc bảo hộ - Pre-commit hooks, linter, CI gate: ngăn code tệ đi vào codebase ngay từ đầu

Phần tiếp theo của series sẽ đi sâu vào từng chiều với ví dụ cụ thể từ Anthropic, OpenAI, và Vercel.

Điều bạn có thể áp dụng ngay hôm nay

Trước khi đọc tiếp series, hãy tự kiểm tra:

  • Project của bạn có file CLAUDE.md hoặc AGENTS.md không? Nó có cập nhật không?
  • Khi AI làm xong một tác vụ, có gì verify rằng nó thật sự đúng không - hay bạn tự kiểm tra bằng mắt?
  • Khi AI bị "quên" (context reset), nó có cách nào biết mình đang làm đến đâu không?

Nếu câu trả lời là "không" cho cả 3, harness của bạn gần như trống rỗng - và ProgramBench 0% là kết quả bạn cũng sẽ nhận được.

Kết

ProgramBench 0% không phải tin xấu về model. Đó là tin về harness - và harness là thứ bạn có thể kiểm soát được.

Phần 2 của series sẽ đi vào chi tiết từng chiều: Context Management với bộ nhớ 3 lớp, Execution với triết lý "ít tool hơn = mạnh hơn", Task Orchestration với Ralph Loop, Feedback Mechanisms, và Architectural Guardrails.

via ProgramBench Paper (arXiv:2605.03546) · Martin Fowler - Harness Engineering · OpenAI - Harness Engineering