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

OpenClaw lokal mit Ollama ausführen, um API-Kosten zu vermeiden
Ein Reddit-Benutzer teilt seine Erfahrung beim Wechsel von der API-basierten OpenClaw-Version zur lokalen Ausführung mit Ollama, wodurch API-Kosten entfallen, während die Arbeitsabläufe erhalten bleiben. Er erstellte eine schrittweise Installationsvideoanleitung.

Reddit-Nutzer teilt praktische Claude-Einrichtung für konsistente KI-Codierunterstützung
Ein Entwickler beschreibt den Wechsel von einzelnen Prompts zu separaten Kontextdateien (about-me.md, my-voice.md, my-rules.md) und die Implementierung eines strukturierten Workflows, bei dem Claude den Kontext liest, Fragen stellt, Pläne erstellt und dann Aufgaben ausführt.
Craft Coding: Lass KI deinen Code überprüfen, nicht schreiben
Peter Bloem argumentiert, dass Vibe-Coding eine Sackgasse ist. Stattdessen soll die KI deinen Code reviewen, während du ihn schreibst. Das hält die Fähigkeiten scharf und vermeidet die Falle unkontrollierter KI-Ausgaben.

Flusskarten: Lernen des Integrals eines Diffusionsmodells für schnellere Stichproben
Sander Dieleman erklärt Flow Maps – neuronale Netze, die direkt das Integral der ODE eines Diffusionsmodells vorhersagen und so schnellere Stichproben, belohnungsbasiertes Lernen und Steuerbarkeit ermöglichen.