KI-Agenten und Branch-Strategie: Sichere Automatisierung mit Git
KI-Agenten sind nicht fehlerhaft, aber sie sind unvorhersehbar.
Ein aktuelles GitHub-Issue zeigte einen Agenten, der explizite Anweisungen ignorierte, keine Commits auf den main-Branch zu machen. Er las die Regeln, stimmte ihnen zu und pushte dann trotzdem auf main.
Wenn Ihr Sicherheitsmodell darauf basiert, einem Agenten zu sagen: „Tu dies nicht“, dann haben Sie kein Sicherheitsmodell. Sie haben Hoffnung.
Man kann einen System-Prompt nicht „überbrüllen“. Stattdessen müssen Sie ein System aufbauen, in dem der Agent physisch nicht in der Lage ist, das Falsche zu tun.
So richten Sie eine sichere Automatisierungsstrategie ein:
Nutzen Sie Git Worktrees zur Isolation Lassen Sie Agenten nicht in Ihrem Hauptverzeichnis arbeiten. Verwenden Sie
git worktree add, um jedem Agenten sein eigenes Verzeichnis und seinen eigenen Branch zuzuweisen. Ein Agent kann nicht aufmaincommitten, wennmainin seinem Workspace gar nicht ausgecheckt ist.Nutzen Sie eine strikte Branch-Namenskonvention Agenten erstellen viele Branches. Wenn Sie diese nicht ordentlich benennen, verlieren Sie den Überblick. Verwenden Sie ein dreiteiliges Präfix: • agent/feat/checkout-coupon-stacking • agent/fix/flaky-payment-test • agent/chore/bump-eslint Dies ermöglicht es Ihnen, automatisierte Branches einfach zu filtern und aufzuräumen.
Squash zum Zeitpunkt des Merges Agenten können unordentlich sein. Sie committen vielleicht zu oft oder erstellen einen einzigen riesigen, unlesbaren Commit. Machen Sie sich keine Sorgen um ihre Commit-Hygiene. Nutzen Sie Squash-Merging, wenn Sie deren PR mergen. Dies hält Ihren
main-Verlauf sauber, während der Agent seinen Branch als Arbeitsbereich nutzen kann.Implementieren Sie eine mehrschichtige Verteidigung Verlassen Sie sich nicht auf nur eine einzige Schutzmaßnahme (Guardrail).
- Prompt-Anweisungen: Die erste Verteidigungslinie.
- Lokale Pre-Commit-Hooks: Blockieren versehentliche Commits auf geschützte Branches.
- Serverseitiger Branch-Schutz: Die wichtigste Ebene. Erfordern Sie einen Pull Request in Ihrem Remote-Repository. Dies macht es für einen Agenten unmöglich, ohne menschliche Genehmigung auf
mainzu pushen.
Das Ziel ist es, den Agenten autonom arbeiten zu lassen, während der Mensch erst beim Pull Request wieder in den Prozess eingreift.
Hören Sie auf, jede Änderung zu überwachen. Bauen Sie eine Struktur auf, in der selbst ein unvorsichtiger Agent ein sicheres Ergebnis liefert.
Quelle: https://dev.to/nazar_boyko/ai-agents-and-branch-strategy-safe-automation-with-git-57ja
Optionale Lern-Community: https://t.me/GyaanSetuAi