Sakhanda Wire
NVDA $215.38 -1.17% MSFT $531.01 -0.06% GOOGL $324.89 +1.34% META $612.49 -1.24% AMZN $254.60 +0.59%
← До новин

Infini-AI-Lab випустила Hermit — фреймворк адаптерів обв’язки з відкритим кодом для ШІ-агентів

Infini-AI-Lab випустила Hermit — фреймворк адаптерів оболонки з відкритим кодом для ШІ-агентів. Hermit — це фреймворк від Infini-AI-Lab, який навчає зовнішній «адаптер оболонки», тоді як модель агента та його оболонка залишаються незмінними. Перший реліз, v0.1.0, вийшов 25 жовтня 2026 року. Постдокторантка CMU Хайчжун Чжен оголосила про нього в X 27 жовтня. Для розробників пропозиція проста: адаптувати агентів Codex або Claude Code до нових завдань без тонкого налаштування чи форку оболонки.

Коротко

  • Обсяг: Фреймворк на Python. Власних параметрів немає. Ліцензія Apache-2.0, pip install hermit-harness.
  • Працює на: Для офлайн-швидкого старту не потрібні GPU, обліковий запис моделі чи набір даних. Для реальних запусків можна використовувати будь-який API-бекенд або локальний сервер vLLM, SGLang чи Ollama.
  • Продуктивність: Повідомляється про приріст порівняно з базовими системами без адаптерів на OfficeQA, CL-Bench і ServeLearnBench — усі тести виконувалися з GLM 5.3 Flash.
  • Найкращий результат: Адаптер MWM досягає точності 0,795 у дослідженні баз даних CL-Bench проти 0,580 для базового варіанта з контекстом.
  • Найгірший результат: Адаптер лише на основі промпту набирає 0,470 у тому самому тесті — нижче за базовий показник 0,580.
  • Підсумок: Перевага: один цикл навчання для 5 методів еволюції оболонки. Недолік: більшість результатів отримано в одиничних запусках і наведено самими розробниками.

Що таке адаптер оболонки?

Адаптер оболонки — це зовнішня оболонка, яку можна навчати. Він працює як плагін із вбудованою підтримкою навчання. Адаптер моделі, наприклад LoRA, адаптує модель. Натомість адаптер оболонки адаптує вже наявного агента.

Адаптер може містити інструкції, навички, пам’ять, інструменти, виконуваний код і логіку координації агентів. Він навіть може являти собою цілий репозиторій. Його специфікація визначає, які частини можна навчати та як перевіряються оновлення. Базова модель і оболонка ніколи не змінюються.

Команда називає 3 причини такого підходу. Багато оболонок мають закритий код. Редагування відкритих оболонок може порушити ретельно налаштовану взаємодію компонентів. Крім того, навчений адаптер можна переносити між сумісними моделями та оболонками.

Як Hermit навчає адаптер?

Hermit використовує цикл навчання в стилі RL. Trainer запускає пакет завдань через агента, який діє з поточним адаптером. Judge оцінює результати. Evolver аналізує траєкторії та зворотний зв’язок, а потім пропонує новий адаптер. Trainer перевіряє його відповідно до шаблону та фіксує як наступну версію.

Кожна версія адаптера зберігається в дереві git. Можна переглядати, відкотити або розгорнути будь-яку версію. Програми навчання можуть працювати в ізольованому середовищі, для чого потрібен Linux із bubblewrap.

Сьогодні доступні п’ять методів еволюції: GEPA, SkillOpt, MetaWorld Model (MWM), Harness² і Continual Harness. ACE і ReHarness зазначені як такі, що з’являться незабаром. Також можна написати власний Evolver.

