AI agent není jen jazykový model
Samotný jazykový model je pouze motor. Aby dokázal samostatně vyhledávat informace, pracovat se soubory, spouštět příkazy nebo navazovat na předchozí úkoly, potřebuje ještě řídicí vrstvu. Právě té se v prostředí AI agentů říká harness.
Harness určuje, kdy model zavolá nástroj, jak se uloží výsledek, co se stane při chybě a kolik informací se vůbec vejde do dalšího dotazu. Je to trochu jako rozdíl mezi samotným motorem a celým automobilem. Motor může být výkonný, ale bez převodovky, řízení a brzd se s ním na nákup nejezdí příliš pohodlně.
AWS už dříve nabízelo jednotlivé stavební bloky v podobě Strands Harness SDK. Nový Strands Harness je nad tímto SDK postavený jako hotový obecný agent. Vývojář tak nemusí od prvního dne řešit vlastní smyčku, ukládání historie, práci s kontextem nebo základní sadu nástrojů.
Co Strands Harness umí po instalaci
Projekt je dostupný pro Python i TypeScript. Instalace vypadá následovně:
pip install strands-harness
Pro TypeScript je připraven balíček:
npm install @strands-agents/harness
Po vytvoření agenta pomocí funkce create_harness() dostane vývojář obecného pomocníka, kterého může připojit k modelům z Amazon Bedrock, Anthropic, OpenAI, Google, Ollama nebo LiteLLM. To je důležitý rozdíl proti nástrojům zaměřeným výhradně na programování. Strands Harness není pouze další coding agent, ale základ pro širší škálu úloh.
Ve výchozím nastavení má k dispozici shell, čtení a zápis souborů, úpravy existujících souborů a webové vyhledávání. Nejde tedy o systém, kde je pro každý nový typ úkolu nutné napsat speciální nástroj. Vývojář může začít s obecnými schopnostmi a teprve později doplnit vlastní integrace.
Agent také umí pracovat s dlouhodobou pamětí a navázat na starší konverzaci pomocí identifikátoru relace. U složitějších úkolů může delegovat podúkoly pomocnému agentovi a průběh práce sledovat pomocí seznamu kroků. Podporuje rovněž Agent Skills, tedy soubory s pokyny a konfigurací, které agent načte podle potřeby.
Největší změna se odehrává v kontextu
Právě správa kontextového okna je jednou z oblastí, kde agentní systémy často zbytečně utrácejí peníze. Každý další krok může do požadavku přidat výsledky vyhledávání, výpisy z terminálu, obsah souborů nebo historii předchozích akcí. Pokud se vše posílá modelu znovu a znovu, náklady rychle rostou.
Strands Harness proto používá několik přednastavených pravidel. Výsledky nástrojů delší než přibližně 1 500 tokenů zkracuje, při zaplnění kontextu nad 85 procent spouští kompakci a při přetečení se pokouší o obnovu kontextu přímo uvnitř agentní smyčky.
Dlouhé výstupy nástrojů může ukládat do souborů místo toho, aby je celé držel v každém dalším dotazu. Opakovaně používané části požadavků se navíc ukládají do mezipaměti. Výsledkem nemá být pouze nižší účet, ale také menší riziko, že se agent v dlouhé práci ztratí pod vrstvou starých a už nepotřebných informací.
To je prakticky významnější než další efektní demo s jedním promptem. U agentů se totiž náklady neodvíjejí jen od ceny modelu, ale také od toho, kolikrát se model během úkolu zavolá a kolik kontextu se při každém kroku znovu odešle.
Co ukázalo srovnání s Claude Code a Codexem
Tým Strands Agents testoval systém na distribuované infrastruktuře Amazon EC2 s využitím frameworku Harbor. Průměr vycházel ze 6 benchmarků: ALFWorld, ContextBench, GAIA, WebShop, τ²-bench a Terminal-Bench 2.1.
Podle zveřejněných výsledků měl Strands Harness při použití stejných modelů Claude nebo GPT v průměru o 28 procent nižší tokenové náklady než srovnávané agentní smyčky. Přesnost přitom zůstala velmi blízko konkurenci, mezi kterou patřily Claude Code, Codex, oh-my-pi, OpenCode a DeepSeek Harness.
Je však důležité dodat, že jde o měření týmu, který Strands Harness vytvořil. Nejde o nezávislou certifikaci ani univerzální garanci, že bude levnější v každé firmě a při každém typu úlohy. Náklady ovlivní vybraný model, délka úkolu, počet volání nástrojů, ceny poskytovatele i způsob nasazení.
Nejčitelnější dílčí srovnání pochází z benchmarku Terminal-Bench 2.1. Se stejným modelem Claude Fable 5 a 89 pokusy na každý harness vyšel Strands Harness na průměrnou cenu 56,29 dolaru při přesnosti 69,7. Oh-my-pi dosáhl stejné přesnosti, ale cena činila 86,83 dolaru. OpenCode skončil na 73,42 dolaru a přesnosti 66,3.
Claude Code měl v tomto testu cenu 248,05 dolaru a přesnost 61,8. Strands Harness tak vyšel o 77 procent levněji a současně dosáhl o 7,9 procentního bodu vyšší přesnosti. DeepSeek Harness byl s cenou 40,30 dolaru levnější, jeho přesnost ale dosáhla pouze 59,5.
Tento výsledek dobře ukazuje hlavní kompromis agentních systémů: nejnižší cena sama o sobě nestačí. Pokud levnější systém častěji selže, může výsledná práce vyžadovat ruční opravy nebo opakované spuštění. Úspora tokenů je proto užitečná pouze tehdy, když se příliš neplatí přesností.
Od lokálního prototypu k produkčnímu nasazení
Strands Harness míří na problém, který znají vývojáři používající Claude Code, Codex nebo podobné nástroje. Nápad může lokálně fungovat dobře, ale při přepisu do vlastní aplikace zmizí část pohodlí. Je nutné znovu vyřešit paměť, nástroje, správu kontextu, obnovu po chybě a nasazení.
Nový harness se snaží zachovat stejný základ při lokálním běhu i v produkci. Podle oficiální dokumentace může běžet v Linux kontejneru a nasadit se například na Amazon ECS, AWS Bedrock AgentCore, Google Cloud Run, Azure Container Apps, Cloudflare Containers nebo Modal.
Součástí ekosystému je také Strands CLI. Vývojář může agenta nejdříve popsat přirozeným jazykem, přidat nástroje a následně použít příkaz /export. Ten připraví kód v Pythonu nebo TypeScriptu. V ukázce z dokumentace agent přidal Playwright MCP server a následně vygeneroval projekt, který už obsahoval příslušnou konfiguraci.
Pro firmy je zajímavé hlavně to, že nejde o uzavřenou službu s jedním povinným poskytovatelem modelu. Licence Apache 2.0 dovoluje projekt používat a upravovat, přičemž vývojář si může zvolit cloudový nebo lokální model. Samotný harness ale neznamená bezplatný provoz. Platit se stále mohou modelové API, cloudové výpočty, úložiště, síťový provoz a případné nástroje třetích stran.
Dostupnost v Česku a limity projektu
Strands Harness je open-source balíček dostupný přes PyPI a npm, takže jeho instalace není podle zveřejněných informací omezena na Spojené státy. Pro české vývojáře je důležitější výběr modelu než samotná lokalizace harnessu. Projekt nemá vlastní české uživatelské rozhraní; češtinu bude zvládat především model, který k němu připojíte.
To zároveň znamená, že čeština není automaticky zárukou kvalitního výsledku. Agent může rozumět českému zadání, ale jeho výkon při práci s českými weby, dokumenty nebo firemními daty bude záviset na konkrétním modelu, nástrojích a nastavení oprávnění.
Další limit je bezpečnost. Výchozí shell a práce se soubory dávají agentovi praktické schopnosti, ale také možnost provést nechtěnou změnu. V produkci je proto nutné nastavit izolaci, oprávnění, limity pro síť a práci s tajnými údaji. Apache 2.0 licence ani hotové výchozí nastavení z aplikace automaticky neudělají bezpečný podnikový systém.
Strands Harness je tedy zajímavý hlavně jako výchozí bod. Neodstraňuje potřebu testování, monitoringu ani kontroly nákladů. Může ale zkrátit cestu mezi nápadem na lokálním počítači a agentem, který skutečně běží v cloudu a má předvídatelnější správu kontextu.
Podrobnosti, konfiguraci a aktuální příklady zveřejnil tým v oficiálním oznámení Strands Harness a v dokumentaci. Zdrojový kód je dostupný na GitHubu. Původní srovnání benchmarků popsal také MarkTechPost.
FAQ
Je Strands Harness zdarma?
Samotný projekt je dostupný pod licencí Apache 2.0 a instalační balíčky jsou open-source. Provoz ale může generovat náklady za modelové API, cloudové výpočty, úložiště a další použité služby.
Lze Strands Harness používat s lokálním modelem?
Ano. Oficiální dokumentace uvádí podporu lokálních modelů přes Ollama a také použití vrstvy LiteLLM. Výsledná kvalita a rychlost závisí na konkrétním modelu a hardwaru.
Je Strands Harness určený pouze pro programování?
Ne. Projekt je navržen jako obecný agentní systém. Kromě práce s kódem může vyhledávat informace, pracovat se soubory, spouštět nástroje a delegovat dílčí úkoly pomocnému agentovi.