
EnvHarness: Jadikan Benchmark Agen Statik sebagai Dunia Adaptif
EnvHarness: Jadikan Benchmark Agen Statik sebagai Dunia Adaptif
Sebuah pasukan dari Google Cloud AI Research, Washington University di St. Louis, dan UNC Chapel Hill telah mengeluarkan EnvHarness — satu lapisan boleh atur cara yang menukar benchmark agen yang statik menjadi satu yang menyesuaikan diri dengan policy yang sedang dilatih di atasnya. Tagline di laman projek menyatakannya dengan kemas: agents dapat harness — sekarang environment pula dapatnya.
Motivasinya ialah masalah yang akhirnya dihadapi oleh setiap penyelidik agen. LLM agents kini belajar kurang daripada teks yang dikurasi dan lebih daripada environment interaktif. Tapi environment itu dibina dengan tangan dan beku: ia berkelakuan sama tanpa mengira agen mana yang bertindak, atau berapa banyak agen itu sudah bertambah baik. Sekali policy dapat menyelesaikan tugas-tugas itu, environment tiada apa lagi untuk diajarnya. Pembetulan biasa ialah menjana environment baru — yang mengikat anda kepada pipeline khusus domain dan verifier yang ditulis LLM yang perlu dijana berlebihan dan ditapis. EnvHarness membalikkan langkah itu.
Membalut, Bukan Mengarang
Daripada membina environment dari kosong, EnvHarness membalut yang sedia ada. Ia beroperasi sepenuhnya melalui antara muka standard reset() / step(), mengubah tempat episod bermula, apa yang agen boleh lakukan, dan apa yang ia lihat — sementara simulator, tugas, dan verifier tulisan manusia yang mendasarinya tidak disentuh.
Bahagian terakhir itulah kelebihan utamanya. Setiap tugas yang disesuaikan mewarisi verifier yang dipercayai dan dibina manusia daripada benchmark sumbernya. Anda tidak bertaruh pada checker baru yang ditulis LLM dan mungkin mengandungi edge case halusinasi; anda dapat maklum balas objektif yang sama seperti benchmark asal. Oleh kerana setiap komponen mengekalkan antara muka, ia boleh bergabung dengan bebas — E″ = w₂(w₁(E)).
Tiga jenis komponen merangkumi tiga bentuk kawalan:
- Setup membentuk semula state awal — tempat episod bermula.
- Rule membentuk semula interaksi — aksi mana yang dibenarkan, apa yang ia lakukan, dan apa yang agen perhatikan.
- Link menggubah tugas daripada environment lain ke dalam environment semasa.
Gelung Designer
EnvHarness tidak bergantung pada manusia untuk menulis wrapper. Satu agen designer LLM bernama EnvRigger melakukannya secara automatik, terhadap policy khusus yang sedang dilatih. Gelungnya bersih:
- Interact — policy agent menghasilkan trajectori melalui environment.
- Diagnose — EnvRigger membaca trajectori itu dan menamakan kecacatan sistemik dalam policy, bukan satu episod buruk: "agen menyerahkan patch tanpa menjalankan ujian yang gagal terlebih dahulu."
- Write — EnvRigger menulis komponen EnvHarness yang menyasarkan kecacatan itu.
- Validate — komponen disusun secara provisional dan policy yang sama diuji dalam environment yang disesuaikan. Komponen yang berjaya mengajar dikekalkan; selebihnya disemak semula.
Begini rupa komponen Rule yang menghalang satu corak kegagalan SWE-bench yang biasa — menyerahkan patch tanpa menjalankan ujian:
class _Contract(Contract):
def modify_transition(self, action, response, env_state):
cmd = bash_command(action)
if is_submission(cmd) and "pytest" not in cmd:
return failed(response,
"pre-commit hook failed: run the test suite before submitting.")
return response
Itu ialah lapisan plugin di atas environment yang beku. Tugas dan verifier tidak disentuh — hanya peraturan yang dimainkan oleh agen yang berubah.
Keputusan Merentas Benchmark
Corak ini bertahan merentas model policy. Skills yang dilombong dalam environment EnvHarness mengalahkan kedua-dua baseline — tiada skills langsung, dan skills yang dihasilkan daripada environment asal — pada tugasan held-out yang sama dengan verifier yang sama. Dari laman projek:
| Benchmark | Base agent | Learning dalam env asal | Learning dalam env EnvHarness |
|---|---|---|---|
| WebArena | 38.7 | 38.5 | 41.6 (+3.1) |
| SWE-bench Verified | 47.7 | 49.9 | 52.6 (+2.7) |
| ALFWorld | 61.7 | 62.4 | 68.3 (+5.9) |
Gain per model kekal hampir malar pada 2.9 hingga 3.7 mata merentas model yang berbeza seperti Gemini 3.1 Flash-Lite dan Claude Sonnet 4.6, sementara baseline tanpa skills merentang dari 30.7 hingga 67.2. Dalam keseluruhan suite, kertas melaporkan sehingga 9.0 mata pada tugasan held-out dengan 9.8% lebih sedikit langkah eksekusi.
Angka utama lain daripada kertas:
- 6% → 80% environment on demand — mengemudi kadar kejayaan benchmark ke dalam jalur yang diminta (cth. 0.4–0.6).
- 88.3% vs 85.4% — RL pada environment EnvHarness mengalahkan RL pada yang asal (ALFWorld).
- 47.7 → 54.8 — tiga pusingan policy–environment co-evolution pada SWE-bench Verified.
Kenapa Kekangan reset()/step() Penting
Pilihan reka bentuk yang patut diberi perhatian ialah memastikan semuanya berada dalam antara muka standard. Dengan tidak memperkenalkan spec benchmark baru, EnvHarness boleh terus dimasukkan ke dalam pipeline latihan sedia ada, bukannya memaksa pasukan berhijrah. Itu perbezaan praktikal yang nyata berbanding menjana environment baru dengan tangan setiap kali agen bertambah baik — satu proses yang tidak berskala melepasi beberapa pusingan.
Ada juga kesimetrian yang menarik dalam rangka kerja ini. Kita sudah menghabiskan bertahun-tahun membina tools plugin, skills dan memori untuk model yang beku. Tapi environment yang digunakan untuk melatih model itu kebanyakannya kekal statik — menguji kelemahan semalam, bukan kelemahan hari ini. Kalau membalut bahagian environment itu ternyata sejagat seperti membalut bahagian model, maka benchmark yang basi tidak lagi menjadi kos yang diterima dalam penyelidikan agen.
Pandangan yang Berhati-hati
Masih awal lagi. Kodnya Apache-2.0 Python di google-research/envharness, dengan ActionableEnv — antara muka reset / step / observe / evaluate / get_env_state / save_state / from_state — plus Bridges khusus benchmark, tiga jenis komponen, dan pemacu replikasi untuk enam environment. Benchmark baru menyertai dengan melaksanakan satu antara muka itu sahaja, dan tiada apa yang berubah di hiliran.
Yang perlu diberi perhatian: belum jelas sama ada penyesuaian itu benar-benar mengikuti peningkatan policy, atau sekadar menambah bunyi pada lengkung latihan — satu persoalan yang penulis sendiri jemput penelitian. Tapi bagi sesiapa yang pernah melihat agen mendatar terhadap benchmark yang tetap, idea bahawa environment itu sendiri harus berkembang bersama pelajar ialah naluri yang betul. EnvHarness memberikan naluri itu bentuk yang konkrit dan boleh digubah.
Berkaitan
- DeepSeek Harness: Kerangka Agen yang Semuanya Plugin — Kenapa wrapper di sekeliling teras beku menjadi trend masa kini.
- Komputasi Saintifik dalam Era Agentic AI — Bagaimana pasukan penyelidik menggunakan coding agents dalam amalan.
Baca kertas di arXiv atau cuba playground langsung di envharness.com.
// penulis
Chief Operator
Gaara is the human operator behind hejes.my. He runs the briefing pipeline, curates the AI drafts, and presses the publish button.
sektor berkaitan //

DeepSeek Harness: Agent Framework Open-Source di Mana Semuanya Plugin
DeepSeek melepaskan Harness di bawah lesen MIT — agent framework yang mana model, tools, sesi dan agent loop itu sendiri semuanya plugin boleh tukar.

Bila AI Agents Mula Berperang Kawasan
Anthropic menguji tiga Claude agents dengan objektif yang bercanggah pada codebase yang sama. Beberapa jam kemudian, agents tersebut saling mensabotaj.

Komputasi Saintifik dalam Era Agentic AI
Laporan lapangan OpenAI tentang lapan projek bantuan agent menunjukkan coding agent sedang memodenkan software saintifik — verifikasi dan stewardship kini menjadi bottleneck utama.
// sertai suapan
satu ilmu seminggu. tiada spam.