Відтворити</button> <button class="btn gh" id="mhx-next">Наступний крок</button> <button class="btn gh" id="mhx-reset">Скинути</button> <span class="ver">Версія адаптера <b id="mhx-v">V0</b></span> </div> <p class="note">Вбудовані Evolver: GEPA, SkillOpt, MetaWorld Model (MWM), Harness², Continual Harness. ACE і ReHarness зазначені як такі, що з’являться незабаром.</p> </div> <div class="pn" data-i="2"> <p class="lead">Результати, наведені самими розробниками; в усіх тестах як модель агента використовувалася <b>GLM 5.3 Flash</b>. Оберіть бенчмарк.</p> <div class="seg"> <button class="tab on" data-b="0">OfficeQA</button> <button class="tab" data-b="1">База даних CL-Bench</button> <button class="tab" data-b="2">ServeLearnBench (H)</button> </div> <div class="bars" id="mhx-bars"></div> <p class="note" id="mhx-bnote"></p> </div> <div class="pn" data-i="3"> <p class="lead">Навчіть один раз, а потім <b>розгорніть</b> адаптер у робочому просторі агента або експортуйте його як нативний плагін.</p> <div class="term"><span class="p">$</span> pip install hermit-harness <span class="p">$</span> hermit train --config run.yaml <span class="p">$</span> hermit eval --config run.yaml --adapter final <span class="p">$</span> hermit deploy --adapter DIR --workspace WS --host codex <span class="p">$</span> hermit convert --adapter DIR --output OUT --target claude-code <span class="c"># інші цілі конвертації: codex, pi, hermes</span></div> <div class="hosts"> <span class="chip" data-d="Ціль розгортання та експорту плагіна.">Codex</span> <span class="chip" data-d="Ціль розгортання та експорту плагіна.">Claude Code</span> <span class="chip" data-d="Ціль розгортання та експорту плагіна.">Pi</span> <span class="chip" data-d="Ціль експорту плагіна.">Hermes</span> </div> <div class="info" id="mhx-dinfo">Бекенди за посиланням: Fireworks, OpenAI, Anthropic, DeepSeek, vLLM, SGLang, Ollama. Для офлайн-швидкого старту не потрібні GPU, обліковий запис моделі чи набір даних.</div> </div> <div class="ft"><span>Джерело: github.com/Infini-AI-Lab/hermit · наведено самими розробниками</span><span class="mtp">© Marktechpost</span></div> </div> <script> (function(){ var R=document.getElementById('mtp-hermit-x');if(!R)return; function ping(){try{var h=R.offsetHeight+40;parent.postMessage({mtpEmbedHeight:h,height:h,frameHeight:h},'*');}catch(e){}} var tabs=R.querySelectorAll('.tabs .tab'),pns=R.querySelectorAll('.pn'); tabs.forEach(function(t){t.addEventListener('click',function(){var p=+t.getAttribute('data-p');tabs.forEach(function(x){x.classList.remove('on')});t.classList.add('on');pns.forEach(function(x){x.classList.toggle('on',+x.getAttribute('data-i')===p)});if(p===2)drawBars(cur);setTimeout(ping,60);});}); function wire(sel,out){R.querySelectorAll(sel).forEach(function(c){c.addEventListener('click',function(){R.querySelectorAll(sel).forEach(function(x){x.classList.remove('sel')});c.classList.add('sel');document.getElementById(out).textContent=c.textContent+': '+c.getAttribute('data-d');ping();});});} wire('.dg .chip','mhx-info');wire('.hosts .chip','mhx-dinfo'); var steps=R.querySelectorAll('.st'),si=-1,ver=0,timer=null; var msg=['Trainer запускає пакет завдань через агента, який діє з поточним адаптером.','Judge оцінює кожен результат і записує зворотний зв’язок.','Evolver аналізує траєкторії та зворотний зв’язок, а потім пропонує новий адаптер.','Trainer перевіряє пропозицію відповідно до шаблону адаптера.','Перевірене оновлення фіксується як наступна версія адаптера.']; function go(i){si=i;steps.forEach(function(s,k){s.classList.toggle('on',k===i)});document.getElementById('mhx-step').textContent=msg[i];if(i===4){ver++;document.getElementById('mhx-v').textContent='V'+ver;}} function next(){go((si+1)%5)} document.getElementById('mhx-next').onclick=function(){stop();next()}; document.getElementById('mhx-play').onclick=function(){if(timer){stop();return}this.textContent='❚❚ Пауза';next();timer=setInterval(next,1400)}; function stop(){clearInterval(timer);timer=null;document.getElementById('mhx-play').textContent=' Відтворити'} document.getElementById('mhx-reset').onclick=function(){stop();si=-1;ver=0;steps.forEach(function(s){s.classList.remove('on')});document.getElementById('mhx-v').textContent='V0';document.getElementById('mhx-step').textContent='Натисніть «Відтворити», щоб пройти одну ітерацію навчання.'}; var B=[ {max:1,fmt:3,rows:[['Без адаптера',.541],['Початкова навичка',.576],['GEPA',.580],['SkillOpt',.600],['Continual Harness',.634,1],['Harness²',.651,1]],n:'Точність на 172 тестових запитаннях. GEPA і SkillOpt — середні значення 4 навчань, протестовані в замороженому стані. Continual Harness і Harness² навчаються під час одноразового потокового проходження тестового набору. Стандартна похибка — близько 3,7 пункту.'}, {max:1,fmt:3,rows:[['Безстанова базова модель',.400],['Лише промпт',.470],['Базова модель ICL',.580],['MWM',.795,1]],n:'Точність на потоці з 40 запитань у недокументованій базі даних SQLite, що змінюється. Середнє значення для 5 порядків проходження потоку.'}, {max:100,fmt:1,rows:[['Сліпий режим',4.5],['Лише промпт',18.8],['SkillOpt (таблиця лідерів)',22.0],['CH (таблиця лідерів)',28.7],['MWM',45.3,1],['Оракул (політика задана)',89.2]],n:'retail_l3: 624 запити на обслуговування, 537 відкладених тестів. H = оцінка на тестах, що потребують прихованої політики. По одному запуску для кожного методу.'}]; var cur=0; function drawBars(k){cur=k;var d=B[k],el=document.getElementById('mhx-bars');el.innerHTML='';d.rows.forEach(function(r){var row=document.createElement('div');row.className='row'+(r[2]?' hl':'');row.innerHTML='<span class="lb">'+r[0]+'</span><span class="tr"><span class="fl" style="display:block"></span></span><span class="v">'+r[1].toFixed(d.fmt)+'</span>';el.appendChild(row);var f=row.querySelector('.fl');setTimeout(function(){f.style.width=(r[1]/d.max*100)+'%'},40);});document.getElementById('mhx-bnote').textContent=d.n;setTimeout(ping,60);} R.querySelectorAll('.seg .tab').forEach(function(b){b.addEventListener('click',function(){R.querySelectorAll('.seg .tab').forEach(function(x){x.classList.remove('on')});b.classList.add('on');drawBars(+b.getAttribute('data-b'));});}); drawBars(0); window.addEventListener('load',ping);window.addEventListener('resize',ping);setTimeout(ping,300); })(); </script> </body></html>">

