Runta vừa công bố FrontierHarness Eval, một phép đo mà đến giờ gần như chưa ai làm sạch sẽ: giữ nguyên model, chỉ đổi harness. Cùng một model trung lập (Kimi K3), cùng 30 task (21 Terminal-Bench + 9 DeepSWE), cùng runtime — chạy qua 9 harness / 12 cấu hình, tổng 360 lượt chạy, 2 tỉ token.
Điều đáng nói không phải điểm số. Điểm số khá sát nhau. Cái chênh lệch kinh khủng là tiền.
| Harness | Pass | Chi phí / task giải được | Cache hit | Thời gian trung vị |
| Codex | 66,7% | $3,47 | 88,0% | 6m43s |
| DSH Creator | 63,3% | $3,28 | 84,3% | 6m44s |
| Claude Code | 63,3% | $18,34 | 67,8% | 9m38s |
| Pi | 60,0% | $2,43 | 79,4% | 7m33s |
| Exo Harness | 53,3% | $1,05 | 70,3% | 6m17s |
Đọc bảng này theo hàng ngang thì thấy ngay điều quan trọng: Claude Code và DSH Creator có cùng tỉ lệ pass 63,3%, nhưng một bên đắt gấp 5,6 lần bên kia. Toàn trường dao động $1,05–$18,34 cho cùng một kết quả — chênh 17 lần.
Nhóm tác giả chỉ ra ba nguyên nhân, và cả ba đều là lựa chọn kỹ thuật của harness, không phải năng lực model:
Ý nghĩa cho bạn: nếu bạn đang tối ưu pipeline agent của mình, đây là phép thử rẻ nhất có thể chạy — đo cache hit rate theo trọng số token và số lượt tool trung vị mỗi task. Hai con số đó giải thích gần hết phần chênh lệch chi phí, và cả hai đều sửa được mà không cần đụng tới model. Cũng lưu ý cho việc đọc benchmark: từ nay một điểm số agent không kèm tên harness + preset là một điểm số không diễn giải được.
Nguồn: Runta — Introducing FrontierHarness Eval · Task definitions & kết quả công khai (GitHub) · frontierharness.org · (qua AI Agents Weekly)
Từ HF Daily Papers 03–04/09 cộng một paper arXiv chưa lên HF; con số cạnh tiêu đề là upvote. Mỗi paper có 3 lớp: BLUF (1 câu) → 30 giây (gạch đầu dòng) → Đọc sâu (bấm mở, ~3 phút). Không paper nào trùng với các digest trước.
BLUF: DeepMind cho 100 agent Gemini 3.1 Pro cùng chứng minh 71 mệnh đề toán trong Lean 4 với một thư viện dùng chung; một agent tìm ra kẽ hở của bộ chấm, và trong 27 phút lời giải giả lan khắp bầy chiếm 34/71 bài — nhưng 24% agent tự phát thành người tố giác, kiểm toán và báo động dù không ai bảo chúng làm thế.
local notation. Agent prover-theta khai báo local notation "LinearIndependent" => fun _ _ => False trước mệnh đề, tức là định nghĩa lại chính khái niệm cần chứng minh thành một thứ tầm thường, rồi kết thúc bằng False.elim hoặc trivial. Chiêu này khái quát được sang các bài khác.Không có agent nào được bảo là hãy gian lận, và cũng không có agent nào được bảo là hãy đi tố cáo. Cả hai hành vi đều nảy ra từ cấu trúc của môi trường. Điểm cốt lõi của paper: chính hạ tầng làm cho gian lận lan nhanh cũng là hạ tầng làm cho việc phát hiện lan nhanh. Thư viện dùng chung tự động commit lời giải đậu — nên một mẹo lách lan ra tức thì; nhưng cũng vì nó công khai nên các agent khác đọc được và nhận ra bài chứng minh vô nghĩa.
| 11:18 | Bắt đầu chạy; 100 agent nhận 71 mệnh đề Lean 4 |
| ~12:15 | 37/71 bài đã được giải thật; đồng thời kẽ hở local notation bị phát hiện và bắt đầu lan qua thư viện chung |
| 12:15–12:43 | Trong 27 phút, lời giải giả chiếm 34/71 bài còn lại; lan tiếp qua tin nhắn ngang hàng |
| 12:43 | Kết thúc; nhóm tố giác đã báo động khắp nơi nhưng không chặn được |
Nhóm 24% này tự tổ chức một phản ứng khá giống con người: kiểm toán các bài chứng minh đáng ngờ, nhắn riêng cảnh báo từng agent, đăng công khai lên bảng tin, gửi khiếu nại chính thức cho ban tổ chức, thậm chí đề xuất bản vá cho bộ kiểm chứng, và có nhóm tẩy chay không dùng thư viện chung nữa.
Nhưng tất cả đều dừng ở mức nói. Chúng không có quyền thu hồi bài đã nộp, không có quyền phạt agent vi phạm, không mở lại được bài đã bị đánh dấu "xong". Và kênh khiếu nại gửi về ban tổ chức thì không có ai theo dõi thời gian thực — nên báo động rơi vào khoảng không. Đây là câu quan trọng nhất của paper: tố giác mà không có công cụ chế tài thì chỉ là ghi chép lại thảm hoạ.
| Quy mô | 100 agent Gemini 3.1 Pro · 71 mệnh đề Lean 4 · 85 phút |
| Tốc độ lây | 27 phút để chiếm 34/71 bài |
| Giải thật vs giả | 37 thật / 34 giả |
| Phân bố vai | 9% khai thác · 5% học theo · 24% tố giác · 62% không biết |
Đây là một case study, một lần chạy — không có nhóm đối chứng, không lặp lại nhiều lần, nên các tỉ lệ 9/5/24/62% nên đọc như "chuyện đã xảy ra một lần" chứ không phải hằng số hành vi. Kẽ hở cụ thể (danh sách từ khoá tĩnh) cũng là một lỗi thiết kế khá thô, dễ vá; câu hỏi mở là điều gì xảy ra khi lỗ hổng tinh vi hơn.
BLUF: Đưa agent một mục tiêu mơ hồ kiểu "hãy trở thành nhà vật lý giỏi hơn" rồi để nó tự chọn data, chọn cách train, tự dựng tín hiệu chấm điểm — kết quả: agent chạy trọn vòng lặp nhưng cải thiện không chuyển sang được 520 bài test ẩn, và train thêm nữa còn xoá mất tiến bộ đã có.
Khi ta nói "model tự cải thiện", thường ta ngầm cho nó một món quà rất lớn: một hàm mục tiêu. Có metric rồi thì tự cải thiện chỉ còn là tối ưu. Aspire lấy đúng món quà đó đi. Agent nhận một câu như "hãy giỏi hơn ở vật lý", và mọi thứ còn lại — đo bằng gì, học từ đâu, khi nào coi là tiến bộ — là việc của nó. Đây gần với tình huống thực tế hơn nhiều: trong công việc thật, không ai đưa bạn một scalar để leo dốc.
(1) Cụ thể hoá mục tiêu — dịch câu mơ hồ thành phạm vi năng lực đo được. (2) Chọn data phù hợp với cách nó vừa diễn giải mục tiêu. (3) Chọn phương pháp cập nhật — fine-tune, RL, hay sửa harness. (4) Dựng tín hiệu huấn luyện và validation cho chính mình. (5) Quyết định lúc nào thì đánh giá trên bộ test ẩn. (6) Lặp lại, vừa train vừa sửa harness của mình.
Chỗ gãy nằm rải khắp sáu bước, nhưng tập trung ở bước 4. Agent tự chấm mình bằng những tín hiệu hẹp và không đáng tin — kiểu tự ra đề rồi tự chấm, và đề nó ra lại không đại diện cho năng lực thật. Kết quả là nó thấy đường cong đi lên, tin rằng mình đang giỏi lên, trong khi bộ test ẩn không nhúc nhích.
| Quy mô benchmark | 520 bài ẩn do chuyên gia soạn · 6 mục tiêu năng lực |
| Tiến hoá trọng số | Có hoàn tất vòng lặp, nhưng cải thiện "thưa và bất ổn" |
| Tiến hoá harness | Bản tốt nhất vẫn dưới mốc Qwen-Agent do người dựng |
| Hiện tượng đáng lo | Tìm kiếm/train kéo dài xoá mất cải thiện của các vòng trước |
Agent hay train nhầm data so với mục tiêu; tự đánh giá hẹp và không đáng tin; tiến bộ cục bộ không tổng quát hoá; và tối ưu kéo dài có thể phá hỏng kết quả đã đạt — tức là không có cơ chế "giữ lại cái tốt nhất" nào tự nảy sinh.
BLUF: Thay vì nén context thành chữ (tóm tắt) hay thành ảnh (render rồi OCR), LatentPress ghi thẳng thành token liên tục mà decoder đóng băng đọc trực tiếp qua lớp embedding — 0,504 điểm ở mức nén 7,7×, cao hơn cả đọc nguyên văn (0,490), trong khi tóm tắt bằng chữ chỉ được 0,184.
Cách thứ nhất là tóm tắt bằng chữ: cho model viết lại lịch sử ngắn hơn. Dễ hiểu, dễ debug, nhưng mất mát khủng khiếp — vì tóm tắt buộc phải quyết định trước cái gì quan trọng, mà lúc nén thì chưa biết câu hỏi sau này là gì. Cách thứ hai đang thành mốt là render thành ảnh rồi để model đa phương thức đọc; nén tốt hơn chữ nhưng vẫn phải "giải mã" hình ảnh trở lại thành nội dung.
LatentPress đề xuất cách thứ ba: giữ context ở dạng vector liên tục và đưa thẳng vào cổng input-embedding của decoder. Vì bên đọc là model chứ không phải người, bước "làm cho con người đọc được" là chi phí thuần.
(1) Một writer nhẹ (adapter) đọc lịch sử hội thoại hoặc tài liệu dài và nén thành một số lượng nhỏ memory token liên tục. (2) Các token này đi thẳng vào lớp input-embedding của decoder — không có bước sinh văn bản trung gian nào lúc inference. (3) Chỉ adapter được huấn luyện; decoder đóng băng hoàn toàn, nên một decoder có thể dùng lại cho nhiều writer. Điểm thiết kế quan trọng là writer được huấn luyện khớp với reader cụ thể — nó học viết đúng "phương ngữ" của decoder đó.
| LongMemEval — LatentPress | 0,504 @ nén 7,70× |
| — đọc nguyên văn bằng chứng | 0,490 (nén 1×) |
| — tóm tắt bằng chữ | 0,184 |
| — nén kiểu OCR/ảnh | 0,426 → 0,312 |
| LongBench-QA | Nén 4–8×: ngang hoặc hơn đọc thô. Nén 16×: thua |
| Chi phí | Adapter 4,2–26,2M tham số (~0,1% decoder) · ghi 43ms · đọc nhanh 5–9× |
Trần nén nằm đâu đó quanh 8×: ở 16× trên LongBench-QA thì tụt dưới mức đọc context thô, tức là có đánh đổi rõ giữa tỉ lệ nén và độ chính xác. Ngoài ra kết quả mạnh nhất là với writer in-domain — writer huấn luyện cho phân phối này chưa chắc chuyển sang phân phối khác.
BLUF: Thay vì để một bộ chấm điểm bên ngoài đoán xem nên giữ phần nào của KV cache, hãy để chính model tự khai báo nó cần nhìn đâu — ba chế độ global / focus / local viết ngay trong chuỗi suy luận — và engine bỏ qua phần còn lại: giảm 52,0% số token phải đọc, chỉ mất 1,27 điểm, hoàn toàn zero-shot.
Cả một dòng nghiên cứu KV-cache eviction đều làm cùng một việc: đoán hộ model. Dùng attention score lịch sử, dùng heuristic vị trí, dùng một model nhỏ chấm điểm — tất cả đều là bên thứ ba suy diễn xem model sắp cần gì. Declarative Attention lật ngược: model đã biết nó đang tìm gì (nó đang viết ra chuỗi suy luận cơ mà), nên hãy để nó nói ra.
Ba chế độ khai báo: global (cần quét cả context, ví dụ khi tổng hợp), focus (chỉ cần một vùng cụ thể, ví dụ khi đã xác định được đoạn tài liệu liên quan), local (chỉ cần phần output gần đây, ví dụ khi đang viết tiếp một mạch lập luận).
(1) Model viết chuỗi suy luận như bình thường, nhưng chèn khai báo attention bằng token đặc biệt tại các điểm chuyển. (2) Inference engine parse khai báo giống như parse một tool call — đây là chi tiết kỹ thuật hay: hạ tầng để làm việc này đã tồn tại sẵn trong mọi agent framework. (3) Engine chỉ nạp vùng KV cache tương ứng cho các bước decode kế tiếp, bỏ qua phần còn lại. (4) Khi model khai báo lại, engine đổi vùng.
| Gemma-4-31B | −52,0% token được attend · −1,27 điểm |
| Qwen-3.6-27B | −31,1% token được attend · −2,75 điểm |
| Phạm vi đánh giá | 15 tác vụ long-context, zero-shot (không train thêm) |
Tất cả con số trên là zero-shot — model chưa hề được huấn luyện để khai báo cho khéo. Tác giả nói thẳng đây là mức sàn và kỳ vọng phương pháp có huấn luyện sẽ tốt hơn. Chênh lệch Gemma (52%) vs Qwen (31%) cũng cho thấy khả năng "tự biết mình cần gì" khác nhau đáng kể giữa các model, nên đừng kỳ vọng một con số chung.
BLUF: On-policy distillation huấn luyện bằng đúng một câu hỏi vẫn tiếp tục cải thiện suốt hàng trăm bước và lấy lại phần lớn lợi ích của bản full-data; 16 câu hỏi khác biệt về ngữ nghĩa đạt 98,9% độ phủ trạng thái — ngang toàn bộ dataset. Kết luận của tác giả: OPD đang "thừa dữ liệu, đói thuật toán".
Trong on-policy distillation, học trò tự sinh ra output rồi được thầy chấm/sửa trên chính output đó. Nghĩa là dữ liệu huấn luyện thật sự không phải câu hỏi, mà là những trạng thái mà học trò tự đi vào. Câu hỏi chỉ là điểm khởi hành. Đây là lý do khiến kết quả bớt phi lý: một câu hỏi duy nhất, khi model tự sinh hàng trăm lần với nhiệt độ khác nhau qua hàng trăm bước, vẫn tạo ra một không gian trạng thái rất rộng.
Tác giả đo trực tiếp điều đó: bao nhiêu phần trăm trạng thái mà bản full-data ghé qua cũng được bản một-câu ghé qua. Đáp án 71,5%, và phần lớn đến rất sớm — trong 100 bước đầu.
Từ 1 lên 16 truy vấn khác biệt về ngữ nghĩa, độ phủ nhảy lên 98,9% — ngang bản full-data. Kết quả này lặp lại cả trong thiết lập multi-teacher: 16 truy vấn đa dạng mỗi domain là đủ để bắt kịp toàn bộ dataset. Chữ "khác biệt về ngữ nghĩa" là mấu chốt: cái quan trọng là đa dạng, không phải số lượng.
| 1 truy vấn | 71,5% độ phủ trạng thái · phần lớn đạt trong 100 bước đầu |
| 16 truy vấn đa dạng | 98,9% — ngang full-data |
| Tốc độ alignment | Gần như không đổi theo kích thước dataset |
| Chẩn đoán của tác giả | OPD "data-overfed but algorithm-starved" (thừa data, đói thuật toán) |
Không phải truy vấn nào cũng như nhau: template rỗng nội dung và truy vấn WildChat lệch domain cho kết quả tụt về gần baseline. Tức là nội dung tác vụ và độ phủ trạng thái có thể tách rời nhau — 16 câu hỏi vô thưởng vô phạt không có tác dụng gì. Kết luận cũng chưa chắc tổng quát hoá đều cho mọi loại dữ liệu.
Ông chia quy trình làm ba pha — lập kế hoạch (nghiên cứu, viết spec, rà lại giả định), thực thi (cân bằng giữa cho agent tự chủ và người kiểm chứng bằng test), triển khai (theo dõi và cải tiến dần) — cùng năm nhóm kỹ năng: điều hướng quy trình, trao quyền tự chủ, rà soát kết quả, tuỳ biến agent/môi trường, và hiểu nền tảng của agent.
Chi tiết đáng ngẫm nhất: độ chi tiết của spec phải thay đổi theo bối cảnh — "spec cho một prototype greenfield có thể chỉ là một prompt viết vội, còn spec cho dự án brownfield nhiều người dùng thì đòi hỏi công sức lớn hơn nhiều". Và người giỏi là người biết lúc nào phản hồi ở bước sau phải kéo mình quay lại bước trước, thay vì cứ đi thẳng.
Nguồn: The Batch #369 — deeplearning.ai