So konfigurieren Sie Symphony-Agenten zur automatischen Lösung von GitHub-Issues
2026년 5월 9일
0
Computing/SoftwareComments (0)
Log in to leave a comment
No posts yet
Log in to leave a comment
No posts yet
Damit ein Agent die im Issue-Tracker gesammelten Tickets direkt bearbeiten kann, müssen Sie zunächst eine WORKFLOW.md in das Projekt-Root werfen. Symphony ist so strukturiert, dass es Statusänderungen auf dem Projektmanagement-Board erkennt und isolierte Workspaces zuweist. Als ein internes Team von OpenAI diesen Ansatz einführte, sprang die Zahl der endgültig gemergten Pull-Requests innerhalb von nur drei Wochen um 500 %. Diese Zahl mag übertrieben klingen, bedeutet aber schlichtweg, dass der Agent das Environment-Setup und die Zuweisungsaufgaben selbst erledigt, sodass sich die Entwickler nur noch auf den Code konzentrieren müssen.
Verankern Sie zuerst den Pfad zum GitHub-Repository und ein Trigger-Label wie ai-fix in der YAML-Konfiguration. Lassen Sie dann einen in Rust geschriebenen broomva/symphony-Daemon oder die Go-Version itervox/symphony-go laufen, um alle 30 Sekunden nach neuen Issues zu scannen. Mit diesem Setup verschwendet niemand mehr Zeit damit, Messenger zu durchforsten, um zu entscheiden, wer welche Aufgabe übernimmt.
Wenn man Agenten Aufgaben überträgt, schreiben sie manchmal völlig absurden Code und reichen diesen selbstbewusst ein – etwa indem sie Sicherheitsschlüssel offenlegen oder Team-Konventionen ignorieren. Die Funktion hooks.after_run von Symphony fungiert als Kontrollpunkt, der aktiviert wird, bevor die Ergebnisse des Agenten im Repository protokolliert werden. Wenn das hier ausgeführte Skript einen Fehler ausgibt, bricht Symphony den Vorgang sofort ab und verhindert so, dass minderwertiger Code einfließt.
Fügen Sie im Schritt after_run lediglich drei Zeilen hinzu: Formatierung mit npx prettier --write, Syntax-Korrektur mit npx eslint --fix und abschließend Type-Checking mit npx tsc --noEmit. Durch diese automatische Validierungsschleife halbiert sich der Aufwand für Menschen, den vom Agenten geschriebenen Code nachzubessern. Dies ist unerlässlich, wenn Sie vermeiden wollen, Ihre gesamte Zeit damit zu verbringen, die Fehler der Agenten zu korrigieren.
Wenn Sie mehrere Agenten gleichzeitig laufen lassen, gerät der lokale Rechner schnell an seine Grenzen. Die CPU-Auslastung steigt, die Maus ruckelt oder das Dateisystem gerät durcheinander, was dazu führen kann, dass Code überschrieben wird. Der Symphony-Orchestrator verwendet intern die Funktion filepath.EvalSymlinks, um Pfade zu analysieren und Directory-Traversal-Angriffe zu verhindern, aber die Ressourcenverteilung müssen Sie selbst konfigurieren.
Um mehr als fünf Sessions stabil zu betreiben, nutzen Sie Docker-Container als Slots. Es ist sicherer, die Ressourcen mit den Optionen --memory="2g" und --cpu-shares=100 zu begrenzen und die externe Kommunikation über --network=none zu kappen. Wenn Sie nicht erleben wollen, wie ein Agent Daten irgendwohin ins Netzwerk sendet oder das System lahmlegt, ist dieser Grad an Isolierung eine selbstverständliche Maßnahme.
Es wäre fatal, einen Agenten direkt in den Main-Branch committen zu lassen. Egal wie gut die KI-Leistung geworden ist, ohne die finale Freigabe durch einen Menschen sollte keine einzige Zeile gemergt werden. Die fertigen Arbeitsergebnisse müssen zwingend in temporäre Branches mit einem Präfix wie staging/ai-patch- gepusht werden.
Fügen Sie am Ende der Pipeline GitHub CLI (gh) Befehle hinzu. Führen Sie gh pr create im nicht-interaktiven Modus aus, um sich selbst als Reviewer zuzuweisen, und lassen Sie Benachrichtigungen über Slack senden. Wenn Sie den Code gesichtet haben und alles in Ordnung ist, mergen Sie ihn einfach mit gh pr merge --squash. Diese Struktur – die Maschine entwirft, der Mensch genehmigt – ist sowohl der schnellste als auch der sicherste Weg.