Які результати бенчмарків?

У всіх наведених нижче запусках як модель агента використовувалася GLM 5.3 Flash. Цифри взято з прикладів README у репозиторії, і вони наведені самими розробниками.

OfficeQA (рецепт) містить 172 тестові запитання про бюлетені Міністерства фінансів США, оцінені за точним збігом:

МетодТочність
Без адаптера0.541
Початкова навичка0.576
GEPA0.580
SkillOpt0.600
Continual Harness0.634
Harness²0.651

GEPA і SkillOpt навчаються на 50 запитаннях, а потім тестуються в замороженому стані. Continual Harness і Harness² натомість навчаються під час одноразового потокового проходження тестового набору. Команда повідомляє про приріст Harness² на 7,6 пункту порівняно з еталонним запуском, із 95% інтервалом від +1,7 до +13,4.

CL-Bench (база даних, покер) тестує середовища зі збереженням стану з статті про бенчмарк безперервного навчання. У дослідженні баз даних MWM досягає точності 0,795. Базовий варіант бенчмарку з контекстом набирає 0,580. У покері, який можна експлуатувати, MWM виграє 3,08 великої блайнд-ставки за роздачу проти 2,51 для навчання в контексті.

ServeLearnBench (рецепт) передає потоком 624 запити до роздрібної служби підтримки за прихованою політикою, що змінюється. MWM набирає 45,3 на тестах із прихованою політикою. Найкращий метод навчання в таблиці лідерів — CH — набирає 28,7. Оракул, якому відома політика, набирає 89,2.

