- Interne Coding-Agenten, die von führenden Engineering-Organisationen wie Stripe, Ramp und Coinbase unabhängig aufgebaut wurden, konvergieren auf ähnliche Architekturpatterns; Open SWE ist das Open-Source-Framework, das diese umsetzt
- Aufbauend auf Deep Agents und LangGraph bietet es Kernkomponenten wie isolierte Cloud-Sandboxes, kuratierte Toolsets, Subagent-Orchestrierung und die Integration in Entwickler-Workflows
- Es wird per Komposition aufgebaut, ohne bestehende Agenten zu forken, sodass Upgrades des zugrunde liegenden Frameworks und organisationsspezifische Anpassungen gleichzeitig erhalten bleiben
- Alle zentralen Komponenten sind austauschbar als Plug-ins: Sandbox-Anbieter, Modelle, Tools, Trigger, System-Prompts, Middleware usw.
- Für Teams, die den Einsatz interner Coding-Agenten prüfen, bietet es einen auf produktionsbewährten Patterns basierenden Ausgangspunkt unter MIT-Lizenz
Gemeinsame Patterns aus produktiven Deployments
- Coding-Agenten wie Stripes Minions, Ramps Inspect und Coinbases Cloudbot wurden zwar unabhängig entwickelt, konvergierten aber auf ähnliche architektonische Entscheidungen
- Isolierte Ausführungsumgebungen: Jede Aufgabe läuft in einer dedizierten Cloud-Sandbox mit vollständigen Rechten innerhalb klarer Grenzen. So wird der Wirkungsbereich von Fehlern auf Produktionssysteme isoliert, während Befehle ohne Freigabe-Prompt für jede einzelne Aktion ausgeführt werden können
- Kuratierte Toolsets: Laut dem Stripe-Engineering-Team hat der Agent Zugriff auf rund 500 Tools; diese sind jedoch nicht über die Zeit einfach angesammelt worden, sondern wurden sorgfältig ausgewählt und gepflegt. Wichtiger als die Anzahl der Tools ist die Kuratierung
- Slack-first-Aufruf: Alle drei Systeme integrieren Slack als primäre Oberfläche, sodass Entwickler ohne Kontextwechsel in eine neue Anwendung innerhalb ihrer bestehenden Kommunikations-Workflows darauf zugreifen können
- Reicher Kontext beim Start: Vollständiger Kontext aus Linear-Issues, Slack-Threads und GitHub-PRs wird vor Start der Arbeit eingebracht, wodurch der Overhead für die Anforderungsermittlung per Tool-Aufruf sinkt
- Subagent-Orchestrierung: Komplexe Aufgaben werden zerlegt und an spezialisierte Child-Agenten delegiert, die jeweils isolierten Kontext und einen fokussierten Verantwortungsbereich haben
Open-SWE-Architektur
-
1. Agent Harness: auf Komposition mit Deep Agents basierend
- Statt bestehende Agenten zu forken oder von Grund auf neu zu bauen, setzt der Ansatz auf Komposition auf dem Deep-Agents-Framework. Das ähnelt dem Ansatz des Ramp-Teams, Inspect auf OpenCode aufzubauen
- Zwei Vorteile der Komposition:
- Upgrade-Pfad: Wenn Deep Agents verbessert wird – etwa bei Kontextmanagement, effizienterer Planung oder optimierter Token-Nutzung – lassen sich diese Verbesserungen übernehmen, ohne die Anpassungen neu aufzubauen
- Anpassung ohne Fork: Organisationsspezifische Tools, Prompts und Workflows können als Konfiguration erhalten bleiben, statt die Kernlogik des Agenten zu verändern
- Von Deep Agents bereitgestellte Infrastruktur: integrierte Planung über
write_todos, dateibasiertes Kontextmanagement, natives Spawnen von Subagenten über das Tool task sowie Middleware-Hooks für deterministische Orchestrierung
-
2. Sandbox: isolierte Cloud-Umgebung
- Jede Aufgabe läuft in ihrer eigenen isolierten Cloud-Sandbox, einer entfernten Linux-Umgebung mit vollem Shell-Zugriff
- Das Repository wird geklont und dem Agenten werden volle Rechte gegeben; Fehler bleiben auf diese Umgebung beschränkt
- Standardmäßig unterstützte Sandbox-Anbieter: Modal, Daytona, Runloop, LangSmith. Ein eigenes Sandbox-Backend kann ebenfalls implementiert werden
- Zentrale Funktionen:
- Pro Gesprächsthread wird eine persistente Sandbox zugewiesen, die in Folgemeldungen wiederverwendet wird
- Wenn eine Sandbox nicht mehr erreichbar ist, wird sie automatisch neu erzeugt
- Mehrere Aufgaben laufen parallel, jeweils in ihrer eigenen Sandbox
-
3. Tools: Kuratierung statt Anhäufung
- Open SWE bietet ein fokussiertes Toolset zusammen mit den eingebauten Deep-Agents-Tools (
read_file, write_file, edit_file, ls, glob, grep, write_todos, task)
- Ein kleines, kuratiertes Toolset ist einfacher zu testen, zu warten und für Inferenz zu nutzen. Zusätzliche organisationsinterne Tools – interne APIs, benutzerdefinierte Deployment-Systeme, spezialisierte Test-Frameworks – können explizit ergänzt werden
-
4. Context Engineering: AGENTS.md + Source Context
- Kontext wird aus zwei Quellen gesammelt:
- Datei AGENTS.md: Liegt sie im Root des Repositorys, wird sie aus der Sandbox gelesen und in den System-Prompt injiziert. Darin lassen sich Konventionen, Testanforderungen, Architekturentscheidungen und teamspezifische Patterns kodieren
- Source Context: Ein vollständiges Linear-Issue (Titel, Beschreibung, Kommentare) oder die Historie eines Slack-Threads wird kombiniert und vor dem Start des Agenten übergeben, um aufgabenspezifischen Kontext ohne zusätzliche Tool-Aufrufe bereitzustellen
- Ein zweischichtiger Ansatz, der Wissen über das gesamte Repository mit aufgabenspezifischen Informationen ausgewogen verbindet
-
5. Orchestrierung: Subagenten + Middleware
- Es werden zwei Mechanismen kombiniert:
- Subagenten: Über das Tool
task werden Child-Agenten gespawnt. Der Hauptagent delegiert unabhängige Teilaufgaben an isolierte Subagenten mit eigenem Middleware-Stack, eigener Todo-Liste und eigenen Dateioperationen
- Middleware: deterministische Hooks, die um den Agent-Loop herum ausgeführt werden
check_message_queue_before_model: Injiziert Folgemeldungen, die während der Ausführung des Agenten eintreffen (Linear-Kommentare, Slack-Nachrichten), vor dem nächsten Modellaufruf. So kann der Nutzer zusätzliche Eingaben machen, während der Agent arbeitet
open_pr_if_needed: Sicherheitsnetz, das automatisch Commits erstellt und einen PR erzeugt, wenn der Agent das Öffnen eines PR nicht selbst abschließt
ToolErrorMiddleware: fängt Tool-Fehler sauber ab und verarbeitet sie
- Durch die Trennung zwischen agentischer (modellgetriebener) und deterministischer (middlewaregesteuerter) Orchestrierung wird ein Gleichgewicht zwischen Zuverlässigkeit und Flexibilität erreicht
-
6. Aufruf: Slack, Linear, GitHub
- Slack: Bot-Erwähnung in einem Thread. Mit der Syntax
repo:owner/name wird das zu bearbeitende Repository angegeben. Der Agent antwortet im Thread mit Status-Updates und PR-Links
- Linear: Kommentar mit
@openswe in einem Issue. Der Agent liest den vollständigen Issue-Kontext, bestätigt mit 👀 und veröffentlicht das Ergebnis als Kommentar
- GitHub: In Kommentaren zu vom Agenten erstellten PRs wird Feedback zur Review mit
@openswe verarbeitet und Korrekturen auf denselben Branch gepusht
- Jeder Aufruf erzeugt eine deterministische Thread-ID, sodass Folgemeldungen zum selben Issue oder Thread an denselben laufenden Agenten geroutet werden
-
7. Validierung: promptbasiert + Sicherheitsnetz
- Der Agent wird angewiesen, vor dem Commit Linter, Formatter und Tests auszuführen
- Die Middleware
open_pr_if_needed fungiert als Backstop: Beendet der Agent seine Arbeit ohne einen PR zu öffnen, übernimmt die Middleware dies automatisch
- Deterministische CI-Checks, visuelle Validierung und Review-Gates lassen sich über zusätzliche Middleware erweitern
Warum Deep Agents verwenden
- Kontextmanagement: Die große Menge an Zwischendaten, die langlaufende Coding-Aufgaben erzeugen – Dateiinhalte, Befehlsausgaben, Suchergebnisse –, wird in dateibasierte Speicher ausgelagert, statt alles im Gesprächsverlauf zu halten. Das ist in großen Codebasen wirksam, um Kontextüberlauf zu verhindern
- Planungsbaustein: Mit dem eingebauten Tool
write_todos lassen sich komplexe Aufgaben strukturiert zerlegen, Fortschritt verfolgen und Pläne an neue Informationen anpassen. Besonders nützlich für mehrstufige Aufgaben über längere Zeiträume
- Subagent-Isolation: Wenn der Hauptagent über das Tool
task Child-Agenten spawnt, erhalten diese isolierten Kontext. Die Gesprächsverläufe verschiedener Teilaufgaben vermischen sich nicht, was bei komplexen Aufgaben klareres Reasoning ermöglicht
- Middleware-Hooks: An bestimmten Stellen des Agent-Loops lässt sich deterministische Logik injizieren. Das wird für zuverlässig auszuführende Abläufe wie Message Injection und automatische PR-Erstellung genutzt
- Upgrade-Pfad: Da Deep Agents als eigenständige Bibliothek aktiv weiterentwickelt wird, können Verbesserungen bei Kontextkompression, Prompt-Caching, Planungseffizienz und Subagent-Orchestrierung in Open SWE übernommen werden, ohne Anpassungen neu aufzubauen
Organisationsspezifische Anpassung
- Open SWE ist nicht als fertiges Produkt gedacht, sondern als anpassbare Grundlage. Alle wichtigen Komponenten sind als Plug-ins austauschbar:
- Sandbox-Anbieter: Wechsel zwischen Modal, Daytona, Runloop, LangSmith. Ein eigenes Sandbox-Backend passend zu internen Infrastrukturanforderungen kann implementiert werden
- Modelle: Alle LLM-Anbieter können verwendet werden. Standard ist Claude Opus 4, und je Subtask können unterschiedliche Modelle konfiguriert werden
- Tools: Tools für interne APIs, Deployment-Systeme, Test-Frameworks und Monitoring-Plattformen lassen sich ergänzen. Nicht benötigte Tools können entfernt werden
- Trigger: Die Integrationslogik für Slack, Linear und GitHub kann angepasst werden. Neue Trigger-Oberflächen wie E-Mail, Webhooks oder Custom UI lassen sich hinzufügen
- System-Prompt: Der Standard-Prompt und die Logik zur Einbindung von AGENTS.md lassen sich anpassen. Organisationsspezifische Richtlinien, Einschränkungen und Konventionen können ergänzt werden
- Middleware: Eigene Middleware-Hooks für Validierung, Freigabe-Gates, Logging und Sicherheitsprüfungen können hinzugefügt werden
Vergleich mit internen Implementierungen
- Im Vergleich mit den internen Systemen von Stripe, Ramp und Coinbase auf Basis öffentlich verfügbarer Informationen sind die Kernpatterns ähnlich
- Unterschiede liegen in Implementierungsdetails, internen Integrationen und organisationsspezifischen Tools – genau die Art von Unterschieden, die bei der Anpassung eines Frameworks an andere Umgebungen zu erwarten ist
Erste Schritte
- Open SWE ist unter MIT-Lizenz auf GitHub verfügbar: https://github.com/langchain-ai/open-swe
- Der Installation Guide beschreibt das Erstellen einer GitHub App, die Einrichtung von LangSmith, Linear/Slack/GitHub-Trigger sowie das produktive Deployment
- Der Customization Guide erklärt, wie sich Sandbox, Modelle, Tools, Trigger, System-Prompt und Middleware austauschen lassen
- Forks, Anpassungen und internes Deployment sind alle möglich
2 Kommentare
Die Gedanken der Leute ähneln sich wohl alle ziemlich ... das ist wirklich ein echtes Zeitalter der streitenden Reiche.
Jetzt bauen offenbar alle interne Coding-Agenten, also hat man gleich ein Framework dafür gemacht. Alle sind wirklich schnell.
Man muss das nicht unbedingt nutzen; es dürfte aber trotzdem sinnvoll sein, sich die Muster anzusehen, an denen sich intern verschiedene Unternehmen orientiert haben.