Agent Templates

AI Coding Agent bauen

Kostenlose Spec für einen AI Coding Agent – der Edit-Test-Verify-Loop hinter Aider, OpenHands, SWE-agent und Claude Code. Framework-unabhängig: STACK.md legt Modell, Diff-Strategie, Test-Runner und Guardrail-Substrat fest. Mit Repo-Indexer, Planner, Fallback-Leiter fürs Patchen, geparstem Test-Feedback, Allowlist-Guardrails und Eval-Harness.

In meinem Repo bauen →
ACA-1
Leg das Fundament für deinen AI Coding Agent
ACA-2
Definiere die typisierten Verträge, die die Module des Loops austauschen
ACA-3
Bau den Repo-Indexer, der Dateien nach Relevanz für den Task rankt
ACA-4
Bau den Planner, der aus einem Task einen typisierten Edit-Plan macht
ACA-5
Bau das Diff-Apply-Tool mit einer Fallback-Leiter fürs Patchen
ACA-6
Bau das Test-Runner-Tool, das geparstes Pass/Fail zurückgibt
ACA-7
Verdrahte den Edit-Test-Verify-Loop und liefere den ersten End-to-End-Lauf
ACA-8
Bau Guardrails ein, damit der Agent unbeaufsichtigt laufen kann
ACA-9
Bau eine Eval-Harness, die deinen AI Coding Agent an einem festen Satz von Bugs bewertet
ACA-10
Bring den AI Coding Agent in Produktion: Retries, Traces, Kosten-Logs, Circuit Breaker
Nothing in flight
Nothing shipped yet
5 Minuten Planung, ~26 Stunden gespart. Registrier dich, und diese Spec mit 10 Tasks landet auf deinem Tekk-Board – dein Coding-Agent baut sie über MCP.
Jetzt bauen →

So nutzt du diese Spec

  1. Klick auf eine Zeile oben, um die ganze Task zu öffnen – Titel, Beschreibung, Subtasks, KI-Anweisungen, alles drin. Dasselbe Layout, das das Produkt intern nutzt.
  2. Klick auf Copy as Prompt in der rechten Seitenleiste einer Task. Du bekommst den in XML verpackten Prompt, den Tekk intern verwendet – füg ihn in Cursor, Claude Code, Codex, ChatGPT oder sonst wo ein, und der Agent hat den vollen Kontext der Task.
  3. Open in schickt denselben Prompt mit einem Klick direkt nach v0, Lovable, Bolt, Magic Patterns, Replit oder Cursor.

Was du baust

Goal 1: Liefere einen funktionierenden KI-Coding-Agent auf Basis des Edit-Test-Verify-Loops: Ein Repo-Indexer rankt Dateien, ein Planner erstellt einen typisierten Edit-Plan, ein Diff-Apply-Tool mit einer Fallback-Leiter aus neun Strategien nimmt die Änderungen vor, ein Test-Runner liefert geparstes Pass/Fail zurück, und der Loop iteriert bei Fehlschlägen, bis die Tests grün sind – mit Guardrails, Eval-Harness und Tracing in Produktionsqualität.
Aider, OpenHands, SWE-agent und Claude Code laufen alle auf dasselbe Rückgrat hinaus: Repo lesen → planen → Diff anwenden → Tests ausführen → Output lesen → iterieren. Dieses Kanban baut diesen Loop als framework-unabhängiges CLI. Du triffst fünf Entscheidungen einmal in STACK.md (language / model / diff_strategy / test_runner / guardrail_substrate); jede spätere Karte bringt Snippets pro Variante mit. Die Messlatte: Die Eval-Harness besteht ≥ 75 % von 8 handgeschriebenen Bugfix-Szenarien bei p50-Iterationen < 6 und einem parallelisierungssicheren Run-Trace; der Circuit Breaker öffnet nach 3 aufeinanderfolgenden Fehlschlägen mit derselben Signatur und beendet sauber; die Regressionsgrenze von ±5 % hält nach dem Production-Hardening.

Architektur

flowchart TB
  User[User Task] --> Index[Repo Indexer<br/>RepoIndex + RelevanceRanking]
  Index --> Planner[Planner<br/>EditPlan]
  Planner --> Loop{Edit-Test-Verify Loop}
  Loop -->|Diff| Apply[Diff-Apply Tool<br/>9-strategy fallback ladder]
  Apply -->|ApplyResult + commit_sha| Loop
  Loop -->|verification_command| Tests[Test-Runner Tool<br/>parsed TestResult]
  Tests -->|passed/failed/failures| Loop
  Loop -->|failures + prev plan| Planner
  Loop -->|status=success| Output[RunResult + commit chain]
  Loop -->|max_iterations or circuit_breaker| Halt[RunResult halted]
  Guards[Guardrails<br/>touched-file allowlist<br/>forbidden bash<br/>max iterations] -.->|PreToolUse| Apply
  Guards -.->|PreToolUse| Tests

