Vertragsprüfung für KI-gestützte Entwicklung mit OpenClaw

Vertragstests bieten eine Alternative zu Integrationstests und End-to-End-Tests bei der Arbeit mit KI-Codierungsagenten wie OpenClaw. Anstatt das gesamte System zu testen, testet man die Schnittstellen und Invarianten zwischen Komponenten und lässt dann den Agenten Code generieren, der diese Verträge erfüllt.
Die Kernidee
Bei der Verwendung eines Agenten zum Schreiben von Code verschiebt sich der Arbeitsablauf vom traditionellen Testen zur vertragsgetriebenen Entwicklung:
- Zuerst Vertrag/Spezifikation schreiben, nicht die Implementierung
- Verträge validieren Schnittstelle + Invarianten, anstatt dass Integrationstests das Verhalten prüfen
- Minimale E2E-Smoke-Tests anstelle umfassender E2E-Tests
- Agent schreibt Implementierungen, anstatt dass Menschen den meisten Code schreiben
Die Aufgabe der KI wird: "Sorge dafür, dass der Code den Vertrag erfüllt."
Wie ein Vertrag aussieht
Ein Vertrag definiert Eingabeschema, Ausgabeschema, Invarianten und Fehlerbedingungen. Beispiel in TypeScript mit Zod:
export const CreateUserRequest = z.object({
email: z.string().email(),
password: z.string().min(8)
})
export const CreateUserResponse = z.object({
id: z.string().uuid(),
email: z.string().email(),
createdAt: z.string()
})
Beispiel für einen Vertragstest:
test("createUser contract", async () => {
const req = CreateUserRequest.parse({
email: "[email protected]",
password: "password123"
})
const res = await createUser(req)
expect(CreateUserResponse.parse(res)).toBeDefined()
})
Die KI kann den gesamten Dienst neu generieren, solange dieser Test besteht.
Vertragstest-Muster für KI-Agenten
Eine gängige Projektstruktur:
contracts/
user.contract.ts
order.contract.ts
tests/
contract/
user.test.ts
src/
services/
userService.ts
Arbeitsablauf: Verträge definieren, Agent generiert Implementierung, Vertragstests laufen, Agent behebt Fehler. Dies schafft eine enge Feedback-Schleife, auf die KI-Agenten angewiesen sind, um sich selbst zu korrigieren.
Beispiel für einen Agenten-Prompt
Innerhalb eines OpenClaw-Agenten-Arbeitsablaufs:
Implementiere den Dienst so, dass alle Tests in tests/contract bestehen.
Ändere keine Vertragsdefinitionen. Ändere nur Implementierungsdateien.
Der Agent iteriert, bis npm test PASS contract tests.
Verbrauchergesteuerte Verträge
Verbrauchergesteuerte Verträge funktionieren besonders gut für die KI-Entwicklung. Beispiel: Das Frontend definiert POST /users und erwartet { id: uuid, email: string }, und der Backend-Agent muss diesen Vertrag erfüllen. Typischerweise verwendete Tools sind Pact, Schema-Validierung und OpenAPI-Verträge.
Minimaler Test-Stack für KI-Codierung
Um die meisten Integrationstests zu ersetzen:
contracts/
openapi.yaml
tests/
contract/
invariants/
src/
implementation
Testverteilung: Vertragstests (80%), Invarianten-/Eigenschaftstests (15%), minimale E2E-Smoke-Tests (5%). Beispiel-Smoke-Tests: Benutzerregistrierung funktioniert, Benutzeranmeldung funktioniert.
Zusätzlicher Trick: Eigenschaftstests
Agenten verbessern sich dramatisch mit Eigenschaftstests. Beispiel:
fc.assert(
fc.property(fc.string(), async (email) => {
const user = await createUser({email})
expect(user.email).toEqual(email)
})
)
Dies gibt dem Agenten einen Suchraum, aus dem er lernen kann.
Warum das für KI besser funktioniert
Agenten haben Schwierigkeiten mit der Koordination mehrerer Dienste, flatterhaften E2E-Tests und komplexer Umgebungseinrichtung. Sie glänzen, wenn sie deterministisches Feedback, kleine isolierte Aufgaben und Schemata + Einschränkungen erhalten. Vertragstests werden zur "wahren Grundlage" in einer KI-freundlichen Architektur: Verträge (Wahrheit) → Tests (Verifizierung) → Agent generiert → Implementierung.
📖 Read the full source: r/clawdbot
👀 Siehe auch

Zwei Telegram-Bots in einer Gruppe verbinden: Zustellungssemantik über HTTP
Ein Entwickler teilt einen praktischen Ansatz, um zwei unabhängige Telegram-Bots im selben Gruppenchat zu verbinden. Dabei werden die Lücken bei der Bot-zu-Bot-Zustellung von Telegram mit HTTP-Relays, ACKs, Deduplizierung und streng begrenzten Feeds überbrückt.

Open-Source-Launch-Playbook für OSS-LLM- und lokale KI-Projekte
Ein Open-Source-Playbook befasst sich mit Auffindbarkeitsproblemen für LLM- und lokale KI-Projekte, indem es strukturierte Anleitungen für die Vorbereitung vor dem Start, die Umsetzung am Starttag und die Nachbereitung nach dem Start bietet. Es enthält Vorlagen und Strategien für Community-Verteilung, Kontaktaufnahme mit Erstellern und SEO-Optimierung.

Dokumentation zum Schreiben von MCP-Tools in C# .NET Framework für Claude Desktop/Code
Vollständige Dokumentation und C#-Codebeispiele zur Erstellung benutzerdefinierter MCP-Tools mit .NET Framework 4.8, die es Claude Desktop/Code ermöglichen, Interaktionen mit externen Prozessen, Software, APIs und IoT-Geräten zu automatisieren.

Praktische Techniken zur Reduzierung von Zustandsdrift in mehrstufigen KI-Agenten
Ein Entwickler teilt konkrete Methoden zur Behebung von Zustandsdrift in Multi-Agenten-Workflows, darunter Snapshot-basiertes Lesen, ausschließlich anhängendes Schreiben und die Trennung von Zustand und Kontext. Diese Ansätze machten Durchläufe reproduzierbar und das Debugging nachvollziehbar.