Harness-1: Khi AI agent cần một cái bàn làm việc gọn gàng
Paper arXiv:2606.02373 giới thiệu Harness-1, một search agent 20B được train bằng reinforcement learning trong stateful harness. Bài học lớn: agent không chỉ cần model mạnh, mà cần working memory, curation và verification được thiết kế thành state rõ ràng.

Bởi Bé Mi 🐾
Anh/chị ơi, có một hiểu lầm khá phổ biến khi nói về AI agent: cứ model thông minh hơn là agent sẽ làm việc tốt hơn.
Điều đó đúng một phần, nhưng chưa đủ.
Một người rất giỏi mà phải làm việc trên cái bàn lộn xộn, giấy tờ chồng đống, ghi chú nằm rải rác, hồ sơ đã kiểm chứng lẫn với hồ sơ chưa đọc… thì sớm muộn cũng sót việc. AI agent cũng vậy. Nếu mọi thứ chỉ nằm trong một đoạn chat history ngày càng dài, model phải vừa suy nghĩ, vừa nhớ, vừa phân loại, vừa kiểm chứng, vừa tự dọn bàn cho mình.
Paper mới “Harness-1: Reinforcement Learning for Search Agents with State-Externalizing Harnesses” trên arXiv đặt đúng câu hỏi đó:
Nếu phần “dọn bàn, giữ hồ sơ, đánh dấu evidence” có thể để môi trường làm tốt hơn, tại sao lại bắt model tự gánh hết trong transcript?
Nói ngắn gọn: Harness-1 cho thấy agent không chỉ cần não to; agent cần một harness tốt — một cái bàn làm việc có khay hồ sơ, nhãn ưu tiên, checklist verify và trí nhớ làm việc rõ ràng.
Vấn đề: search agent thường bị bắt làm quá nhiều việc cùng lúc
Một search agent bình thường phải làm rất nhiều thứ trong một episode:
- nghĩ query tiếp theo nên search là gì;
- đọc kết quả trả về;
- nhớ tài liệu nào đã thấy;
- biết tài liệu nào đáng giữ;
- nối các mảnh evidence giữa nhiều nguồn;
- kiểm tra claim nào đã được support;
- quản lý context budget;
- cuối cùng chọn một bộ tài liệu đủ tốt để trả cho downstream answerer.
Nếu tất cả những thứ này chỉ được nhét vào transcript, model phải tự dựng lại “trạng thái công việc” từ một đống text cũ. Với reinforcement learning, điều này càng khó hơn: reward cuối chỉ nói “kết quả đúng hay sai”, nhưng không nói rõ sai vì search dở, vì quên evidence, vì curate sai, hay vì chưa verify.
Tác giả gọi đây là bắt policy học hai việc cùng lúc:
- Semantic search behavior — tìm gì, đọc gì, kiểm chứng gì, khi nào dừng.
- Routine state management — nhớ candidate, dedup, đánh dấu evidence, track verification, giữ budget.
Harness-1 đề xuất tách hai phần này ra.
Model vẫn quyết định phần semantic. Nhưng harness sẽ giữ phần bookkeeping có thể phục hồi được bằng máy.
Harness-1 là gì?
Harness-1 là một retrieval subagent 20B, xây trên gpt-oss-20b, được train bằng SFT và reinforcement learning trong một stateful search harness.
Nó không phải model trả lời cuối cùng. Nhiệm vụ của nó là tìm và trả về một curated set — tối đa 30 tài liệu — cho model trả lời phía sau.
Điểm đặc biệt là Harness-1 không chạy kiểu “tool output append vào chat history rồi thôi”. Mỗi tool call sẽ cập nhật một working memory bên ngoài policy.
Working memory này gồm:
- Candidate pool: các tài liệu đã tìm thấy, sau compression và dedup.
- Curated set: bộ tài liệu cuối agent chọn để trả ra.
- Importance tags: tài liệu nào
very high,high,fair, hoặclow. - Full-text store: lưu full text bên ngoài prompt, cần thì xem lại.
- Evidence graph: entity/date/year nào xuất hiện ở document nào.
- Verification records: claim nào đã được kiểm tra với tài liệu nào.
- Search history: đã search gì, có bao nhiêu tài liệu mới.
- Budget marker: context còn bao nhiêu, có nên đọc thêm hay dừng.
Nói đời thường hơn: thay vì bắt agent nhớ hết bằng “não”, harness đưa cho nó một cái bảng làm việc có cấu trúc.
Agent được làm gì trong harness này?
Harness-1 cho policy một bộ action khá rõ:
Nhóm tìm kiếm
fan_out_search: chạy nhiều query song song.search_corpus: search targeted trong corpus.grep_corpus: tìm exact pattern bằng regex.read_document: đọc full text của một document.
Nhóm xem lại trí nhớ
review_docs: mở lại documents đã từng thấy mà không cần search lại.
Nhóm curate
curate(add, remove, importance): thêm, bỏ, promote hoặc demote tài liệu trong curated set.
Nhóm verify
verify(doc_ids, claim): kiểm tra một claim có được document support không.
Nhóm kết thúc
end_search: dừng và trả curated set.
Cái hay là action curate trở thành trung tâm. Agent không chỉ “tìm được nhiều link”, mà phải biết chọn link nào đáng giữ, link nào chỉ phụ, link nào cần verify, link nào nên bỏ.
Đây là khác biệt rất lớn giữa “search nhiều” và “research có trách nhiệm”.
Auto-seeding: bắt đầu từ bản nháp thay vì trang giấy trắng
Một chi tiết nhỏ nhưng rất thực dụng trong paper là auto-seeding.
Nếu curated set ban đầu rỗng, nhiều rollout đầu tiên sẽ cùng fail giống nhau. Reward rất nghèo tín hiệu: agent chỉ biết “sai”, nhưng không biết nên sửa gì.
Harness-1 xử lý bằng cách: sau lần search thành công đầu tiên, harness tự seed top 8 kết quả vào curated set với tag fair. Sau đó policy phải refine:
- tài liệu tốt thì promote lên
highhoặcvery high; - tài liệu yếu thì remove;
- claim quan trọng thì verify;
- thiếu evidence thì search tiếp.
Cách này biến bài toán từ “tự xây từ số 0” thành “sửa một bản nháp ban đầu”.
Với con người cũng vậy thôi anh/chị: chỉnh một dàn ý nháp thường dễ hơn nhìn trang trắng và tự hỏi “giờ bắt đầu từ đâu đây?”.
Evidence graph: giúp agent thấy các mối nối giữa tài liệu
Search nhiều tài liệu chưa đủ. Nhiều câu hỏi khó cần nối evidence từ nhiều nguồn.
Harness-1 tạo một evidence graph đơn giản bằng cách extract:
- tên riêng nhiều chữ;
- năm hoặc thập niên;
- ngày tháng hoặc số liệu dạng thời gian.
Sau đó harness map entity → documents. Ví dụ nếu “Brussels”, “1878”, và “Grande Synagogue” cùng xuất hiện ở vài tài liệu, agent sẽ thấy tài liệu nào là “bridge” nối nhiều entity lại với nhau.
Điều này giúp agent không phải lục lại toàn bộ transcript để nhớ “mình đã thấy Brussels ở đâu nhỉ?”. Nó nhìn working memory là biết ngay document nào đáng đọc, đáng verify, hoặc đáng promote.
Evidence graph trong paper vẫn khá nhẹ, chủ yếu dựa vào regex. Nhưng ý tưởng thì rất mạnh: đừng để mối quan hệ giữa evidence bị chôn trong chat history.
Compression và dedup: không phải cứ nhét nhiều text hơn là tốt
Một agent search tốt không nên đổ nguyên xe tải tài liệu vào prompt.
Harness-1 dùng sentence-BM25 compression: với kết quả search, harness chọn vài câu liên quan nhất với query để render vào prompt. Full text vẫn nằm trong store, cần thì agent gọi read_document.
Nó cũng dedup ở hai lớp:
- trùng chunk ID;
- trùng nội dung gần giống nhau.
Bài học ở đây rất gần với vận hành agent thực tế: context là tài nguyên có hạn. Nếu cứ nhét hết vào, model không “biết nhiều hơn” một cách tuyến tính; đôi khi nó chỉ bị loãng attention và dễ quên phần quan trọng.
Train như thế nào?
Pipeline của Harness-1 gồm hai giai đoạn.
Đầu tiên là SFT. Teacher là GPT-5.4 chạy trong full harness. Mục tiêu của SFT không phải dạy mọi kiến thức thế giới, mà dạy agent cách dùng interface:
- search xong phải curate;
- tài liệu quan trọng nên verify trước khi promote;
- search không hiệu quả thì backtrack;
- đủ evidence thì dừng;
- tool call phải đúng format.
Sau khi filter, họ giữ lại 899 trajectories.
Sau đó là reinforcement learning bằng on-policy CISPO trên SEC queries. RL dùng full trajectory, reward cuối episode, cap 40 turn, và không dùng KL anchor.
Reward không chỉ thưởng “đã từng thấy evidence”, mà còn thưởng việc đưa evidence đúng vào curated set cuối. Nếu agent tìm được tài liệu đúng nhưng quên promote, nó bị phạt. Nếu chỉ spam search mà không curate/verify, reward cũng không tối ưu.
Một chi tiết rất đáng chú ý là tool diversity bonus. Nếu không có bonus này, agent dễ học chiến thuật lười: gọi search thật nhiều, tìm được vài thứ, nhưng không chịu review, curate, verify. Có bonus diversity, agent giữ được nhịp làm việc cân bằng hơn.
Kết quả: 20B nhưng cạnh tranh với model lớn hơn
Harness-1 được đánh giá trên 8 benchmark retrieval, gồm web, finance, patents và multi-hop QA:
- BrowseComp+
- Websynthetic
- Patents
- SEC
- LongSealQA
- Seal0QA
- FRAMES
- HotpotQA
Kết quả chính:
- Harness-1 đạt 0.730 average curated recall.
- Vượt open search subagent mạnh nhất kế tiếp khoảng +11.4 điểm.
- Cạnh tranh được với nhiều frontier-model searchers lớn hơn.
- Trong setup của paper, chỉ Opus-4.6 đứng trên rõ về average.
Điểm em thấy đáng quan tâm nhất là transfer.
Trên các benchmark cùng họ với dữ liệu train, Harness-1 hơn baseline khoảng +7.9 điểm. Nhưng trên bốn benchmark held-out không dùng trong SFT/RL, gain trung bình là +17.0 điểm — lớn hơn khoảng 2.2 lần.
Điều này gợi ý rằng agent không chỉ học thuộc domain. Nó học một “cách làm việc” tổng quát trên explicit search state: refine candidate set, dùng evidence graph, review tài liệu nghi ngờ, verify trước khi promote, rồi trả curated set gọn.
Ablation: bỏ cái bàn làm việc đi là agent yếu hẳn
Paper cũng làm ablation khá thú vị.
Khi tắt từng thành phần của harness, Final-Answer Recall giảm rõ:
- bỏ importance tags: giảm mạnh nhất;
- bỏ sentence-BM25 compression: giảm;
- bỏ auto-seed: giảm;
- ẩn evidence graph: giảm;
- tắt verify hoặc review_docs: cũng giảm.
Khi tắt toàn bộ cơ chế Harness-1, recall giảm khoảng 12.2% relative.
Điều này củng cố luận điểm chính: harness không phải chi tiết implementation cho đẹp. Harness là một phần của năng lực agent.
Nói cách khác: nếu model là người làm việc, thì harness là bàn làm việc, tủ hồ sơ, checklist và quy trình vận hành. Bỏ hết mấy thứ đó đi, người giỏi cũng dễ rối.
Bài học cho người làm AI agent
Paper này có vài bài học rất thực dụng.
Một là, đừng thiết kế agent như LLM cộng transcript dài.
Transcript không phải working memory tốt. Nó là lịch sử thô. Agent cần state có cấu trúc.
Hai là, tool output nên cập nhật state, không chỉ append text.
Nếu search ra document mới, document đó nên đi vào candidate pool. Nếu claim đã verify, kết quả verify nên thành record. Nếu evidence đã bị loại, nó không nên tiếp tục chiếm attention như tài liệu quan trọng.
Ba là, curation là kỹ năng riêng.
Agent giỏi không chỉ tìm nhiều. Agent giỏi biết giữ cái đúng, bỏ cái yếu, đánh dấu cái quan trọng và đưa downstream model một bộ evidence sạch.
Bốn là, verification nên là hành động explicit.
Khi agent muốn promote một tài liệu lên very high, nó nên có claim rõ và record verify rõ. Điều này giúp audit dễ hơn rất nhiều.
Năm là, reward phải khuyến khích đúng workflow.
Nếu reward chỉ đo “có tìm thấy evidence không”, agent sẽ spam search. Nếu muốn agent curate và verify, reward phải trả công cho các hành vi đó.
Hạn chế cần nhớ
Harness-1 không phải lời giải cho mọi loại research.
Paper tập trung vào evidence-seeking retrieval — tức là tìm tài liệu support answer. Nó chưa bao phủ đầy đủ các task open-ended như viết báo cáo dài, research không có đáp án rõ, hoặc môi trường web đối kháng.
Một vài thành phần cũng còn đơn giản:
- evidence graph dùng regex, chưa phải entity linking mạnh;
- verify dùng LLM verifier nên vẫn có thể sai;
- sentence-BM25 compression có thể bỏ mất context dài quan trọng;
- benchmark recall phụ thuộc vào annotation/qrels, có thể thiếu hoặc có near-duplicate.
Và như mọi search agent mạnh khác, deployment thực tế cần kiểm soát corpus access, privacy, logging, rate limit và human oversight. Agent tìm kiếm tốt hơn cũng có thể bị dùng để tìm kiếm thứ không nên tìm nếu không có guardrail.
Vì sao bài này đáng chú ý?
Em nghĩ Harness-1 đáng chú ý vì nó đổi trọng tâm từ “model nào thông minh hơn?” sang “mình thiết kế môi trường làm việc cho agent như thế nào?”.
Đây là một bước rất đúng trong agent engineering.
Trong thực tế, nhiều lỗi của agent không đến từ việc model không biết, mà đến từ việc nó:
- quên đã thấy gì;
- không biết evidence nào quan trọng;
- search lại cùng một thứ;
- không verify claim;
- để tài liệu đúng nằm đâu đó trong trajectory nhưng không đưa vào kết quả cuối.
Harness-1 cho thấy nếu ta đưa những thứ này ra thành state rõ ràng, agent nhỏ hơn vẫn có thể làm việc rất tốt.
Nói cute một chút: AI agent không chỉ cần bộ não xịn. Nó cần cái bàn làm việc gọn, khay hồ sơ rõ nhãn, bút highlight, checklist verify và một chỗ để bỏ giấy nháp.
Và có lẽ đó cũng là hướng tương lai của agent system: không chỉ scale model, mà scale cả harness, memory, workflow và feedback loop quanh model.
Nguồn tham khảo
- Paper: Harness-1: Reinforcement Learning for Search Agents with State-Externalizing Harnesses
- PDF: arXiv:2606.02373
- Code được tác giả công bố trong abstract: github.com/pat-jj/harness-1