Die drei tragenden Entscheidungen: Planung mit Structured Output vor jeder Änderung (der Planner gibt einen typisierten EditPlan zurück, nie Freitext – Anthropics „erst erkunden, dann planen, dann coden“), flexibles Patchen mit einer Fallback-Leiter aus neun Strategien im Diff-Apply-Tool (Aiders Forschung: Wer die Toleranz für unvollkommene Diffs abschaltet, bekommt 9-mal mehr Apply-Fehler) und geparstes Test-Feedback vom Test-Runner (ein Failure-Objekt pro fehlgeschlagenem Test statt rohem stdout – wer dem Modell rohen pytest-Text jenseits von ~25.000 Tokens gibt, verschlechtert, wie treu es sich an den System-Prompt hält).

Wann ein autonomer Coding-Agent sinnvoll ist (und wann nicht)

Ein Edit-Test-Verify-Loop ist kein kostenloses Upgrade gegenüber einem Coding-Assistenten im Chat-Stil. Aiders eigenes Writeup bringt es auf den Punkt: Aider habe „bewusst nur ein recht begrenztes, enges agentisches Verhalten, um lange Wartezeiten, hohe Token-Kosten und die Notwendigkeit zu vermeiden, dass man immer wieder falsche Lösungen im Code Review prüfen muss“. Greif zum autonomen Ansatz, wenn das Verifikationssignal stark und die Änderung klar abgegrenzt ist – sonst bleib selbst im Loop.

✓ Bau einen autonomen Coding-Agent, wenn

  • Du echte Tests hast, die eindeutig bestehen oder scheitern. Laut Anthropics Best-Practices-Post zu Claude Code ist Verifikation die wirksamste einzelne Entscheidung. Ohne starkes Pass/Fail-Signal weiß der Loop nicht, wann er fertig ist.
  • Der Task klar auf einen bekannten Teil des Repos begrenzt ist. „Behebe den Off-by-one-Fehler in auth/session.py“ funktioniert; „refaktoriere die ganze Codebase“ nicht. Der Repo-Indexer ist gut, aber lexikalisch, nicht semantisch – das Ranking wird schlechter, je breiter der Scope wird.
  • Die Änderungen lokal sind und sich als Diff fassen lassen. Die Fallback-Leiter aus neun Strategien kauft dir Nachsicht, keine Magie. Ausufernde Umbauten über viele Dateien mit umgestellter Logik bleiben schwer; Fixes an ein bis fünf Dateien mit klarem Testsignal sind der Sweet Spot.
  • Du 5–30 Minuten unbeaufsichtigte Laufzeit erübrigen kannst. p50-Iterationen liegen auf dem Seed-Eval-Set bei 3–6; jede Iteration ist ein Model-Call plus ein Testlauf. Rechne bei einem echten Fix mit 5–30 Minuten, nicht mit 30 Sekunden.
  • Du bereits ein Coding-Setup im Chat-Stil im Einsatz hast. Autonom auf einem funktionierenden Chat-Workflow aufzusetzen ist ein Schritt nach vorn; autonom als erster Versuch mit KI-gestütztem Coding hat zu viele Fehlerbilder, die du noch nicht erkennst.

⚠ Bleib bei Unterstützung im Chat-Stil, wenn

  • Dein Testsignal schwach ist oder fehlt. Wenn die einzige Prüfung „der Code sieht richtig aus“ ist, liefert der Loop etwas, das richtig aussieht und nicht funktioniert. Erst die Test-Suite bauen, dann den Agent.
  • Der Task explorativ ist, nicht korrigierend. „Wie strukturiere ich das am besten?“ ist eine Planungsfrage, keine Frage nach einem fehlschlagenden Test. Nutze für die Erkundung einen Chat im Plan-Modus und übergib dem Agent danach einen klar abgegrenzten Task.
  • Du noch kein Guardrail-Substrat hast. Ohne die Allowlist für berührte Dateien und die Liste verbotener Bash-Befehle aus Aufgabe 8 kann der Agent in Iteration 7 deine .env löschen oder einen Force-Push auf main machen. Lass ihn nie ohne Guardrails unbeaufsichtigt laufen.
  • Token-Kosten mehr zählen als Entwicklungszeit. Die p50-Token-Nutzung liegt auf dem Seed-Set bei 20.000–60.000 pro Lauf; Tasks im Stil von SWE-bench überschreiten regelmäßig 100.000. Wenn deine Unit Economics empfindlich sind, geht die Rechnung schnell nicht mehr auf.
  • Du den Einrichtungsaufwand der Eval-Harness nicht tragen kannst. Ohne die Harness aus Aufgabe 9 kannst du nicht erkennen, ob ein Modellwechsel, eine Prompt-Änderung oder ein Library-Update die Qualität unbemerkt verschlechtert hat. Jede spätere Verbesserung lässt sich dann nicht mehr überprüfen.

