JevHarness nima qiladi
JevHarness mualliflik LLM'iga Jev uchun vazifaga xos qarorlar harness'ini yaratishda yordam beradi. Harness ruxsat etilgan kuzatuvlarni foydali xususiyatlarga aylantiradi, tuzilgan Jev savollari va mezonlarini yaratadi hamda javoblarni qonuniy vazifa amallariga birlashtiradi.
Asosiy g‘oya qimmat strategiya ishlab chiqish jarayonini muntazam bajarishdan ajratishdir:
Ishlab chiqish vaqtida chuqur fikrlang. Strategiyani muzlatib qo‘ying. Jev tez va noaniq qarorlar qabul qilsin.
Ishlab chiqish vaqtida LLM harness kodini, savollarni, grafni, holatni, mezonlarni va xotirani qayta ko‘rib chiqishi mumkin. Harness tanlanib, muzlatilgandan so‘ng, ish vaqtidagi qarorlar shu belgilangan mantiq va Jev chaqiruvlaridan foydalanadi. Mualliflik LLM'i har bir amalni qaytadan tahlil qilishi shart emas.
Bu JevHarness'ni kod ishonchli faktlarni hisoblay oladigan, ammo ayrim qarorlar kontekstga bog‘liq yoki noaniq bo‘lib qoladigan vazifalar uchun mos qiladi. Masalan, kod qonuniy amallarni aniqlashi va sonli xususiyatlarni hisoblashi mumkin, Jev esa mavjud amallardan qaysi biri vazifaga xos mezonlarni eng yaxshi qondirishini baholaydi.
Arxitektura va mas’uliyat chegaralari
JevHarness ishonchli vazifa adapterini qarorlar harness'idan ajratadi. Bu chegara harness'ning o‘z mukofotini o‘zgartirishiga yoki yashirin vazifa holatiga kirishiga yo‘l qo‘ymaydi.
- Vazifa adapteri: Kuzatuvlar, qonuniy amallar, yon ta’sirlar va baholash uchun javob beradi.
- Harness: Xususiyatlarni yaratish, Jev baholashlari va qarorlar mantiqiga javob beradi.
- Muhit: Amallarni bajaradi va ishonchli natijalar yoki mukofotlarni qaytaradi.
- Mualliflik LLM'i: Ishlab chiqish va ixtiyoriy refleksiya vaqtida harness'ni yaratadi yoki qayta ko‘rib chiqadi.
Tekshirilgan PipelineSpec PipelineRuntime orqali bajariladi. Tanlangandan so‘ng, pipeline spetsifikatsiyasi, runtime muhiti, evaluator'i va e’lon qilingan vazifa resurslari bilan birga muzlatilishi mumkin.
Asosiy imkoniyatlar
Tuzilgan Jev baholashlari
Jev choice, score va noul javob turlarini qo‘llab-quvvatlaydi. So‘rov bir nechta nomlangan savollarni o‘z ichiga olishi mumkin, mustaqil graf tugunlari esa bir vaqtda bajariladi.
Strategiyaning aniq ifodalanishi
Strategiya kodda, hisoblangan xususiyatlarda, holatda, ko‘rsatmalarda, mezonlarda, xotirada va boshqaruv oqimida saqlanadi. Bu qarorlar jarayonini mualliflik suhbati ichida yashirib qo‘ymasdan, tekshiriladigan va qayta foydalaniladigan holga keltiradi.
To‘liq bajarilish izlari
Refleksiya tanlangan epizodlarning to‘liq yozuvlarini, jumladan kuzatuvlar, qarorlar, tugun kirishlari va chiqishlari, Jev savollari va javoblari, xotira hamda xatolarni qabul qilishi mumkin. Yo‘qotishsiz deduplikatsiya takrorlanishni kamaytiradi. Refleksiya kiritmasi sozlangan bayt limitidan oshsa, u jimgina qisqartirilmaydi, balki arxivlanadi va rad etiladi.
Mukofot asosida ixtiyoriy takomillashtirish
Ixtiyoriy GEPA integratsiyasi instansiyalar frontidan ota variantlarni tanlaydi, har bir ota variant va taklifni bir xil o‘quv paketida taqqoslaydi hamda qabul qilingan takliflarni Eval'da baholaydi. U rad etilgan takliflarni ham qo‘shgan holda, haqiqiy kelib chiqish zanjirini qayd etadi.
Tekshiriladigan muzlatilgan artefaktlar
Muzlatish tanlangan harness va uning e’lon qilingan bog‘liqliklarini saqlab qoladi. Jev tugunlarini o‘z ichiga olgan muzlatilgan harness ish vaqtida ham Jev'ni talab qiladi. Shuningdek, joylashtirilgan model taxallusi kelajakda provayder xatti-harakatlari o‘zgarmasligini kafolatlamaydi; shu sababli saqlangan javoblar va yangi chaqiruvlar takrorlanuvchanlikning turli darajalarini ta’minlaydi.
Talablar
Ishga tushirmoqchi bo‘lgan narsangizga mos talablarni tanlang:
- Arxivlangan veb-sayt: Node.js va zamonaviy brauzer. Buning uchun model hisob ma’lumotlari, o‘yin dvigateli yoki Python sandbox'i kerak emas.
- Python loyihasi: Python 3.11 yoki undan keyingi versiya.
- Funksional Python tugunlari: Qo‘llab-quvvatlanadigan macOS native sandbox'i. Izolyatsiya mavjud bo‘lmasa, bajarilish xavfsiz tarzda to‘xtatiladi.
- 2-versiya ifodalari va Jev oqimlari: Bular funksional Python worker'larini ishga tushirmaydi.
- Jonli Jev chaqiruvlari: Qo‘llab-quvvatlanadigan provayder hisobi va tegishli API kaliti.
- Ixtiyoriy mualliflik va refleksiya: Local Claude CLI, OpenAI, Azure yoki Anthropic endpoint'idan foydalanadigan sozlangan
Proposer.
Claude Code'ga skill o‘rnatish
Claude Code uchun eng tezkor sozlash usuli repository'ni plugin marketplace sifatida qo‘shish, plaginni o‘rnatish va plaginlarni qayta yuklashdir.
/plugin marketplace add https://github.com/TianyuCodings/JevHarness.git
/plugin install jev-harness@jevharness
/reload-plugins
Plaginni o‘rnatish skill va unga tegishli ma’lumotnomalarni yuklaydi, ammo Python bog‘liqliklarini o‘rnatmaydi yoki model hisob ma’lumotlarini sozlamaydi. Repository shaxsiy bo‘lsa, GitHub autentifikatsiyasi avvaldan ishlashi va hisobingizda o‘qish huquqi bo‘lishi kerak.
Codex'ga skill o‘rnatish
O‘rnatilgan skill-installer taqdim etadigan Codex host'ida repository'dan o‘rnatishni bevosita so‘rang:
$skill-installer Install the jev-harness skill from https://github.com/TianyuCodings/JevHarness/tree/main/skills/jev-harness
Skill'dan keyingi turn'da foydalaning. Agar Codex uni darhol aniqlamasa, sessiyani qayta ishga tushiring.
Qo‘lda o‘rnatish
Skill'ni Claude Code, Codex yoki ikkalasi uchun qo‘lda o‘rnatishingiz mumkin. /path/to/your-project o‘rniga mavjud loyiha katalogini kiriting.
git clone https://github.com/TianyuCodings/JevHarness.git
cd JevHarness
python3 scripts/install-skill.py --target both --scope project --project /path/to/your-project
Bu Codex uchun .agents/skills/jev-harness/ va Claude Code uchun .claude/skills/jev-harness/ manzillarida loyiha darajasidagi o‘rnatishlarni yaratadi. Faqat bittasini o‘rnatish uchun --target codex yoki --target claude parametridan foydalaning.
Loyihalar bo‘ylab mavjud bo‘ladigan foydalanuvchi darajasidagi o‘rnatish uchun quyidagini bajaring:
python3 scripts/install-skill.py --target both --scope user
Shaxsiy o‘rnatish joylari ~/.agents/skills/jev-harness/ va ~/.claude/skills/jev-harness/ hisoblanadi. O‘rnatuvchi boshqa mavjud o‘rnatmani ustiga yozishni rad etadi. Agar skill aniqlanmasa, agent sessiyasini qayta ishga tushiring.
Arxivlangan Pokémon misolini ko‘rib chiqing
Ichki Pokémon misolida arxivlangan ishga tushirish, tanlangan harness, ko‘rib chiqish mumkin bo‘lgan evolyutsiya daraxti, to‘liq qaror yozuvlari, rad etilgan takliflar va Jev javoblari bilan sinxronlangan qayta ijro lavhalari mavjud. Ushbu arxivni ko‘rib chiqish modelga hech qanday so‘rov yubormaydi va o‘yinlarni boshlamaydi.
- Repozitoriyni klonlang.
- Veb-saytni yig‘ing.
- Mahalliy preview serverini ishga tushiring.
- Saytni zamonaviy brauzerda oching.
git clone https://github.com/TianyuCodings/JevHarness.git
cd JevHarness
node website/build.mjs
node website/preview.mjs --port 8768
localhost:8768 manzilini oching. Jang animatsiyalari Pokémon Showdown rasmiy rendereridan resurslarni yuklab oladi. Arxivlangan jang jurnali brauzerda saqlanadi va replay serveriga yuklanmaydi.
Hisobotga ko‘ra, Pokémon natijasi beshta refleksiya raundidan so‘ng Eval yutuq ko‘rsatkichini 25 foizdan, ya’ni 12 ta o‘yindan 3 tasidan, 75 foizga, ya’ni 12 ta o‘yindan 9 tasiga oshirdi. Qidiruv uchinchi raunddagi nomzodni eng yaxshi harness sifatida saqlab qoldi. Bu selection Eval to‘plamida o‘lchangan va ko‘rilmagan o‘yinlardagi natijadorlikning mustaqil bahosi sifatida qabul qilinmasligi kerak.
Oddiy qarorni tushunish
Harness vazifaga xos Jev so‘rovini yozadi. Unda state, nomlangan questions, javob type, shuningdek mavjud harakatlarni baholash uchun ishlatiladigan instructions va criteria bo‘ladi.
Yozib olingan Pokémon misolida harness Slowbro Gastrodon bilan zarba almashinuvi poygasida yutqazishi ehtimoli yuqori ekanini hisoblaydi. U to‘rtta qonuniy variantni, jumladan uchta harakat va Scizorga almashtirishni taqdim etadi. Harakat savolida choice turi ishlatiladi va Jevdan ro‘yxatdagi aynan bitta harakat ID sini qaytarish talab qilinadi.
{
"questions": {
"action": {
"type": "choice",
"instructions": "Butun jangda, faqat shu navbatda emas, g‘alaba qozonish ehtimoli eng yuqori bo‘lgan yagona harakatni tanlang.",
"criteria": {
"switch:2": "Scizorga almashtirish; almashtirish bitta tekin hujumni boy berishga olib keladi",
"move:2": "Psychic; nishonni nokaut qilish uchun taxminan 3 ta zarba kerak",
"move:3": "Ice Beam; nishonni nokaut qilish uchun taxminan 4 ta zarba kerak",
"move:4": "Slack Off; kutilayotgan zarar joriy HPdan oshadi"
}
}
}
}
Jev 0.72 harakat tanlash ehtimoli bilan switch:2 ni tanlaydi va harness bu tanlovni qabul qiladi. Bu qiymat ro‘yxatdagi harakatlarni o‘zaro taqqoslaydi; u o‘yinchining jangda g‘alaba qozonish ehtimoli 72 foiz ekanini bashorat qilmaydi.
Yozib olingan to‘liq so‘rov, javob, vaqt ma’lumotlari va kelib chiqish tafsilotlari Pokémonning 12-navbatdagi JSON yozuvida mavjud.
O‘z harnessingizni yarating
Jev uchun barcha ko‘rsatmalar va mezonlarni qo‘lda yozishingiz shart emas. O‘rnatilgan skillni chaqiring va vazifani tavsiflang, so‘ng kodlash agenti kerakli kontrakt tafsilotlarini yig‘ishiga imkon bering.
Claude Code plagini orqali chaqirish
/jev-harness:jev-harness Build a harness that routes support tickets to the right team.
First clarify my inputs, legal actions, examples, success criteria, and budget.
If we have reliable rewards, add evaluation and reflection optimization.
Mustaqil Claude Code orqali chaqirish
/jev-harness Build a harness that routes support tickets to the right team.
First clarify my inputs, legal actions, examples, success criteria, and budget.
If we have reliable rewards, add evaluation and reflection optimization.
Codex orqali chaqirish
$jev-harness Build a harness that routes support tickets to the right team.
First clarify my inputs, legal actions, examples, success criteria, and budget.
If we have reliable rewards, add evaluation and reflection optimization.
Skill avval darhol pipeline yaratish o‘rniga vazifani aniqlashtirishi kerak. Undan quyidagilar haqida ma’lumot to‘plashini kuting:
- Vazifa kuzatuvlari va yashirin holat chegaralarida ruxsat etilgan ma’lumotlar.
- Qonuniy harakatlar va harakatlar qanday tekshirilishi.
- Namunaviy misollar va mavjud ma’lumotlar.
- Muvaffaqiyat mezonlari, mukofotlar yoki baholash tartiblari.
- Ishlash muhiti va izolyatsiya talablari.
- Hisob ma’lumotlari va provayder mavjudligi.
- Tajriba budjeti va optimallashtirish resurslari.
Kontrakt aniq bo‘lgach, agent harnessni yaratishi va tekshirishi mumkin. Agar ishonchli fikr-mulohaza mavjud bo‘lsa va siz optimallashtirishni so‘rasangiz, tanlangan natijani yakuniy holatga keltirishdan oldin refleksiya uchun trayektoriyalar va mukofotlardan foydalanishi mumkin.
Jev hisob ma’lumotlarini sozlash
JevHarness Jev transportining hujjatlashtirilgan ikkita konfiguratsiyasini qo‘llab-quvvatlaydi:
- Vercel AI Gateway:
JevClient(transport="vercel")ni yarating vaAI_GATEWAY_API_KEYni o‘rnating. - TypeSafe to‘g‘ridan-to‘g‘ri:
JevClient(transport="typesafe")ni yarating vaTYPESAFE_API_KEYni o‘rnating.
Provayder adapterlari har bir model yoki endpoint hisobingiz uchun mavjud bo‘lishini kafolatlamaydi. Hisob ma’lumotlarini muhit o‘zgaruvchilarida yoki e’tiborsiz qoldiriladigan mahalliy .env faylida saqlang. Hisob ma’lumotlarini hech qachon vazifa kuzatuvlari, trace’lar yoki muzlatilgan artefaktlarga joylamang.
Harnessni baholang va yaxshilang
Refleksiya ixtiyoriy. Undan faqat ishonchli mukofot yoki baholash usuliga ega bo‘lsangiz foydalaning. Amaliy ish jarayoni quyidagicha:
- Vazifa chegaralarini belgilang. Yashirin holat, ball hisoblash, qonuniy harakatlarni tekshirish va nojo‘ya ta’sirlarni ishonchli adapterda saqlang.
- Bazaviy harness yarating. Ishonchli xususiyatlarni kodda hisoblang va Jev’ni kontekstga bog‘liq mulohazalar uchun ajrating.
- Pipeline’ni tekshiring.
PipelineSpecva runtime vazifa shartnomasiga mos kelishini tasdiqlang. - To‘liq izlarni to‘plang. Kuzatuvlar, tugun kiritmalari, chiqishlar, savollar, javoblar, xotira, xatolar va mukofotlarni saqlang.
- Qayta ko‘rib chiqishlarni taklif qiling. Mualliflik LLM’iga dalillarni tekshirish va kod, promptlar, graf tuzilmasi yoki xotirani qayta ko‘rib chiqish imkonini bering.
- Adolatli taqqoslang. Ota-versiya va taklifni bir xil o‘quv paketi asosida taqqoslang.
- Qabul qilingan takliflarni baholang. To‘liq Eval baholashini ishga tushiring va rad etilgan takliflarni ham qo‘shgan holda haqiqiy nomzod ajdodligini saqlang.
- Tanlangan harness’ni muzlating. G‘olib spetsifikatsiyani uning runtime’i, baholovchisi va e’lon qilingan vazifa resurslariga bog‘lang.
O‘quv dalillari va Eval tanlov natijalarini aniq ajratib turing. Agar Eval nomzodni tanlash uchun ishlatilsa, uni ko‘rilmagan vazifalardagi unumdorlikning xolis bahosi sifatida emas, tanlov unumdorligi sifatida ko‘rsating.
Kechikish va parallellik
Arxivlangan Pokémon Eval sinovida tanlangan harness to‘liq qarorni median 568 millisekundda yakunladi. Alohida Jev so‘rovlarining median davomiyligi 269 millisekundni tashkil etdi. Dastlabki harness’da to‘liq qaror vaqti median 678 millisekund bo‘lgan.
- Dastlabki harness to‘liq qarori: median 678 ms, P95 1,495 ms, 238 ta qaror.
- Tanlangan harness to‘liq qarori: median 568 ms, P95 657 ms, 113 ta qaror.
- Tanlangan harness’dagi alohida Jev so‘rovi: median 269 ms, P95 348 ms, 226 ta so‘rov.
To‘liq qaror vaqti xususiyatlarni hisoblash, parallel Jev chaqiruvlari va yakuniy harakatni tanlashni o‘z ichiga oladi. Alohida so‘rov vaqti mijoz va tarmoq kechikishini ham o‘z ichiga oladi. Parallel chaqiruvlar davomiyligi bir-biriga ustma-ust tushadi, shuning uchun ularni qo‘shmaslik kerak. Jang simulyatsiyasi va mualliflik yoki refleksiya vaqti ushbu qaror o‘lchovlaridan tashqarida.
Ushbu arxivlangan kuzatuvlarda mahalliy javob keshidan olingan natijalar hisobga olinmagan, biroq ular har bir runtime qarorini LLM qabul qiladigan nazoratli benchmark ham bo‘lmagan.
Ilg‘or maslahatlar
Mulohaza so‘rashdan oldin faktlarni hisoblang
Qonuniy harakatlar, sonli baholar, chegaralar va hosilaviy holat kabi faktlar uchun deterministik kod yoki ifodalardan foydalaning. Qolgan noaniq tanlov uchun Jev’ga yo‘naltirilgan holat va aniq mezonlarni bering.
Harakat mezonlarini aniq ifodalang
Mavjud har bir harakatni vazifaga tegishli dalillar yordamida tasvirlang. Pokémon harness’ida mezonlarga qolgan salomatlik, zarar baholari, tezlik, nokaut uchun zarur bo‘lgan yurishlar soni va almashganda bepul hujumga imkon berish qiymati kiradi.
Mustaqillik mavjud bo‘lgan joyda parallel tugunlardan foydalaning
Mustaqil graf tugunlari bir vaqtda ishlashi mumkin, bir nechta savol esa bitta so‘rovni bo‘lishishi mumkin. Vazifa talab qilmaydigan bog‘liqliklarni kiritmasdan, bundan foydalanadigan tarzda grafni tuzing.
Ehtimollarni to‘g‘ri talqin qiling
Tanlov ehtimoli so‘rovda taqdim etilgan variantlarni reytinglaydi. Baholovchingiz bu ma’noni alohida tasdiqlamagan bo‘lsa, uni umumiy vazifa muvaffaqiyatining kalibrlangan ehtimoli sifatida talqin qilmang.
Muvaffaqiyatsizliklarni to‘liq saqlang
Muvaffaqiyatsizliklar noto‘g‘ri taxminlar, yetishmayotgan kuzatuvlar va mo‘rt mezonlarni ochib berishi mumkin. Refleksiya to‘liq dalillarga ega bo‘lishi uchun ularni muvaffaqiyatli qarorlar bilan birga izlarda saqlang.
Yashirin qisqartirishdan saqlaning
Realistik refleksiya bayt limitini sozlang. JevHarness dalillar yaxlitligini himoya qilish uchun hajmi oshib ketgan refleksiya kiritmalarini qisqartirmasdan, arxivlaydi va rad etadi; shu sababli tajribalar hajmini oldindan rejalashtirish kerak.
Muzlatilgan mantiqni muzlatilgan provayder xatti-harakatidan ajrating
Harness’ni muzlatish tanlangan pipeline va e’lon qilingan resurslarni o‘zgarmas qiladi, biroq joylashtirilgan model taxallusi vaqt o‘tishi bilan o‘zgarishi mumkin. Aniq tarixiy tekshiruv muhim bo‘lsa, yozib olingan javoblarni saqlang va yangi provayder chaqiruvlarini takrorlanuvchanlikning boshqa sharti sifatida ko‘ring.
Repository xaritasidan foydalaning
auto_jev/spetsifikatsiyani tekshirish, parallel runtime, Jev transportlari, refleksiya, GEPA, saqlash va muzlatishni o‘z ichiga oladi.examples/pokemon/ishonchli jang adapteri, boshlang‘ich qiymati belgilangan mahalliy engine ko‘prigi, harness’lar va taqdimot kodini o‘z ichiga oladi.examples/pokemon/sample/tanlangan harness va saralangan veb-sayt arxivini o‘z ichiga oladi.docs/vazifa muallifligi materiallari, yozib olingan Jev chaqiruvi, videolar va skrinshotlarni o‘z ichiga oladi.skills/jev-harness/vazifaga xos harness’larni yaratadigan kod agentlari uchun ko‘rsatmalarni o‘z ichiga oladi.website/faqat o‘qish uchun mo‘ljallangan namoyish va joylashtirish adapterini o‘z ichiga oladi.
Xulosa
JevHarness LLM tomonidan ishlab chiqilgan strategiyani aniq va tekshiriladigan runtime mantiqiga aylantiradi. Avval qat’iy vazifa chegarasini belgilang, skill’ga pipeline’ni yaratish va tekshirishga imkon bering, refleksiyaga asoslangan takomillashtirishni istasangiz, to‘liq izlar hamda ishonchli mukofotlardan foydalaning. Nomzod tanlangach, uni muzlating, shunda odatiy qarorlar har bir harakat uchun mualliflik LLM’ini chaqirmasdan, uning kodi va yo‘naltirilgan Jev mulohazalaridan foydalanishi mumkin.
