Modell és környezet
A pénz nagy része a modell köré épül
Az elmúlt két évben minden bevezetési projektemben ugyanaz a jelenet játszódott le az első egyeztetésen. Melyik modellt használjuk majd, kérdezte a vezető, és a szállító ajánlata is a modell nevével kezdődött. Amikor aztán a tényleges munka elindult, a modell kiválasztása egy délutánt vitt el, minden más hónapokat.
Erre a tapasztalatra ad most kutatói hátteret egy 2026 júliusában megjelent tanulmány, a Harness Engineering, Anatomy, Architecture, and Evolution of Coding Agents. Paul Barbaste, Tristan Darrigol, Germain Vu és Tom Wiltberger, az Inclusive Brains és a Wavestone AI Lab munkatársai tizenegy éles kódoló ügynök teljes forráskódját olvasták végig. A listán ott van a Claude Code, a Codex CLI, a Gemini CLI, a Mistral Vibe, az OpenHands, az Aider, a Mini-SWE-Agent, a Hermes, a Pi, az OpenCode és az OpenClaw, együtt nagyjából négymillió sor.
Az alapfogalom, amivel a szerzők dolgoznak, a vezetőnek is kézre áll. Egy ügynök szerintük egy modell plusz egy harness. A harness a modell köré épített futtatókörnyezet, vagyis minden, ami a modellen kívül esik. Ide tartozik a ciklus, amiben az ügynök lépésről lépésre halad, az eszközök, amikkel fájlt olvas és parancsot futtat, a kontextuskezelés, a biztonsági kontroll, több ügynök összehangolása és a bővíthetőség. A modellt a szállító készen veszi egy nagy laboratóriumtól, a harnesst viszont ő maga írja, vagy legalább ő választja ki és állítja be.
Egy ajánlat értéke emiatt a harnessben lakik. A modell ára nyilvános, a képességei mérhetők, és ugyanazt a modellt a versenytárs is megveszi. Amit számon lehet kérni, az a köré épített rész, és erről a részről most első kézből látszik, hogyan építik a piacvezetők.
Hét alrendszer
Mindegyik rendszer ugyanarra a hét kérdésre válaszol
A tizenegy rendszer méretben és filozófiában távol áll egymástól, a kutatók mégis ugyanazt a hét alrendszert találták meg mindegyikben. Ügynök ciklus, LLM integráció, eszközök, memória és kontextus, biztonság és jogosultság, orkesztráció, bővíthetőség. Minden termék állást foglal mind a hétben, akkor is, ha a válasz a tudatos hiány. Az Aiderben például nincs alügynök, és ez döntés, ami a kódban látszik.
Ez a hét pont nálam beszerzési ellenőrzőlistává vált. Ha egy szállító ajánlata a hétből háromról hallgat, ott is született döntés, csak nélkülem, és utólag nehezen derül ki, mi lett belőle.
Ráadásul a méret sem dönti el az eredményt. A százsoros Mini-SWE-Agent saját bevallása szerint ugyanabban a tartományban teljesít a SWE-Bench Verified mérésen, mint a milliósoros rendszerek. Amiben a nagy rendszerek többet adnak, az a biztonság, a költségkezelés, a hibatűrés és a felhasználói élmény, és ezt a négyet a benchmark nem méri. Vezetői szemmel ebből az következik, hogy a demón látott feladatmegoldás a legkevésbé megkülönböztető tulajdonság. Ami a bevezetés után fáj vagy pénzbe kerül, az a másik négy.
Első hiány
Keretrendszer egyikben sem
A kutatók név szerint ellenőrizték a LangChaint, a LangGraphot, az AutoGent, a CrewAI-t, a LlamaIndexet, a Pydantic AI-t, a Genkitet, a Google ADK-t és a Semantic Kernelt. Egyetlen vizsgált rendszer futásideje sem használ ügynök keretrendszert. A Google saját Gemini CLI-je sem épül a Google két saját keretrendszerére. Minden ciklus kézzel írt kód, a programnyelv saját aszinkron eszközeivel. A szerzők hetekig kerestek ellenpéldát, mert maguk sem hitték el az eredményt, és üres kézzel zárták a keresést.
Ez az eredmény nálam egy konkrét emléket hívott elő. Az ajánlatokban, amiket az utóbbi két évben ügyfeleim asztalán láttam, a keretrendszer neve szinte mindig szerepelt, többnyire a megbízhatóság és a jövőállóság érveként. Ha a tizenegy legnagyobb forgalmú kódoló ügynök egyike sem így készült, akkor ez az érv a kódoló ügynökök piacán legalábbis bizonyításra szorul.
Beszerzési kérdéssé fordítva így hangzik. Ha az ajánlatban keretrendszer áll, megkérdezem, miért. Jó válasz létezik, például hogy a csapat ezt ismeri, és egy kéthetes pilothoz ez a leggyorsabb út. Rossz válasz az iparági standardra hivatkozás, mert a standardot a piacvezetők nem követik. A különbség a vevőnek pénzben jelenik meg. Egy keretrendszer egy újabb függőség, aminek saját verziói, saját hibái és saját frissítési ritmusa van, és ezek mind a vevő üzemeltetési költségében landolnak a szerződés aláírása után.
Második hiány
Vektoradatbázis a kódkeresésre, nulla a tizenegyből
Egyik vizsgált rendszer sem használ vektoros beágyazásos keresést, vagyis RAG-ot arra, hogy a kódban megtalálja, mihez kell nyúlni. Helyette ripgrep szöveges keresés, glob mintázat, tree-sitter szimbólumkinyerés és automatikusan felfedezett markdown kontextusfájlok dolgoznak. A szerzők indoklása egyszerű. Egy kódbázis sűrű, determinista szerkezetet hordoz, útvonalat, nyelvi szervert, típusinformációt, és ezt a hasonlóság alapú keresés nem tudja pótolni. Ráadásul a kód percenként változik, úgyhogy az index eleve elavult, mire elkészül.
Beágyazás egyedül a beszélgetésmemóriánál bukkan fel, és ott is a lexikális keresés a bevált válasz. A Hermes például SQLite teljes szöveges keresést használ erre.
Egy dunántúli logisztikai szoftvercégnél, ahol harmincöt fejlesztő dolgozik egy nagyjából kétmillió soros kódbázison, tavasszal pont egy ilyen ajánlat feküdt az asztalon. A csomag része volt egy menedzselt vektoradatbázis a kód indexelésére, havi nagyjából háromszázezer forintos üzemeltetési díjjal, plusz egy fejlesztő idejének negyede az index karbantartására. Szállítói érvként az hangzott el, hogy enélkül az ügynök nem látja át a kódot. Végül a tétel kikerült az ajánlatból, az ügynök a meglévő keresőeszközökkel dolgozik, és a csapat visszajelzése szerint a találatok minősége nem romlott. Ez évi közel négymillió forint, ami így nem egy olyan rétegre megy, amit a piacvezető termékek egyike sem épített meg.
Ennek a megállapításnak van egy határa, és ezt a szállítónak is meg kell adnom. A vektoros keresésnek más feladatokban helye van. Egy ügyfélszolgálati tudásbázisnál, szerződésállományban vagy belső dokumentumtárban, ahol a szöveg természetes nyelvű és lassan változik, a beágyazás jól működik, és ott én is ajánlom. A tanulmány állítása a kódra vonatkozik, ahol a szerkezet adott és a változás gyors.
Kérdések a szállítónak
Hét alrendszer, hét kérdéskör
Attól, hogy a cég nem fejlesztőház, az ajánlatot még át lehet világítani, és ehhez a hét alrendszer jó vezérfonal. A ciklusnál azt kérdezem, mi állítja meg az ügynököt. Hány lépés után, mennyi token után, milyen hibánál. A tanulmány ajánlása, hogy lineáris ciklussal kell kezdeni, és ez egy vezetőnek is érthető, mert a lineáris ciklus követhető és leállítható.
Az LLM integrációnál az érdekel, hol van a költségkorlát, és ki kap riasztást, ha az ügynök egy feladaton túl sokat éget. A tokenek a vevő számláján jelennek meg, úgyhogy a plafon beállítása a vevő érdeke, és a szállítónak tudnia kell megmondani, hol van.
Az eszközöknél a darabszám a kérdés. A kutatók tizenöt eszköz fölött kötelezőnek tartják a halasztott betöltést, mert különben a leírások elfoglalják a kontextust, és a Claude Code-nál ez a megoldás negyven százalékkal rövidítette a kezdő promptot. Ha az ajánlatban negyven eszköz szerepel, és ebből egy sincs halasztva, akkor minden egyes kérésnél a vevő fizeti a leírásokat. A szerzők tanácsa amúgy az, hogy egyetlen parancssori eszközzel kell indulni, és újat csak megfigyelt hibára szabad hozzátenni.
Memória és kontextus esetében azt kérdezem, mit lát az ügynök a cégről és a kódról, honnan tudja, és ki frissíti. Az orkesztrációnál pedig azt, hány ügynök fut párhuzamosan, és miért. A tanulmány szerint egy ügynöknél kell maradni, amíg nincs valódi párhuzamos feladat, mert a több ügynökös futás nagyjából tizenötször annyi tokent használ. Ez a szám egyedül is elég ok arra, hogy a többügynökös architektúra ígéretére ne bólintsak rá kérdés nélkül.
A bővíthetőségnél a skillekről és az MCP-ről kérdezek. Itt a skill a tanulmány szerint átvette a vezetést, a tizenegyből kilenc rendszer támogatja, az MCP-t nyolc. Egy skill egy mappába tett leírás, ami egy szakértelem darabot csomagol, például a cég saját kódolási szabályait vagy egy belső rendszer használatát. Betöltése szintén halasztott, csak a rövid leírás van bent, a teljes szöveg akkor töltődik, amikor kell. Vevőként ez azt jelenti, hogy a cég tudása bevihető az ügynökbe anélkül, hogy a szállító programozna, és ezt a lehetőséget az ajánlatban látni akarom.
Végül mindegyik alrendszerre vonatkozik a kérdés, ki látja utólag, mit csinált az ügynök. Napló nélkül a hibát sem lehet visszakeresni, és a számlát sem lehet igazolni.
Biztonsági padló
A szabály adat legyen, ne a prompt jóindulata
A tanulmány egyik ajánlása az, hogy a biztonsági szabály adat legyen, ne kód, és a legengedékenyebb mód alatt is maradjon egy padló, amit futás közben nem lehet kikapcsolni. Vezetői megbeszélésen ezt a mondatot fordítom le a leggyakrabban.
A gyakorlatban a különbség így néz ki. Ha az ügynök promptjában az áll, hogy ne töröljön éles adatot, az egy kérés, amit a modell a legtöbbször teljesít. Amikor viszont a harnessben egy jogosultsági tábla tiltja az éles adatbázishoz vezető parancsot, az egy kapu, ami zárva marad a modell félreértésénél, a fejlesztő türelmetlenségénél és a péntek délutáni leggyorsabb módnál is. A szabály adatként azt is jelenti, hogy nem fejlesztő is el tudja olvasni és módosítani, és a változás naplózható.
Egy budapesti pénzügyi szolgáltatónál, ahol tizenkét fős a fejlesztői csapat, a bevezetés második hetében derült ki, hogy az ügynök engedékeny módban a tesztkörnyezettel együtt egy éles konfigurációs fájlt is átírt, mert a két útvonal egy betűben tért el. A kár három óra kiesés volt és egy visszaállítás. Azóta az éles útvonalak egy tiltólistában állnak, amit a harness olvas be, és amit a legengedékenyebb módban sem lehet futás közben felülírni. Prompt nem véd ilyen hibától, mert a prompt a modell figyelmére épít, és a figyelem véges.
Beszerzési kérdésként ez két mondat. Hol van a padló, és meg tudja mutatni a szállító a fájlt, amiben van. Ha a válasz az, hogy a modellre lehet bízni, akkor nincs padló.
Ami tartós
A szerkezet marad, a leltár avul
A kutatók maguk jelzik, hogy a leltár jellegű állítások, az eszközszámok és a verziók hetek alatt avulnak, a szerkezeti állítások viszont tartósak. Három hónap után újravizsgálták a korpuszt, és a két hiány változatlanul hiány maradt. Keretrendszer sehol, vektoros kódkeresés sehol.
A tanulmány tizennyolc tervezési ajánlással zárul, és mellékel egy kilencvensoros minimális harness vázlatot, ami tíz ajánlást közvetlenül megvalósít. Kilencven sor. Ez a kilencven sor a vevőnek mércét ad. Ha a szállító azt mondja, hogy az alap ügynökciklus megírása hónapokba telik, akkor az alapon túl valami mást is épít, és a vevőnek joga van megtudni, mit.
A kódoló ügynök ára a modell mögötti döntésekben dől el, és a két legdrágább tétel, a keretrendszer és a vektoros kódkeresés, a legjobb termékekben egyáltalán nem szerepel. Aki ezeket mégis beárazza, az a saját megszokását számlázza ki a vevőnek, és ez a számla a szerződés aláírása után is minden hónapban megérkezik. Egy vezetőnek ehhez nem kell kódot olvasnia, elég egyszer megkérdeznie, hogy a piacvezetők miért nem így építették.