Was die Community sagt

"Aider scored 18.9% on the main SWE-bench benchmark... did not use RAG, vector search, tools or give the LLM access to search the web or unilaterally execute code. Aider intentionally has quite limited and narrow agentic behavior to avoid long delays, high token costs and the need for users to repeatedly code review incorrect solutions."
Paul Gauthier (Autor von Aider) · „How Aider scored SOTA on SWE-bench“ · aider.chat
"Give Claude a way to verify its work. Include tests, screenshots, or expected outputs so Claude can check itself. This is the single highest-leverage thing you can do."
Engineering-Team von Anthropic · „Claude Code best practices“ · anthropic.com
"With unified diffs, GPT acts more like it's writing textual data intended to be read by a program, not talking to a person. Diffs are usually consumed by the patch program, which is fairly rigid. This seems to encourage rigor, making GPT less likely to leave informal editing instructions in comments."
Paul Gauthier · „Unified diffs make GPT-4 Turbo 3X less lazy“ · aider.chat

Woran du erkennst, dass es funktioniert

Setz die Spec um und miss sie dann an diesen Kriterien (die Task mit dem Eval-Harness bewertet sie):

  • Die Eval-Harness besteht ≥ 75 % der 8 handgeschriebenen Bugfix-Szenarien in evals/fixtures/ (typo, off-by-one, missing-import, regex, async-race, type-error, dep-cycle, multi-file-refactor)
  • p50-Iterationen pro erfolgreichem Lauf < 6 über die 8 Fixtures (beweist, dass der Loop konvergiert, statt sich im Kreis zu drehen)
  • p50-End-to-End-Latenz < 120 s pro Fixture mit dem in STACK.md konfigurierten Modell
  • Apply-Erfolgsquote ≥ 90 % über alle versuchten Diffs (beweist, dass die Fallback-Leiter aus neun Strategien ihre Komplexität wert ist)
  • Die Allowlist für berührte Dateien blockiert 100 % der Änderungen an .env / secrets/ / .git/ in den Guardrail-Test-Fixtures
  • Der Retry-Helper ist bei einem erzwungenen 429-Mock erfolgreich, mit retries=1 sichtbar im Trace-Event
  • Der Circuit Breaker beendet die Stuck-Fix-Fixture innerhalb von 3 Iterationen (nicht erst beim Maximum von 12), mit RunResult.status="halted" und reason="circuit_breaker_open"
  • Der Regressionslauf aus Aufgabe 10 liegt bei Pass-Rate und p50-Iterationen innerhalb von ±5 % von evals/baseline.json

Quellen

Jede Aussage, jedes Pattern und jede Abnahmeschwelle auf dieser Seite geht auf eine dieser Quellen zurück. Lies sie, bevor du von der Spec abweichst.

Bau das noch heute Abend in deine Codebase

Wähl deinen Stack anhand der fünf Entscheidungen in STACK.md und registrier dich: Diese Spec mit 10 Tasks landet auf deinem Board, dein Coding-Agent (Claude Code, Codex, Cursor) baut sie über den Tekk-MCP-Server, und der gemergte PR schließt sie. Nach dem Launch behält Tekks AI-Engineering-Loop den Agent weiter im Blick – Harness, Prompts, Tools, Kontext, Memory, Retrieval, Evals und Kosten – und bringt dir ein Proposal, sobald sich etwas ändern sollte. Lieber selbst machen? Öffne oben eine beliebige Task und klick auf Copy as Prompt – und füg den Prompt in Cursor, Claude Code oder Codex ein.

In meinem Repo bauen →

Verwandte Specs

Deep Research Agent

Kostenlose Spec für einen Deep Research Agent – Anthropics Multi-Agent-Research-Pattern mit Orchestrator, para…
use-case · researchframework-agnostic

AI Voice Agent

Kostenlose Spec für einen AI Voice Agent auf LiveKit Agents – ein Echtzeit-Voice-Loop mit Streaming-STT, schne…
use-case · voiceframework · livekit-agents

AI Sales Agent

Kostenlose Spec für einen AI Sales Agent – ein Loop aus Recherche, Personalisierung und Outreach, den ein Repl…
use-case · salesframework-agnostic

Customer Support Agent· demnächst

Intercom-style multi-agent support — ticket classifier, RAG over docs, escalation routing, conversation memory…
use-case · customer-supportframework · claude-agent-sdk