«The model is about 10% of the work. The other 90% is tools, retries, guardrails, idempotency, and evaluation.» — Thien Nguyen, beevr
beevr har åpnet kildekoden til Kite, et Python-rammeverk for produksjonsagenter, og lagt ved en uvanlig ærlig gjennomgang av hva det å kjøre agenter i regulerte bransjer faktisk lærte dem. Rammeverket er MIT-lisensiert, ligger på github.com/beevr-labs/Kite, og installeres med pip install kite-agent.
Designet hviler på én beslutning: modellen er upålitelig. I Kite foreslår modellen handlinger, men utfører dem aldri selv. En kontrollert kjerne sitter mellom agenten og omverdenen og validerer hvert forslag mot policy før noe kjøres. Bestemmer agenten seg for agent.run("rm -rf /"), avviser kjernen kallet i stedet for at filsystemet oppdager det på den harde måten. Modellen blir en planlegger du kan sandbokse, ikke en prosess som går rundt med dine rettigheter.
Lærdommene fra produksjon er sakens kjerne. beevr fant at modellen utgjør rundt 10 prosent av jobben, mens de resterende 90 prosentene er verktøy, retries, guardrails, idempotens og evaluering. En bedre modell redder deg ikke fra en manglende kill-switch. De fleste «agent-feil» er egentlig IO-feil i forkledning: et ustabilt verktøy, en duplisert sideeffekt, en delvis skriving. Observabilitet og idempotens slår nok en runde med prompt-tuning nesten hver gang.
Konkret leverer rammeverket fem resonneringsmønstre du velger per agent: ReAct, ReWOO (planlegg på forhånd og kjør steg parallelt, som ifølge Kite er rundt 2x raskere), Tree of Thoughts, Plan-Execute og Reflective. Sikkerhetsprimitivene inkluderer en circuit breaker mot kaskaderende feil, en kill-switch per agent eller global, og idempotens nøklet på operasjons-ID slik at et gjentatt kall ikke belaster kunden to ganger. Gjenfinning bygger på HyDE, hybrid BM25 pluss vektorsøk, MMR-deduplisering og reranking, og prompt-endringer kan A/B-testes med konfidensintervaller på ekte trafikk.
beevr oppgir selv at time-to-agent er under ett minutt mot rundt 30 minutter for LangChain og 20 for AutoGen i deres egne tester, og at kaldstart ligger på rundt 50 ms mot cirka 2 sekunder og 1 sekund. Tallene er forfatterens egne, ikke en uavhengig revisjon, så ta sammenligningen som en designintensjon snarere enn en fasit.
For deg som bygger agenter mot sensitive data eller ekte infrastruktur er det interessante poenget grensen selv. Når kjernen er det som sier ja eller nei, blir du ifølge beevr mindre redd for å gi agenten reelle rettigheter, fordi sandboksen ligger i arkitekturen og ikke i prompten. Det er en annen modell enn LangChain og AutoGen, der guardrails ofte er noe du bolter på i etterkant.