[{"data":1,"prerenderedAt":604},["ShallowReactive",2],{"blog-openhands-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":22,"sources":32,"cover":53,"og":54,"expertise":55,"locales":56,"lang":58,"title":60,"description":61,"coverAlt":62,"metaTitle":63,"takeaways":64,"faq":70,"toc":83,"blocks":108,"others":334},"openhands","2026-09-09",9,"agents",[9,10,11,12,13],"Coding agent","Sandboxed execution","Automations","Self-hosted","MIT licence",[4,15,16,17,18,19,20,21],"openhands self-host","open hands coding agent","openhands vs claude code","agent canvas","openhands docker sandbox","open source coding agent","openhands cloud pricing",[23,26,29],{"name":24,"url":25},"OpenHands","https:\u002F\u002Fwww.openhands.dev",{"name":27,"url":28},"OpenHands on GitHub","https:\u002F\u002Fgithub.com\u002FOpenHands\u002FOpenHands",{"name":30,"url":31},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",[33,35,38,41,44,47,50],{"title":34,"url":28},"OpenHands README",{"title":36,"url":37},"OpenHands licence (MIT)","https:\u002F\u002Fgithub.com\u002FOpenHands\u002FOpenHands\u002Fblob\u002Fmain\u002FLICENSE",{"title":39,"url":40},"Agent Canvas 1.25.0 release notes","https:\u002F\u002Fdocs.openhands.dev\u002Fopenhands\u002Fusage\u002Fagent-canvas\u002Frelease-notes\u002Fv1.25.0.md",{"title":42,"url":43},"OpenHands sandbox overview","https:\u002F\u002Fdocs.openhands.dev\u002Fopenhands\u002Fusage\u002Fsandboxes\u002Foverview.md",{"title":45,"url":46},"OpenHands quick start","https:\u002F\u002Fdocs.openhands.dev\u002Fopenhands\u002Fusage\u002Finstallation",{"title":48,"url":49},"OpenHands pricing","https:\u002F\u002Fwww.openhands.dev\u002Fpricing",{"title":51,"url":52},"Introducing the OpenHands Index","https:\u002F\u002Fwww.openhands.dev\u002Fblog\u002Fintroducing-the-openhands-index","\u002Fimages\u002Fblog\u002Fopenhands\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopenhands\u002Fog.jpg","ai-engineer",[57,58,59],"en","de","hu","OpenHands: der Open-Source-Coding-Agent im Eigenbetrieb","OpenHands 1.25.0 ist eine MIT-lizenzierte Coding-Agent-Plattform mit Web-Canvas, CLI, sandboxierter Ausführung und geplanten Automatisierungen. Ein Review der Stärken und der Betriebskosten.","Eine breite Fläche mit drei kleinen Quadraten und ein schmaler Streifen, beide schicken Pfeile in eine Kiste.","OpenHands im Test: Agent zum Selberhosten · Balázs Csorba",[65,66,67,68,69],"OpenHands 1.25.0, erschienen am 6. Oktober 2026, steht unter MIT-Lizenz und verteilt sich auf vier Repositories: Canvas, Agent Server, Client und Automatisierung.","Docker ist die empfohlene Sandbox; der Prozessmodus ist als unsicher dokumentiert, und ein Container pro Conversation braucht eine einzige Umgebungsvariable.","Automatisierungen nach Zeitplan, auf GitHub-Events und Webhooks sind es, die es vom Terminal-Agenten unterscheiden.","Modelle sind über LiteLLM austauschbar, lokale Server eingerechnet, deshalb bindet der Harness an keinen einzelnen Anbieter.","Das Modell bestimmt die Ergebnisqualität, der Harness bestimmt Kosten und Ausmaß jedes Laufs.",[71,74,77,80],{"q":72,"a":73},"Ist OpenHands kostenlos?","Das Open-Source-Projekt steht unter MIT-Lizenz und ist kostenlos lauffähig. Die Preisseite listet eine kostenlose lokale Stufe und eine kostenlose Individual-Stufe für die gehostete Cloud, die den eigenen Schlüssel mitbringen oder Modelle zum Einkaufspreis nutzen kann; für SaaS oder Self-Hosting in der eigenen VPC gilt individuelle Preise.",{"q":75,"a":76},"Was ist Agent Canvas?","Agent Canvas ist das aktuelle Web-Frontend: Es startet Conversations, verbindet Agent-Backends und plant Automatisierungen. Es löste die ältere Bezeichnung OpenHands Web UI ab, während einige Konfiguration noch die alte RUNTIME-Umgebungsvariable nutzt.",{"q":78,"a":79},"Braucht OpenHands Docker?","Docker ist die empfohlene Sandbox, aber nicht Pflicht: Der Prozessmodus führt den Agent-Server direkt auf dem Host ohne Isolation aus, entfernte Sandboxes nutzen gehostete Deployments. Ein Container pro Conversation verlangt OH_CONVERSATION_RUNTIME=docker.",{"q":81,"a":82},"Welche Modelle kann OpenHands verwenden?","Jedes Modell, das über LiteLLM erreichbar ist, einschließlich lokaler Server wie Ollama und vLLM, dazu der gehostete OpenHands-Anbieter. LLM-Profile erlauben es einer Conversation, mitten in der Aufgabe das Modell zu wechseln.",[84,87,90,93,96,99,102,105],{"id":85,"title":86},"what-it-is","Was es ist",{"id":88,"title":89},"how-it-works","Wie es funktioniert",{"id":91,"title":92},"getting-started","Erste Schritte",{"id":94,"title":95},"sandboxing","Sandbox und Radius eines Fehlers",{"id":97,"title":98},"automations","Automatisierungen",{"id":100,"title":101},"where-it-shingles","Wo es hakelt",{"id":103,"title":104},"verdict","Fazit",{"id":106,"title":107},"sources","Quellen",[109,113,116,119,122,140,143,144,147,153,156,157,160,163,166,173,174,177,192,198,199,202,214,217,218,221,231,234,279,282,283,286,298,302,303],{"type":110,"content":111},"paragraph",[112],"OpenHands ist eine MIT-lizenzierte Plattform für Coding-Agenten: ein Web-Frontend namens Agent Canvas, eine CLI, ein Headless-Modus, ein Python-SDK und eine REST-API, die Agenten steuern, welche Dateien bearbeiten und Befehle in einer Sandbox ausführen. Die Position dieses Reviews: Es ist die vollständigste Open-Source-Option für Teams, die die Ausführungsumgebung selbst besitzen wollen, und es verhält sich wie eine Plattform im laufenden Bau statt wie ein fertiges Produkt.",{"type":110,"content":114},[115],"Es steht dort, wo Claude Code, Codex CLI, Aider und die gehosteten Agenten stehen, zwischen Modell und Repository — aber mit einem anderen Vertrag: Das Modell ist eine austauschbare Abhängigkeit statt ein fest verbautes, und die Laufzeit ist Ihre Infrastruktur statt die eines Anbieters. Die Version 1.25.0 erschien am 6. Oktober 2026.",{"type":117,"level":118,"id":85,"text":86},"heading",2,{"type":110,"content":120},[121],"OpenHands begann als ein einzelnes Repository und besteht jetzt aus vier: das Agent-Canvas-Frontend und die lokale Orchestrierung in OpenHands\u002FOpenHands, der Python-Agent-Server und das SDK in software-agent-sdk, ein TypeScript-Client und ein eigener Automatisierungsdienst. Dieser Split ist das Erste, was man verstehen sollte, bevor man es übernimmt.",{"type":123,"ordered":124,"items":125},"list",false,[126,128,130,132,134,136,138],[127],"MIT-Lizenz, der gehostete Dienst wird separat von All Hands AI vermarktet.",[129],"Version 1.25.0, veröffentlicht am 6. Oktober 2026, die Agent-Server und SDK auf 1.53.0 festschreibt.",[131],"Oberflächen: die Agent-Canvas-Web-UI, eine interaktive CLI, ein Headless-Modus für CI, ein Python-SDK und eine REST-API für Conversations, Events und Sandboxes.",[133],"Modellagnostisch über LiteLLM, mit Profilen zum Modellwechsel innerhalb einer Conversation und Unterstützung lokaler Server wie Ollama und vLLM.",[135],"Sandbox-Anbieter: Docker als empfohlene Option, ein Prozessmodus ohne Container-Isolation und entfernte Sandboxes für gehostete Setups.",[137],"Unterstützung des Agent Client Protocol, sodass Canvas Claude Code, Codex oder Gemini CLI als alternative Backends steuern kann.",[139],"Automatisierungen laufen nach Zeitplan, auf GitHub-Events oder Webhooks, mit fertigen Vorlagen für Issue-zu-Pull-Request und Pull-Request-Review.",{"type":110,"content":141},[142],"Darunter legt der Agent-Server einen Workspace, einen Werkzeugsatz für bash, Dateibearbeitung, Browser und interaktives Terminal sowie Skills, Hooks und MCP-Server offen. Canvas und Automatisierungsdienst sind Clients dieser API, deshalb kann dieselbe Conversation per Button, Cron-Job oder Webhook starten.",{"type":117,"level":118,"id":88,"text":89},{"type":110,"content":145},[146],"Eine Conversation ist ein Strom typisierter Events: Der Agent schlägt eine Aktion vor, die Aktion läuft in der Sandbox, die Observation kommt zurück, und die Schleife läuft weiter, bis das Modell aufhört. Die interessanten Entscheidungen liegen an der Grenze — welche Dateien der Workspace freigibt, welche Befehle die Politik erlaubt und welches Modellprofil die nächste Runde bezahlt.",{"type":148,"src":149,"alt":150,"wide":151,"caption":152},"image","\u002Fimages\u002Fblog\u002Fopenhands\u002Fdiagram-8.webp","How an OpenHands conversation runs The flow is a loop with five boxes and a guardrail band. Top left, a Task box labelled prompt or issue sends a line right into the Agent box, which plans and calls tools. The Agent box sends a line right into the Sandbox box, which runs a Docker container. Below the Sandbox an Observation box collects stdout and diffs, and a line leaves its bottom, runs left and returns up into the Agent box, closing the loop. On the left, an Automations box labelled cron and events connects upward into the Task box, showing that a schedule or a webhook can start the same loop. A dashed band at the bottom holds the guardrails: skills and hooks shape behaviour, MCP adds tools, a confirmation policy can block actions, Docker is the recommended sandbox, and process mode runs without container isolation.",true,"Die Schleife steckt im Agent Server, deshalb erreichen ein Button, ein Cron-Job und ein Webhook denselben Ausführungspfad.",{"type":110,"content":154},[155],"Weil die Schleife im Agent Server und nicht in der UI lebt, kann dieselbe Conversation aus Canvas, CLI, Zeitplan oder Webhook starten und pausiert, fortgesetzt, verzweigt oder als Trajektorie exportiert werden. Das ist das architektonische Argument des Projekts: ein Ausführungspfad mit mehreren Einstiegen.",{"type":117,"level":118,"id":91,"text":92},{"type":110,"content":158},[159],"Der dokumentierte Weg ist Docker: ein Container veröffentlicht den Canvas auf localhost, mountet ein Projektverzeichnis, auf das der Agent zugreifen darf, und hält seinen Zustand in einem Home-Verzeichnis-Volume.",{"type":161,"code":162},"code","# one container for the canvas, the agent server and a mounted workspace\nexport PROJECTS_PATH=\"$HOME\u002Fprojects\"\nmkdir -p \"$PROJECTS_PATH\" \"$HOME\u002F.openhands\"\n\ndocker run -it --rm \\\n  -p 127.0.0.1:8000:8000 \\\n  -e AGENT_CANVAS_ALLOW_LAN_SESSION_KEY=true \\\n  -v \"$HOME\u002F.openhands:\u002Fhome\u002Fopenhands\u002F.openhands\" \\\n  -v \"${PROJECTS_PATH}:\u002Fprojects\" \\\n  ghcr.io\u002Fopenhands\u002Fagent-canvas:1.25.0\n\n# open http:\u002F\u002Flocalhost:8000, add a model key, start a conversation",{"type":110,"content":164},[165],"Der npm-Weg, npm install -g @openhands\u002Fagent-canvas, braucht Node.js 24 und uv und führt den Agent-Server direkt auf dem Host aus; die README warnt, dass der Agent damit vollen Dateisystemzugriff hat. Der Container-Weg ist der, den man in ein Team-Setup überträgt.",{"type":167,"variant":168,"title":169,"body":170},"callout","warn","An localhost binden",[171],[172],"Lokale Listener binden an 127.0.0.1, damit der injizierte Session-Key von anderen Maschinen aus nicht erreichbar ist; die README rät, die Key-Injektions-Variable wegzulassen, wenn man im LAN oder auf einer öffentlichen Schnittstelle publiziert, und stattdessen einen starken LOCAL_BACKEND_API_KEY zu setzen.",{"type":117,"level":118,"id":94,"text":95},{"type":110,"content":175},[176],"Die Sandbox ist die Sicherheitsgrenze, und die Dokumentation ist unverblümt: Docker wird empfohlen, der Prozessmodus ist als unsicher, aber schnell gekennzeichnet, entfernte Sandboxes bedienen gehostete Deployments. In der Sandbox laufen Befehle und werden Dateien bearbeitet, deshalb entscheidet ihre Konfiguration darüber, was ein Prompt einer Maschine antun kann.",{"type":123,"ordered":124,"items":178},[179,181,183,188,190],[180],"Die Docker-Sandbox führt den Agent-Server in einem Container aus und ist der empfohlene Anbieter auf einem Arbeitsplatzrechner.",[182],"Die Prozess-Sandbox führt ihn als normalen Prozess ohne Container-Isolation aus: schneller, und nur für vertrauenswürdige Arbeit.",[184,187],{"tag":161,"children":185},[186],"OH_CONVERSATION_RUNTIME=docker"," gibt jeder Conversation einen eigenen Container mit eigenem Workspace und eigenem Zustand.",[189],"Hooks können gefährliche Befehle blockieren und Prüfungen erzwingen, bevor der Agent stoppt, und eine Bestätigungsrichtlinie kann Aktionen freigeben lassen.",[191],"Workspaces sind auf einen gemounteten Projekt Pfad begrenzt, deshalb sieht der Standard-Container den Rest des Host-Dateisystems nicht.",{"type":167,"variant":193,"title":194,"body":195},"note","Isolation ist keine Erlaubnis",[196],[197],"Sandboxing begrenzt, wo Code läuft, nicht, was er erreichen kann: Netzwerkzugriff, gemountete Secrets und Registry-Zugangsdaten bestimmen weiterhin, wie groß der Wirkungsradius eines Fehlers wird. Die Self-Hosting-Anleitung im Repository ist das Dokument, das man lesen sollte, bevor ein Canvas localhost verlässt.",{"type":117,"level":118,"id":97,"text":98},{"type":110,"content":200},[201],"Automatisierungen sind der Grund, sich dafür statt für einen Terminal-Agenten zu entscheiden. Ein Task läuft nach Zeitplan oder auf ein Event — ein GitHub-Issue, ein Pull Request, ein Webhook —, schickt eine Conversation an einen Agent Server, und das Ergebnis kommt als Kommentar, Pull Request oder Slack-Nachricht zurück.",{"type":123,"ordered":124,"items":203},[204,206,208,210,212],[205],"Fertige Vorlagen decken Issue-zu-Pull-Request, Pull-Request-Review, Repository-Überwachung und einen Slack-Kanal-Monitor ab.",[207],"Zeitpläne und Event-Trigger teilen sich ein Dashboard, mit Laufhistorie und Aktivieren oder Deaktivieren pro Automatisierung.",[209],"Automatisierungen lassen sich exportieren, importieren und mit einem Git-Repository synchronisieren, sodass sie als Dateien bearbeitet und wie Code geteilt werden.",[211],"Integrationen umfassen Slack, GitHub, Linear, Notion und Webhooks; der Automatisierungsdienst läuft als eigenes Repository und eigener Prozess.",[213],"Mit einem Container pro Conversation konkurrieren parallele Automatisierungen nicht um denselben Workspace.",{"type":110,"content":215},[216],"Hier wird auch der Betriebsaufwand sichtbar: ein dauerhaft laufender Canvas, ein Automatisierungsdienst und Container pro Conversation sind drei zusätzliche Dinge im Vergleich zu einem Terminal-Agenten. Die eigenen Use-Case-Seiten des Projekts beschreiben eine Vier-Automatisierungen-Pipeline vom Issue bis zum Merge — ein legitimes Ziel und eine ehrliche Menge an Mechanik.",{"type":117,"level":118,"id":100,"text":101},{"type":110,"content":219},[220],"Die Schwächen zuerst: OpenHands bewegt sich schnell, und die Oberfläche zeigt das. Die Begriffe wechselten in V1 von Runtimes zu Sandboxes, während die Konfiguration noch RUNTIME liest, das Frontend heißt jetzt Agent Canvas statt älteres Web-UI, und der Code verteilt sich auf vier Repositories mit separat versionierten Teilen. Wer nichts fest pinnt, findet Upgrade-Hinweise in seinen Tickets.",{"type":123,"ordered":124,"items":222},[223,225,227,229],[224],"API-Stabilität: SDK und Agent Server versionieren sich unabhängig vom Canvas, und die 1.25.0-Notes schreiben sie auf 1.53.0 fest.",[226],"Das Ergebnis folgt dem Modell: Der eigene OpenHands Index findet kleine Abstände zwischen Modellen bei der Issue-Lösung und deutlich größere über seinen Fünf-Aufgaben-Mix hinweg.",[228],"Selbst gehostete Automatisierungen brauchen eine Maschine, die immer an ist, plus Zugriffsverwaltung für GitHub, Slack und den Modellanbieter.",[230],"GUI, CLI und Canvas überlappen, sodass ein Team einen Einstieg wählen muss statt ihn zu erben.",{"type":110,"content":232},[233],"Das meiste lässt sich mit Disziplin verwalten statt vermeiden: die drei Versionsnummern gemeinsam pinnen, pro Team einen Einstieg behalten und eine Release Note lesen, bevor sie als Störung gelesen wird.",{"type":235,"head":236,"rows":245},"table",[237,239,241,243],[238],"System",[240],"Wo es läuft",[242],"Modellwahl",[244],"Schwerster Teil",[246,254,263,271],[247,248,250,252],[24],[249],"Ihr Docker, eine entfernte Sandbox oder ein lokaler Prozess",[251],"jeder Anbieter über LiteLLM, lokale Server eingerechnet",[253],"dauerhaft laufender Canvas, Agent Server und Container",[255,257,259,261],[256],"Claude Code",[258],"Ihr Terminal, mit Hooks und CI-Skripten",[260],"Anthropic-Modelle",[262],"fast keiner",[264,266,268,270],[265],"Aider",[267],"Ihr Terminal, mit bewussten Git-Eingriffen",[269],"viele Anbieter, lokale Server eingerechnet",[262],[272,274,276,277],[273],"Cline",[275],"eine VS-Code-Erweiterung",[269],[278],"eine offene Editor-Sitzung",{"type":110,"content":280},[281],"Der Vergleich geht in Wahrheit um Infrastruktur. OpenHands kauft sandboxierte, planbare, modellagnostische Ausführung und bezahlt sie mit Dauerbetrieb; die Terminal-Agenten kaufen Einfachheit und verzichten auf die Steuerungsebene.",{"type":117,"level":118,"id":103,"text":104},{"type":110,"content":284},[285],"OpenHands lohnt sich, wenn die Arbeit unbeaufsichtigt stattfinden soll: Issues, die zu Pull Requests werden, Reviews, die bei jedem Merge laufen, Monitorings, die ein Repository beobachten. Für interaktive Arbeit in einem Repository ist ein Terminal-Agent mit einer Sandbox, der man ohnehin vertraut, mit weniger Mechanik beim gleichen Ergebnis.",{"type":123,"ordered":151,"items":287},[288,290,292,294,296],[289],"Nutzen Sie es, wenn das Modell eine austauschbare Abhängigkeit bleiben muss: Profile, LiteLLM-Anbieter und lokale Server sind First Class, kein Anbieter ist tragend.",[291],"Nutzen Sie es selbst gehostet, wenn das Besitzen der Ausführungsumgebung der Punkt ist; die MIT-Lizenz und der Docker-Weg machen das zu einem gestützten Weg statt zu einem Workaround.",[293],"Beginnen Sie mit der Container-Installation, mounten Sie Projekte aus einem Verzeichnis und behandeln Sie den Prozessmodus als Debugging-Komfort.",[295],"Übernehmen Sie es nicht für eine stabile API: Pinnen Sie Canvas, Agent Server und SDK gemeinsam und lesen Sie jede Release Note vor dem Upgrade.",[297],"Aktivieren Sie keine Automatisierungen, die Sie nicht prüfen können: Jeder Zeitplan ist ein Agent mit Zugangsdaten, deshalb gehören Bestätigungsrichtlinien und Hooks standardmäßig an.",{"type":299,"content":300},"quote",[301],"OpenHands ist kein Werkzeug, das man auf ein Projekt loslässt. Es ist eine kleine Plattform, die Ihre Agenten betreibt, und die Plattform ist der Teil, den Sie besetzen müssen.",{"type":117,"level":118,"id":106,"text":107},{"type":123,"ordered":151,"items":304},[305,310,314,318,322,326,330],[306],{"tag":307,"href":28,"children":308},"a",[309],"OpenHands-README",[311],{"tag":307,"href":37,"children":312},[313],"OpenHands-Lizenz (MIT)",[315],{"tag":307,"href":40,"children":316},[317],"Agent Canvas 1.25.0: Release Notes",[319],{"tag":307,"href":43,"children":320},[321],"OpenHands: Sandbox-Übersicht",[323],{"tag":307,"href":46,"children":324},[325],"OpenHands: Schnellstart",[327],{"tag":307,"href":49,"children":328},[329],"OpenHands-Preise",[331],{"tag":307,"href":52,"children":332},[333],"Der OpenHands Index im Überblick",[335,392,465,535],{"slug":336,"published":337,"minutes":338,"category":7,"tags":339,"keywords":345,"about":356,"sources":364,"cover":386,"og":387,"expertise":55,"locales":388,"lang":58,"title":389,"description":390,"coverAlt":391},"agent-tool-design-descriptions-errors","2026-10-17",11,[340,341,342,343,344],"AI agents","Tool use","Function calling","MCP","Agent design",[346,347,348,349,350,351,352,353,354,355],"agent tool design","writing tool descriptions for llm","function calling best practices","tool use error handling","mcp tool design","tool calling is_error","how many tools should an agent have","tool search defer_loading","agent computer interface","llm tool schema design",[357,358,361],{"name":30,"url":31},{"name":359,"url":360},"Model Context Protocol","https:\u002F\u002Fmodelcontextprotocol.io\u002F",{"name":362,"url":363},"Poka-yoke","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPoka-yoke",[365,368,371,374,377,380,383],{"title":366,"url":367},"Anthropic Engineering: Writing effective tools for agents, with agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fwriting-tools-for-agents",{"title":369,"url":370},"Anthropic Engineering: Building effective agents (Dec 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fbuilding-effective-agents",{"title":372,"url":373},"Claude Platform Docs: Define tools","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fdefine-tools",{"title":375,"url":376},"Claude Platform Docs: Handle tool calls","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fhandle-tool-calls",{"title":378,"url":379},"Claude Platform Docs: Tool search tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Ftool-search-tool",{"title":381,"url":382},"Model Context Protocol specification 2025-11-25: Tools","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fserver\u002Ftools",{"title":384,"url":385},"OpenAI API Docs: Function calling","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ffunction-calling","\u002Fimages\u002Fblog\u002Fagent-tool-design-descriptions-errors\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fagent-tool-design-descriptions-errors\u002Fog.jpg",[57,58,59],"Tools für KI-Agenten gestalten: Namen, Beschreibungen, Schemas und Fehlermeldungen","Agent-Tools, die richtig gewählt und aufgerufen werden: aufgabenorientierte Tools, Beschreibungen, Schemas, kompakte Antworten und verwertbare Fehlermeldungen.","Ein Sockel mit drei Schlitzen; über dem mittleren steht ein passend breiter Block, daneben zwei Blöcke falscher Breite.",{"slug":393,"published":337,"minutes":338,"category":7,"tags":394,"keywords":400,"about":413,"sources":423,"cover":459,"og":460,"expertise":55,"locales":461,"lang":58,"title":462,"description":463,"coverAlt":464},"coding-agents-legacy-codebase-migration",[395,396,397,398,399],"Legacy migration","Coding agents","Strangler fig","Testing","Code review",[401,402,403,404,405,406,407,408,409,410,411,412],"legacy code migration ai","coding agent legacy codebase","strangler fig pattern ai","characterization tests legacy code","ai code migration review","agent assisted refactoring","legacy modernization coding agent","differential testing migration","shadow traffic migration","ai code review gate","test harness before migration","llm code migration",[414,417,420],{"name":415,"url":416},"Legacy code","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLegacy_code",{"name":418,"url":419},"Characterization test","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCharacterization_test",{"name":421,"url":422},"Strangler fig pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStrangler_fig_pattern",[424,427,429,432,435,438,441,444,447,450,453,456],{"title":425,"url":426},"Martin Fowler: Strangler Fig (2024)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FStranglerFigApplication.html",{"title":428,"url":419},"Wikipedia: Characterization test",{"title":430,"url":431},"Google Research: Accelerating code migrations with AI (2024)","https:\u002F\u002Fresearch.google\u002Fblog\u002Faccelerating-code-migrations-with-ai\u002F",{"title":433,"url":434},"Ziftci et al.: Migrating Code At Scale With LLMs At Google (arXiv 2504.09691)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.09691",{"title":436,"url":437},"Anthropic: Effective harnesses for long-running agents (2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents",{"title":439,"url":440},"Anthropic: Redesigning source control at Anthropic (2026)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fredesigning-source-control",{"title":442,"url":443},"METR: Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity","https:\u002F\u002Fmetr.org\u002Fblog\u002F2025-07-10-early-2025-ai-experienced-os-dev-study\u002F",{"title":445,"url":446},"Chand et al.: Why Industry Migrates and When It Trusts LLMs (ESEM 2026)","https:\u002F\u002Fdrops.dagstuhl.de\u002Fentities\u002Fdocument\u002F10.4230\u002FLIPIcs.ESEM.2026.85",{"title":448,"url":449},"Li et al.: Environment-in-the-Loop: Rethinking Code Migration with LLM-based Agents (arXiv 2602.09944)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2602.09944",{"title":451,"url":452},"AWS: Amazon Q Developer just reached a $260 million dollar milestone (2024)","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdevops\u002Famazon-q-developer-just-reached-a-260-million-dollar-milestone\u002F",{"title":454,"url":455},"OpenAI: Why SWE-bench Verified no longer measures frontier coding capabilities (2026)","https:\u002F\u002Fopenai.com\u002Findex\u002Fwhy-we-no-longer-evaluate-swe-bench-verified\u002F",{"title":457,"url":458},"GitHub Docs: About GitHub Copilot cloud agent","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcoding-agent\u002Fabout-coding-agent","\u002Fimages\u002Fblog\u002Fcoding-agents-legacy-codebase-migration\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcoding-agents-legacy-codebase-migration\u002Fog.jpg",[57,58,59],"Legacy-Codebase mit Coding-Agenten migrieren: ein Strangler-Fig-Playbook","Wie Coding-Agenten eine Legacy-Migration tragen: Characterization-Tests zuerst, ein Seam pro Task, Review-Gates und differentielle Verifikation.","Ein Stapel Schichten, bei dem die obersten zwei durch neue ersetzt werden, daneben eine Naht und ein Haken.",{"slug":466,"published":337,"minutes":467,"category":7,"tags":468,"keywords":472,"about":484,"sources":494,"cover":529,"og":530,"expertise":55,"locales":531,"lang":58,"title":532,"description":533,"coverAlt":534},"background-agents-async-pr-workflow",12,[396,469,470,399,471],"Pull requests","CI","Automation",[473,474,475,476,477,478,479,480,481,482,483],"background coding agent","async coding agent","cloud coding agent pull request","copilot coding agent limits","codex cloud tasks","claude code cloud sessions","jules coding agent limits","agent pull request review","coding agent sandbox","agent CI gating","cost per merged pull request",[485,488,491],{"name":486,"url":487},"Software agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_agent",{"name":489,"url":490},"Pull request","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDistributed_version_control",{"name":492,"url":493},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[495,496,499,502,505,508,511,514,517,520,523,526],{"title":457,"url":458},{"title":497,"url":498},"GitHub Docs: Risks and mitigations for Copilot cloud agent","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcloud-agent\u002Frisks-and-mitigations",{"title":500,"url":501},"OpenAI Developers: Codex cloud environments","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcloud\u002Fenvironments",{"title":503,"url":504},"Anthropic: Use Claude Code in the cloud","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fclaude-code-on-the-web",{"title":506,"url":507},"Google Jules: Limits and plans","https:\u002F\u002Fjules.google\u002Fdocs\u002Fusage-limits\u002F",{"title":509,"url":510},"Google Jules: Getting started","https:\u002F\u002Fjules.google\u002Fdocs\u002F",{"title":512,"url":513},"GitHub Docs: About protected branches","https:\u002F\u002Fdocs.github.com\u002Fen\u002Frepositories\u002Fconfiguring-branches-and-merges-in-your-repository\u002Fmanaging-protected-branches\u002Fabout-protected-branches",{"title":515,"url":516},"GitHub Docs: Models and pricing for GitHub Copilot","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-billing\u002Fmodels-and-pricing",{"title":518,"url":519},"OpenAI Developers: Codex pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fpricing",{"title":521,"url":522},"Ehsani et al.: Where Do AI Coding Agents Fail? An Empirical Study of Failed Agentic Pull Requests in GitHub (MSR 2026, arXiv 2601.15195)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.15195",{"title":524,"url":525},"Peralta et al.: Why Are Agentic Pull Requests Merged or Rejected? An Empirical Study (MSR 2026, arXiv 2605.22534)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2605.22534",{"title":527,"url":528},"DORA: State of AI-assisted Software Development 2025","https:\u002F\u002Fdora.dev\u002Fdora-report-2025","\u002Fimages\u002Fblog\u002Fbackground-agents-async-pr-workflow\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fbackground-agents-async-pr-workflow\u002Fog.jpg",[57,58,59],"Coding-Agenten im Hintergrund: Pull Requests, Queues und Review","Wie asynchrone Coding-Agenten Tasks einreihen, in Sandboxes laufen, Draft-PRs öffnen und CI passieren. Grenzen, Kosten, Review und Fehlerbilder.","Eine Karte in einer Ablage fächert sich zu fünf Feldern auf, alle Pfeile führen zu einer Seite hinter einem Tor.",{"slug":536,"published":537,"minutes":538,"category":7,"tags":539,"keywords":545,"about":557,"sources":565,"cover":598,"og":599,"expertise":55,"locales":600,"lang":58,"title":601,"description":602,"coverAlt":603},"context-rot-compaction-long-running-agents","2026-10-16",10,[540,541,542,543,544],"Context rot","Compaction","Context engineering","Long-running agents","Agent memory",[546,547,548,549,550,551,552,553,554,555,556],"context rot","context rot LLM","compaction AI agents","context engineering","long-running agents context window","Claude compaction API","context editing clear tool results","OpenAI responses compaction","lost in the middle LLM","agent context management","sub-agents context isolation",[558,561,564],{"name":559,"url":560},"Context window","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model#Context_window",{"name":562,"url":563},"Attention (machine learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAttention_(machine_learning)",{"name":30,"url":31},[566,569,572,575,578,580,583,586,589,592,595],{"title":567,"url":568},"Chroma: Context Rot: How Increasing Input Tokens Impacts LLM Performance (Jul 2025)","https:\u002F\u002Fresearch.trychroma.com\u002Fcontext-rot",{"title":570,"url":571},"Liu et al.: Lost in the Middle: How Language Models Use Long Contexts (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172",{"title":573,"url":574},"Modarressi et al.: NoLiMa: Long-Context Evaluation Beyond Literal Matching (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.05167",{"title":576,"url":577},"Anthropic: Effective context engineering for AI agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"title":579,"url":437},"Anthropic: Effective harnesses for long-running agents (Nov 2025)",{"title":581,"url":582},"Claude API docs: Compaction at a token threshold","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-threshold",{"title":584,"url":585},"Claude API docs: Compaction on demand","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-on-demand",{"title":587,"url":588},"Claude API docs: Context editing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcontext-editing",{"title":590,"url":591},"Claude API docs: Memory tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fmemory-tool",{"title":593,"url":594},"OpenAI API docs: Compaction","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fcompaction",{"title":596,"url":597},"Cognition: Don't Build Multi-Agents","https:\u002F\u002Fcognition.ai\u002Fblog\u002Fdont-build-multi-agents","\u002Fimages\u002Fblog\u002Fcontext-rot-compaction-long-running-agents\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcontext-rot-compaction-long-running-agents\u002Fog.jpg",[57,58,59],"Context Rot bei langlaufenden Agenten: Leeren, Compaction, Memory und Sub-Agenten","Warum die Genauigkeit von LLMs mit wachsendem Kontext sinkt und wie Leeren, Compaction, Notizen und Sub-Agenten lange Agentenläufe stabil halten.","Eine kleine Presse drückt einen hohen Blätterstapel zu einem kurzen, zwei Notizen zweigen ab.",1792261157544]