Як Hermit порівнюється з іншими оптимізаторами агентів?

ФункціяHermitGEPAACEAgent Lightning
Що навчаєЗовнішній адаптер оболонкиБудь-який текстовий параметр (промпти, код)Контекстний посібникПромпти та ваги моделі
Змінює ваги моделіНіНіНе розкритоТак, через RL або SFT
Методи5 вбудованих, власні EvolverРефлексивна еволюція, вибір ПаретоГенератор, рефлектор, кураторRL, оптимізація промптів, SFT
Цілі розгортанняCodex, Claude Code, Pi; експорт плагінаDSPy (dspy.GEPA)Не розкритоLangChain, OpenAI Agents SDK, AutoGen, CrewAI та інші
ЛіцензіяApache-2.0MITApache-2.0MIT
Ключовий результат0,795 у базі даних CL-Bench (наведено самими розробниками)AIME 2025: від 46,6% до 56,6% (GPT-4.1 Mini)+10,6% на AppWorldНе розкрито

Як його встановити та розгорнути?

Встановіть із PyPI за допомогою pip install hermit-harness або клонуйте репозиторій для ознайомлення з прикладами. CLI підтримує команди check, train, eval, deploy і convert. Моделі вказуються у форматі <backend>/<model id>. Серед підтримуваних бекендів — Fireworks, OpenAI, Anthropic, DeepSeek, vLLM, SGLang і Ollama.

hermit deploy створює робочий простір для Codex, Claude Code або Pi. hermit convert експортує навчений адаптер як нативний плагін для Codex, Claude Code, Pi або Hermes. Готовий адаптер для співпраці над Lean координує роботу 5 агентів Codex, які разом доводять одну теорему.

Основні висновки

  • Hermit навчає зовнішній адаптер; модель і оболонка залишаються незмінними.
  • Доступні 5 методів: GEPA, SkillOpt, MWM, Harness², Continual Harness.
  • MWM досягає 0,795 у базі даних CL-Bench проти 0,580 у варіанті з контекстом.
  • Адаптери можна розгортати в Codex, Claude Code і Pi або експортувати як плагіни.
  • Результати наведено самими розробниками, переважно для одиничних запусків, із GLM 5.3 Flash.

Перегляньте репозиторій GitHub, сторінку проєкту та документацію. Також підписуйтеся на нас у Twitter і не забудьте приєднатися до нашого сабреддіту про машинне навчання зі 150 тисячами+ учасників та підписатися на нашу розсилку. Стривайте! Ви є в Telegram? Тепер ви також можете приєднатися до нас у Telegram.

Потрібно співпрацювати з нами для просування вашого репозиторію GitHub, сторінки Hugging Face, випуску продукту, вебінару тощо? Зв’яжіться з нами

Перекладено автоматично з англійської. Оригінал статті — за посиланням нижче.

Вперше опубліковано виданням MarkTechPost

Читати оригінал на MarkTechPost ↗

Текст і зображення належать MarkTechPost і наводяться тут із зазначенням авторства та посиланням на оригінальну публікацію.

← До новин

Ще новини

Усі останні новини