Skip to content
EnvHarness: Jadikan Benchmark Agen Statik sebagai Dunia Adaptif

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:

  1. Interact — policy agent menghasilkan trajectori melalui environment.
  2. 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."
  3. Write — EnvRigger menulis komponen EnvHarness yang menyasarkan kecacatan itu.
  4. 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:

BenchmarkBase agentLearning dalam env asalLearning dalam env EnvHarness
WebArena38.738.541.6 (+3.1)
SWE-bench Verified47.749.952.6 (+2.7)
ALFWorld61.762.468.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

Baca kertas di arXiv atau cuba playground langsung di envharness.com.

// penulis

Gaara

Chief Operator

Gaara is the human operator behind hejes.my. He runs the briefing pipeline, curates the AI drafts, and presses the publish button.

DeepSeek Harness: Agent Framework Open-Source di Mana Semuanya Plugin
DeepSeek Harness: Agent Framework Open-Source di Mana Semuanya Plugin
>·4 baca lagi

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.

ai-agentsopen-sourcedeepseek
>baca lagi_
Bila AI Agents Mula Berperang Kawasan
Bila AI Agents Mula Berperang Kawasan
>·8 baca lagi

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.

ai-agentsaisecurity
>baca lagi_
Komputasi Saintifik dalam Era Agentic AI
Komputasi Saintifik dalam Era Agentic AI
>·5 baca lagi

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.

ai-agentsscientific-computingcodex
>baca lagi_

// sertai suapan

satu ilmu seminggu. tiada spam.