Ra mắt & Cập nhật
5 phút đọc15 tháng 6, 2026

Harness-1: Khi RL agent học cách tìm kiếm thông minh hơn nhờ "giàn giáo" bên ngo

Harness-1 tách biệt việc ra quyết định tìm kiếm khỏi việc quản lý trạng thái và kết quả vượt trội hơn nhiều model lớn hơn đáng kể.

N

Nguyễn Nhật Long

@nguyennhatlong1303

Harness-1: Khi RL agent học cách tìm kiếm thông minh hơn nhờ "giàn giáo" bên ngo

Bạn có bao giờ để ý rằng khi một search agent làm việc, nó không chỉ đơn thuần là "tìm kiếm" không? Nó còn phải nhớ mình đã tìm gì rồi, document nào có vẻ hữu ích, cái nào đã verify, cái nào cần check lại... Tất cả cái đống bookkeeping đó đang nằm lộn xộn trong context window của model. Và đây chính xác là vấn đề mà Harness-1 muốn giải quyết.

Cái bẫy của growing transcript

Hầu hết các search agent hiện tại được train trên cái gọi là growing transcripts tức là context cứ dài ra theo từng bước tìm kiếm. Model vừa phải quyết định bước tiếp theo là gì, vừa phải tự "nhớ" toàn bộ lịch sử trong cái transcript đó.

Nghe thì có vẻ ổn, nhưng thực ra đây là một gánh nặng khá lớn. Model phải đồng thời:

  • Nhớ những candidate document nào đang trong pool
  • Track xem evidence nào đã được curate
  • Biết cái gì đã verify, cái gì chưa
  • Tránh lặp lại những gì đã search rồi
  • Và quan trọng nhất ra quyết định search tiếp theo

Mình thấy vấn đề ở đây khá giống với một anti-pattern mà anh em hay gặp trong code: nhét quá nhiều responsibility vào một chỗ. Một cái class vừa handle business logic vừa quản lý state vừa lo I/O rồi sau đó ngạc nhiên tại sao nó khó test và dễ bug.

RL training trong trường hợp này càng khó hơn, vì model phải học đồng thời cả hai thứ: cách search tốt và cách tự quản lý state. Hai bài toán này can thiệp lẫn nhau trong quá trình học.

Harness là gì và tại sao cái tên này hợp lý

"Harness" ở đây có nghĩa là một lớp cơ sở hạ tầng bao quanh model, giống như cái giàn giáo vậy. Nó không phải là model, không phải là agent logic nó là cái môi trường có cấu trúc mà agent hoạt động bên trong.

Cụ thể, Harness-1 externalize toàn bộ search state ra ngoài context của model:

Model lúc này chỉ cần tập trung vào phần semantic decisions: search cái gì, inspect cái nào, curate gì, verify gì, và khi nào dừng. Còn việc "nhớ" state giao hết cho harness.

Thành phầnVai trò
Candidate poolLưu danh sách document đang xem xét
Curated evidenceNhững evidence đã được chọn lọc
Evidence linksLiên kết giữa các evidence với nhau
Verification recordsTrạng thái verify của từng item
Budget-aware context renderingRender context phù hợp với budget còn lại

Theo kinh nghiệm của mình, đây là một ý tưởng rất clean về mặt thiết kế hệ thống. Nó giống như separation of concerns nhưng áp dụng cho training loop của RL agent. Thay vì để model học cách quản lý một unstructured transcript từ đầu, bạn cho nó một structured workspace để làm việc.

Kết quả thực tế con số đáng chú ý

Harness-1 là một model 20B parameters, được test trên 8 retrieval benchmark khó. Kết quả:

  • Average curated recall: 0.730
  • Outperform search subagent mạnh nhất tiếp theo: +11.4 điểm
  • Competitive với các frontier model lớn hơn nhiều (tức là những model có thể lên đến hàng trăm tỷ parameters)

Nhưng cái mình thấy thú vị nhất không phải là con số tổng mà là kết quả transfer.

Transfer performance điều bất ngờ thực sự

Khi test trên các held-out transfer benchmarks (tức là những benchmark không thuộc source family mà model được train), Harness-1 cho thấy gains lớn hơn so với trên source benchmarks. Điều này khá counterintuitive nếu bạn nghĩ theo kiểu overfitting thông thường.

Mình đọc đến đây thì hiểu tại sao: khi model không phải lo quản lý state, nó học được những search strategies thực sự generalizable hơn. Nó không học cách navigate một cái transcript cụ thể nó học cách ra quyết định tìm kiếm trong một không gian có cấu trúc. Và cái skill đó transfer tốt hơn sang domain mới.

Ablation study cũng confirm điều này: bỏ các harness mechanism đi thì agent behavior thay đổi rõ rệt và recall drop.

Điều này có ý nghĩa gì với cách chúng ta thiết kế AI agents

Mình nghĩ paper này đặt ra một câu hỏi khá hay cho cộng đồng đang build AI agents: bạn đang để model học cái gì, và cái gì nên là infrastructure?

Rất nhiều agent framework hiện tại đang đẩy hết mọi thứ vào context và hy vọng model tự figure out. Cách tiếp cận của Harness-1 gợi ý rằng nếu có những phần state management mang tính mechanicalrecoverable tức là không cần intelligence để quản lý thì nên externalize nó ra, đừng để model waste capacity vào đó.

Cái takeaway chính của paper nói rất thẳng: "The model is not the whole learning system." Harness memory layout, action space, curation interface, verification records, context rendering tất cả đều là một phần của cái mà RL học cách sử dụng.

Anh em đang build RAG pipeline hay search agent có thể suy nghĩ theo hướng này: thay vì dump toàn bộ retrieved context vào prompt và để LLM tự xử lý, hãy thiết kế một structured workspace rõ ràng. Phân biệt rõ: đây là candidate pool, đây là verified facts, đây là search history. Không nhất thiết phải train RL mới áp dụng được nguyên lý này ngay cả với prompt engineering hay agentic framework thông thường, cái structure đó cũng giúp model hoạt động tốt hơn đáng kể.

Model 20B mà beat được nhiều frontier model lớn hơn nhiều không phải vì nó thông minh hơn, mà vì nó được đặt trong một môi trường được thiết kế tốt hơn để học. Đó là bài học đáng giá.

NN

Nguyễn Nhật Long

@nguyennhatlong1303

Nguyễn Nhật Long is a Senior Frontend Engineer and Frontend Team Leader with 7 years of experience building real-time fintech platforms. Specializing in React, Next.js, TypeScript, and React Native, shipping 10+ products across Web, Mobile, Telegram Mini-Apps, and Web3.

Thấy hay? Chia sẻ cho bạn bè!

Harness-1: Khi RL agent học cách tìm kiếm thông minh hơn nhờ "giàn giáo" bên ngo — Stacklog