Podpiąłeś swojego agenta do Slacka, Lineara, GitHuba i wewnętrznego Postgresa. Piętnaście narzędzi, czyste schematy JSON, prompt w stylu "jesteś pomocnym asystentem". Pięknie działa na zadaniach dwuetapowych. Na piątym kroku pomija filtr, błędnie cytuje pole albo spala 40k tokenów, czytając po raz setny te same schematy. Witaj w suficie klasycznego tool-callingu 😹.
Oto setup, którego nikt ci nie tłumaczy w materiałach marketingowych. W klasycznym tool-callingu — wzorcu, który każdy SDK dowoził przez cały 2024–2025 — agent (program opakowujący duży model językowy i dający mu narzędzia) wrzuca pełny JSON schema (czytelny maszynowo opis wejść każdego narzędzia) do context window (pamięci roboczej modelu) przy każdej turze. Piętnaście narzędzi z bogatymi typami? To 5–10k tokenów zanim model powie "cześć". Potem model wybiera jedno narzędzie, uzupełnia argumenty, czeka na wynik i powtarza. Pętle, warunki, transformacje danych? Brak. Model udaje je, łącząc dziesięć osobnych wywołań i modląc się, że pamięta, co widział w wywołaniu trzecim.
Dwa tygodnie, które przesunęły domyślny setting
Pomiędzy 14 a 15 kwietnia 2026 trzech vendorów dowiozło ten sam wzorzec i po cichu wysłało stary na emeryturę.
15 kwietnia 2026 OpenAI ogłosiło kolejną ewolucję Agents SDK, która wylądowała jako v0.14.0 "Sandbox Agents" (hotfix do v0.14.1 jeszcze tego samego popołudnia, według strony release'u na GitHubie). Najważniejsze feature'y: code mode, sandboxing, sub-agenci, harness do długich zadań oraz wsparcie dla 100+ LLM-ów niezależnie od dostawcy. Tekst TechCrunch ujął to jako OpenAI doganiające wzorzec, który Cloudflare i HuggingFace benchmarkowali już od pół roku.
Dzień wcześniej, 14 kwietnia 2026, Anthropic otworzył research preview Claude Code Routines — zapisywalnych konfiguracji Claude Code, które działają jako trwałe, autonomiczne agenty w chmurze Anthropic, odpalane przez harmonogram, webhook HTTP lub event z GitHuba. Ten sam kształt: narzędzia to kod, który agent importuje, a nie JSON, który przeżuwa.
Również 14 kwietnia Cloudflare opublikowało "Scaling MCP adoption" — referencyjną architekturę enterprise, która sprawiła, że liczby zaczęły kłuć w oczy. Ich benchmark: podłącz 4 wewnętrzne serwery MCP wystawiające 52 narzędzia. Klasyczny tool-calling spala ~9 400 tokenów kontekstu na turę. Code Mode przez portal: ~600 tokenów. To 94% mniej, a — i to jest prawdziwa wygrana — koszt pozostaje płaski, gdy dokładasz kolejne serwery 🙀.
Co właściwie robi code mode
Zamiast upychać schematy w prompt, runtime podaje modelowi typowany moduł. Model pisze krótki program. Sandbox go uruchamia. Narzędzia nigdy nie trafiają do kontekstu — tylko ich sygnatury, często tylko te, o które model poprosił przez search().
from agents import Agent, CodeMode, Sandbox
agent = Agent(
model="gpt-5.1",
mode=CodeMode(runtime="python"),
sandbox=Sandbox(backend="e2b"), # albo docker, modal, runloop
tools=[slack, linear, github, pg], # zwykłe typowane funkcje
)
agent.run(
"Znajdź każdy bug P0 otwarty w tym tygodniu w Linearze, "
"skrzyżuj z PR-ami na GitHubie, wrzuć podsumowanie na #triage."
)
Pod spodem model emituje coś takiego:
bugs = linear.search(priority="P0", opened_after="2026-04-09")
prs = {b.id: github.find_pr(ref=b.id) for b in bugs}
unmatched = [b for b in bugs if not prs[b.id]]
slack.post("#triage", render(bugs, unmatched))
Pętla, dict comprehension, filtr i warunek — w jednym round-tripie do sandboxa. Wersja w klasycznym tool-callingu to 12+ tur i migrena.
Kwity na stół
Framework smolagents od HuggingFace pokazuje to od miesięcy: CodeAgent używa ~30% mniej kroków niż ToolCallingAgent na benchmarkach wieloetapowych, a smolagents + GPT-4o siedziały na #1 w walidacji GAIA (44,2%). Kwietniowe liczby Cloudflare: ~32% mniej tokenów na prostych zadaniach, ~81% na złożonych łańcuchach, według analizy WorkOS. Kanoniczne zdanie Kentona Vardy i Sunila Pai z Cloudflare wciąż trzyma się mocno: "LLM-y są lepsze w pisaniu kodu wywołującego MCP niż w wywoływaniu MCP bezpośrednio".
Ile cię to kosztuje
To nie jest za darmo 😾. Code mode potrzebuje prawdziwego sandboxa — Docker, E2B, Modal, Runloop, Daytona albo wbudowanego harness OpenAI — bo teraz uruchamiasz na swojej infrze kod napisany przez model. Odpuścisz sandbox, jesteś o jeden prompt injection od RCE. Większość istniejących narzędzi observability zakłada ślady JSON-owe i wykłada się na nieprzezroczystych blokach kodu. Twój model bezpieczeństwa przesuwa się z "waliduj argumenty" na "kontroluj dowolne wykonanie", a to inny proces review, inny threat model i często inny zespół. Przy strzałach jednorazowych z jednym narzędziem — "pobierz pogodę dla Bostonu" — code mode dokłada latency za darmo.
Co zrobić w poniedziałek
Jeśli stawiasz agenta na zielonym polu w kwietniu 2026, ustaw code mode jako default od pierwszego dnia. Wybierz SDK, które uruchamia narzędzia wewnątrz sandboxowanego runtime, pisz swoje narzędzia jako zwykłe typowane funkcje Pythona albo TypeScripta i przestań ręcznie klepać schematy JSON. Jeśli masz produkcyjnego agenta na klasycznym tool-callingu i on działa — nie migruj w panice, ale za każdym razem, gdy dokładasz narzędzie numer szesnaście, policz tokeny.
Werdykt
Tool-calling nie umarł dla pojedynczych wywołań 🐈. Ale dla każdego agenta, który łańcuchuje więcej niż dwie akcje, branża właśnie zdecydowała — w ciągu 48 godzin między 14 a 15 kwietnia 2026 — że natywnym językiem agenta jest kod, nie JSON. Jeśli nie patrzyłeś, stack przesunął ci się pod stopami 😼.





