SkillsBench — benchflow-ai/skillsbench + Aparna Dhinakaran cikk összekapcsolása¶
Források: - GitHub repo: https://github.com/benchflow-ai/skillsbench (Apache 2.0) - Dhinakaran cikk: https://x.com/aparnadhinak/status/2074569427346174039 - HF dataset: https://huggingface.co/datasets/benchflow/skillsbench - Weboldal: https://www.skillsbench.ai - Dátum: 2026-07-07 (cikk) / 2026-07-17 (feldolgozás)
Mi a SkillsBench?¶
A Dhinakaran-cikk központi empirikus állítása az volt, hogy a 48%-a a publikált skill-eknek az első verzióban negatív eval delta-t produkál — vagyis rontja a modell teljesítményét. A cikk ezt "wake-up call"-nak szánta, de nem adott egy konkrét, megismételhető mérési keretrendszert. A benchflow-ai/skillsbench pont ezt a hiányzó keretrendszert pótolja: "the first benchmark for evaluating how well AI agents use skills".
A benchmark:
- 101 task jelenleg (87 runnable a tasks/, 14 a tasks-extra/-ban, a tasks-extra hitelesítés-igényes feladatokat tartalmazza)
- Célzott modellek: GPT-5.5, Claude Opus 4.8, Gemini 3.1 Pro, GLM 5.1, Kimi K2.6, MiniMax M3 (a saját default modellünk)
- SOTA performance cél: <50% a 2+ skill kompozíciót igénylő feladatokon
- 8 kategória: office-white-collar, software-engineering, science-research, stb.
- gym-style benchmarking: ugyanaz a feladat többször futtatva, with-skill vs. no-skill összehasonlítással
Hogyan kapcsolódik a Dhinakaran-cikk 7 alapelvéhez?¶
A SkillsBench Task Quality Rubric és a "What Makes a Good Skill" szekció a Dhinakaran-cikk 7 alapelvének implementálható, mérhető változata:
| Dhinakaran alapelv | SkillsBench megfelelő |
|---|---|
| 1. Behavior/operation matrix | A task.md frontmatterben task_type + modality + interface + skill_type YAML listák (taxonomy.yaml validálja). A skill SKILL.md-jében a "Trigger conditions" implicit a description frontmatterben. |
| 2. Zero decision space | A task prompt explicit szabálya: "Do not mention skill names or tell the agent which skills to use." A skill kiválasztása az agent dolga, a feladat irreleváns a skill-választáshoz. |
| 3. Eval-driven iteration | Minden tasknak kötelező az oracle (solve.sh) reward 1.0 ellenőrzése ÉS agent run with/without skills összehasonlítás. A PR csak akkor nyitható meg, ha mindkét futás dokumentálva van. |
| 4. Iteratively designed and rigorously tested | A PR checklist 5 lépéses: bench tasks check + oracle pass + agent with-skills + agent no-skills + PR description with pass rates. A "Look at trajectories, not just pass/fail" explicit elvárás. |
| 5. Measures context budget | A skill SKILL.md references/ és scripts/ alkönyvtárakra bontása — a hosszú részletek elkülönítve, a SKILL.md tömör marad. Ez a kontextuális költség-becslés gyakorlati megfelelője. |
| 6. Selectively loaded | A --skill-mode with-skill és --skill-mode no-skill opciók a benchmark CLI-ben. A skill-ek NEM a Docker image-be vannak bake-elve, hanem runtime injektálódnak — ez a "selective load" alapja. |
| 7. Tested across model families | A célzott modell-lista 6 különböző családból: OpenAI, Anthropic, Google, ZhipuAI, Moonshot, MiniMax. Minden task minden modellen fut, és a delta a "skill impact" mérőszáma. |
A Task Quality Rubric 5 szempontja (Authenticity, Skill quality, Verification, Instructions, Environment) a Dhinakaran-cikk "engineering, not magic" üzenetének operacionalizálása. A "What Makes a Good Skill" szekció 5 szabálya (Explain non-obvious workflow knowledge, Reuse scripts and references, Stay focused, Avoid task-specific filenames, Avoid task-specific answers) a skill-írás gyakorlati kódexe.
A két forrás együtt tehát: a cikk adja a filozófiát és a 48%-os adatot, a SkillsBench adja a mérési és iterációs eszköztárat.
A SkillsBench task csomag struktúrája¶
tasks/<task-id>/
task.md # YAML frontmatter + emberi prompt
environment/
Dockerfile # sandbox, pinned dependencies
<input fájlok> # fagyasztott input adatok
skills/
<skill-name>/
SKILL.md # skill definíció
references/ # hosszú részletek
scripts/ # újrahasználható kód
oracle/
solve.sh # ember által írt referencia megoldás
verifier/
test.sh # bash wrapper
test_outputs.py # pytest, 4-10 fókuszált teszt
A reward egy skalár: 1.0 ha minden teszt átment, 0.0 ha bármelyik fail-elt. A /logs/verifier/reward.txt-be íródik.
Mit tanulhat a Hermes ebből a két forrásból?¶
A Hermes saját skill-írási gyakorlatában a Dhinakaran-cikk és a SkillsBench együttesen 5 konkrét fejlesztési területet azonosít:
1. A skill-ek jelenleg nem mérnek saját teljesítményt (Dhinakaran #3)¶
A mappa 30+ skillje jelenleg manuális reflexió alapján fejlődik, nincs eval-driven iteration. A javaslat:
- Golden dataset építése: 10-20 kanonikus felhasználói kérés, amelyekhez az "elvárt viselkedés" + "nem elvárt viselkedés" definíció tartozik (hasonló a
references/eval-golden-dataset.json-hoz, de a skill-ekre nem a summary-kra) - Eval script (
eval_skills.py⚠️ (a tervezett eval-keretrendszer nem készült el; a szerepét a vette át)): minden skill-t minden golden kérdéssel futtat, és rögzíti a delta-t baseline (no-skill) vs. with-skill között — pont a SkillsBench--skill-modemintára - PR workflow: a skill-ek módosítása után a
eval_skills.pyfuttatása kötelező, és a delta-t achangelogbejegyzésben dokumentálni kell
2. A skill-ek 0%-a van multi-model tesztelve (Dhinakaran #7)¶
A references/hermes-update-downgrade.md rögzíti, hogy 8 modell van a konfigurációban (gemma4:26b-mlx, qwen3.5:27b, glm-5.2:cloud, kimi-k2.7-code:cloud, minimax-m3:cloud, deepseek-v4-flash:cloud, deepseek-v4-pro:cloud, x/flux2-klein:4b), de egyetlen skill sincs mindegyiken tesztelve. A javaslat:
- Mini-benchmark: 5-6 reprezentatív skill (
podcast-processing,hermes-agent-skill-authoring,requesting-code-review,simplify-code,intelligence-gathering) futtatása mind a 8 modellen, a golden dataset-en - A delták dokumentálása egy
SKILL_MODEL_COMPATIBILITY.md⚠️ (a fájl azóta megszűnt; tartalma a mentésben megvan) fájlban - Model-specifikus skill-verziók opcionális bevezetése, ha egy skill csak bizonyos modelleken teljesít jól
3. A skill-ek "Zero decision space" elve hiányos (Dhinakaran #2)¶
A SKILL.md-k jellemzően "Use when X" triggerrel indulnak, de a "Don't use for: Y" counter-trigger opcionális és ritkán kitöltött. A javaslat:
- Minden SKILL.md frontmatterben kötelező a
do_not_use_for:mező (a jelenlegidescriptionmellé) - A SkillsBench "Do not mention skill names" elvének inverz alkalmazása: a skill explicit megmondja, mikor NEM alkalmazható, hogy az LLM ne hozzon rossz döntést a "should I apply this?" kérdésben
4. A skill-ek kontextus-költsége nem mért (Dhinakaran #5)¶
A skilljei a skill_view loader-en keresztül töltődnek, de a tényleges token-költségük nem ismert. A javaslat:
- Token-költség mérése: minden SKILL.md-t a
wc -c+ 4 char/token közelítéssel megmérni, és a fájl elejére rakni egy## Token cost: ~XXX tokenssort - A nagy skill-ek (pl.
podcast-processing68 KB → ~17K token) különösen problémásak: minden alkalommal betöltődnek, amikor a user podcastot küld, és a 17K token felemészti a kontextus-ablakot - A megoldás: a SKILL.md tömör maradjon (max 5-10K token), a részletek
references/*.mdfájlokban legyenek, amiket a skill_view második hívással lehet betölteni (ezt a frissített 1.7.0 verziójúpodcast-processingmár megoldja)
5. A skill-írási konvenciók nincsenek egységesítve (SkillsBench "What Makes a Good Skill")¶
A hermes-agent-skill-authoring skill leírja a konvenciókat (frontmatter, méretlimit, peer-matched struktúra), de a 30+ skill közül sok nem tartja be a 8-15K-os peer-matched méretet. A javaslat:
- CI lint: script, ami minden SKILL.md-t ellenőriz: (a) méret < 100K, (b) description ≤ 1024 char, (c) frontmatter valid YAML, (d)
name/description/version/author/license/metadata.hermes.{tags, related_skills}mezők megvannak - A lint futtatása a skill-frissítés után, és a
references/eval-pitfalls.md-hez hasonlóan a kimenet a changelog-ba kerül - Reference skill a
hermes-agent-skill-authoring1.1.0 → 1.2.0 frissítése, ami a SkillsBench 5 szabályát beépíti a saját authoring-elvekbe
Konkrét next step¶
A javasolt prioritási sorrend (a saját rendszer értéke és a fejlesztési költség alapján):
- Azonnal (1 session): A
SKILL_MODEL_COMPATIBILITY.md⚠️ (a fájl azóta megszűnt; tartalma a mentésben megvan) fájl létrehozása, az 5-6 reprezentatív skill gyors átnézésével (nem teljes eval, csak manuális "ez a skill melyik modelleken fut jól" reflexió). Ennek előkészítése: a mostani beszélgetés eredménye. - Következő session (1-2 óra): A
eval_skills.py⚠️ (a tervezett eval-keretrendszer nem készült el; a szerepét a vette át) v1 — minimális eval-keretrendszer 5-10 golden question-nel, ami a skill-ek delta-ját méri. - Skill-authoring frissítés (30 perc): A
hermes-agent-skill-authoring1.2.0-ás verziója, ami a SkillsBench 5 szabályát + a Dhinakaran-cikk 7 alapelvét beépíti a saját authoring-elvekbe. - CI lint (30 perc): A script + hook a session-ökbe.
Az 1. lépés nem igényel kódolást, csak a mostani beszélgetés tanulságainak dokumentálását. Ha akarod, most megcsinálom, és a SKILL_MODEL_COMPATIBILITY.md ⚠️ (a fájl azóta megszűnt; tartalma a mentésben megvan) fájl mellé egy új references/skill-authoring-best-practices.md is kerül a Dhinakaran-cikk + SkillsBench alapján.
Kulcsszavak¶
skill design, eval-driven iteration, behavior matrix, zero decision space, context budget, model-agnostic skill, multi-model testing, skill benchmark, SkillsBench, benchflow-ai, BenchFlow SDK, task.md package, with-skill vs no-skill, gym-style benchmarking, Hermes skill authoring, 48% negative eval delta, Aparna Dhinakaran, Arize AI, Apache 2.0.
Forrás / Wiki raw¶
- Forrás: (a cikk önálló összefoglalója)
- Skill authoring frissítés terv: (1.2.0 upgrade a Dhinakaran + SkillsBench alapelvekkel)