Back openDesk Edu for a sovereign, open-source education â every vote counts.
Vote nowSave products you love by clicking the heart icon.
A purpose-built Ansible skeleton designed for AI agent workflow â declarative infrastructure management where agents understand the conventions before making changes.
Jedes DevOps-Team pflegt Spezifikationen. API-Contracts, Architecture Decision Records, Design-Dokumente, Runbooks, Change Proposals. Die Frage ist nicht, ob Sie spezifizieren â sondern ob Ihre Spezifikationen den Kontakt mit der RealitĂ€t ĂŒberleben.
Die meisten Frameworks fĂŒr Spezifikationen wurden fĂŒr die Kommunikation von Mensch zu Mensch entwickelt. Sie setzen einen Leser voraus, der die Absicht aus dem FlieĂtext ableiten, LĂŒcken aus dem Kontext fĂŒllen und Querverweise intuitiv navigieren kann. Diese Annahme bricht zusammen, wenn der primĂ€re Konsument Ihrer Spezifikationen kein Mensch mehr ist.
Wir treten in eine Ăra ein, in der KI-Agenten neben Menschen Code schreiben, prĂŒfen und deployen. Die Frameworks fĂŒr Spezifikationen, die wir wĂ€hlen, entscheiden darĂŒber, ob diese Agenten mit uns oder gegen uns arbeiten.
Dieser Artikel vergleicht sechs AnsĂ€tze fĂŒr Spezifikationen und Change Management â einschlieĂlich OpenSpec, dem KI-nativen Framework, das in diesem Projekt verwendet wird â anhand praktischer DevOps-Dimensionen: Agentenfreundlichkeit, CI/CD-Integration, Documentation Drift und operationaler Overhead.
Bevor wir einzelne Frameworks vergleichen, hilft es zu verstehen, was ein Framework fĂŒr Spezifikationen eigentlich bietet:
Jedes Framework adressiert eine Teilmenge dieser Pipeline. Der Unterschied liegt darin, wo sie die Automatisierungsgrenze ziehen â was sie in maschinenlesbaren Formaten kodieren und was sie der menschlichen Interpretation ĂŒberlassen.
| Framework | PrimÀres Format | Konsument | Umfang | KI-Nativ? |
|---|---|---|---|---|
| OpenAPI/Swagger | YAML/JSON | Tools + Menschen | API-Contracts | Teilweise |
| AsyncAPI | YAML/JSON | Tools + Menschen | Event-Contracts | Teilweise |
| ADRs | Markdown | Menschen | Architektur-Entscheidungen | Nein |
| RFC Process | Markdown | Menschen (Team) | Design-VorschlÀge | Nein |
| BDD/Gherkin | Plain text (Gherkin) | Tests + Menschen | Verhaltens-Spezifikationen | Ja (strukturiert) |
| Spec Kit | Markdown + Slash commands | KI-Agenten + Menschen | Agenten-gesteuerter SDD-Workflow | Ja (nativ) |
| OpenSpec | Markdown + CLI | KI-Agenten + Menschen | VollstÀndiger Change-Lifecycle | Ja (nativ) |
| GitHub Issues/Projects | UI + Markdown | Menschen | Task-Tracking | Nein |
| JIRA + Confluence | UI + Rich text | Menschen (Org) | Projektmanagement | Nein |
OpenAPI ist das erfolgreichste Framework fĂŒr Spezifikationen in DevOps. Es definierte ein maschinenlesbares Contract-Format fĂŒr REST-APIs, das Dokumentationen, Client-SDKs, Server-Stubs und Test-Harnesses aus einer einzigen âSource of Truthâ generiert.
Wo es glÀnzt:
Wo es fĂŒr modernes DevOps zu kurz greift:
# It does NOT tell you HOW to change it safely
paths:
/deployments:
get:
summary: List deployments
responses:
"200":
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Deployment"
OpenAPI ist essenzielle Infrastruktur. Aber es ist ein Contract-Format, kein Framework fĂŒr Change Management. Es löst das Interface-Problem und lĂ€sst den Engineering-Prozess unangetastet.
AsyncAPI erweitert das Contract-First-Modell auf eventgesteuerte Architekturen â Kafka-Topics, RabbitMQ-Queues, WebSocket-Channels, MQTT-Broker.
Was es gut macht:
Gleiche fundamentale EinschrĂ€nkung wie OpenAPI: AsyncAPI beschreibt die Event-OberflĂ€che â nicht den Prozess, der sie hervorgebracht hat. Man weiĂ, welche Kafka-Topics existieren, aber es gibt keinen Artifact-Trail darĂŒber, warum sie hinzugefĂŒgt wurden, welche Alternativen in Betracht gezogen wurden oder ob die Implementierung dem beabsichtigten Design entspricht.
Sowohl OpenAPI als auch AsyncAPI leiden unter derselben DevOps-LĂŒcke: Die Spezifikation existiert getrennt von dem Change-Prozess, der sie erschaffen hat, und die beiden driften unweigerlich auseinander.
Architecture Decision Records (ADRs) sind ein wunderbar einfaches Muster: eine kurze Markdown-Datei pro Architektur-Entscheidung, die zusammen mit dem Code im Repository gespeichert wird. UrsprĂŒnglich 2011 von Michael Nygard vorgeschlagen.
adr/
âââ 001-use-postgresql-for-primary-storage.md
âââ 002-adopt-kubernetes-for-orchestration.md
âââ 003-use-redis-for-session-caching.md
âââ 004-migrate-to-opensearch-for-logging.md
Jedes ADR folgt einer Vorlage: Kontext Entscheidung Konsequenzen. Das Format ist bewusst minimal â prosabasiert und darauf ausgelegt, von Menschen geschrieben und gelesen zu werden.
Wo ADRs ĂŒberzeugen:
Wo sie scheitern:
Behavior-Driven Development mit Gherkin (Given/When/Then) ist der engste VorlĂ€ufer dessen, was OpenSpec anstrebt. Es definiert ausfĂŒhrbare Spezifikationen, die gleichzeitig als Dokumentation und Akzeptanztests dienen.
Feature: Deployment Rollback
Scenario: Rollback on health check failure
Given a deployment with 3 replicas
When the health check fails for 2 replicas
Then the orchestrator initiates a rollback
And the previous revision is restored within 60 seconds
Die tatsÀchlichen StÀrken von BDD:
Warum BDD fĂŒr das DevOps Change Management nicht ausreicht:
BDD besetzt eine nĂŒtzliche Nische: Spec-as-Test fĂŒr spezifische Verhaltensweisen. Es ersetzt kein Change-Management-Framework.
Der RFC-Prozess (Request For Comments), der durch die IETF popularisiert und von React, Rust, Python und Kubernetes ĂŒbernommen wurde, ist der Goldstandard fĂŒr kollaboratives Design. Eine vorgeschlagene Ănderung wird in einem strukturierten Template dokumentiert, von der Community diskutiert, durch Review-Zyklen verfeinert und entweder akzeptiert oder abgelehnt.
rfcs/
âââ text/
â âââ 0000-template.md
â âââ 0001-new-rfc-process.md
â âââ 0002-adopt-openspec.md
â âââ 0003-spec-first-change-management.md
Was RFCs so leistungsfÀhig macht:
Die DevOps-LĂŒcke bei RFCs:
Der RFC-Prozess liefert exzellente Design-Artefakte. Aber die BrĂŒcke von âRFC akzeptiertâ zu âCode deployedâ ist vollstĂ€ndig manuell.
Die meisten DevOps-Teams nutzen standardmĂ€Ăig GitHub Issues fĂŒr das Change-Tracking und Pull Requests fĂŒr das Code-Review. Dies ist der Weg des geringsten Widerstands â es geht schnell und erfordert keine zusĂ€tzlichen Tools.
Was daran richtig ist:
Was fĂŒr ein systematisches Change Management falsch ist:
GitHub Issues + PRs sind eine Kommunikationsplattform, die Teams zu einem Workflow zweckentfremden. Das funktioniert fĂŒr kleine Teams mit guter Disziplin. Es skaliert jedoch schlecht.
Spec Kit, 2025 von GitHub veröffentlicht und bereits ĂŒber 120.000 Sterne aufweisend, bringt Spec-Driven Development (SDD) zu KI-Coding-Agenten. Im Gegensatz zu OpenAPI oder AsyncAPI, die Schnittstellen beschreiben, oder ADRs, die Entscheidungen protokollieren, bietet Spec Kit einen ausfĂŒhrbaren Workflow, dem KI-Agenten von der Spezifikation bis zur Implementierung folgen können â der bisher nĂ€chste Ansatz an dem, was OpenSpec auf der Ebene des Change Managements versucht.
Der Spec Kit Workflow:
Jedes Feature durchlĂ€uft eine strukturierte Pipeline, die ĂŒber Agent-Slash-Commands ausgefĂŒhrt wird:
| Command | Zweck |
|---|---|
/speckit.constitution | Projektprinzipien und Entwicklungsrichtlinien festlegen |
/speckit.specify | Definieren, was gebaut werden soll (Requirements und User Stories) |
/speckit.clarify | Unklarheiten vor der Planung identifizieren und lösen |
/speckit.plan | Technischen Implementierungsplan mit Tech-Stack-Entscheidungen erstellen |
/speckit.checklist | QualitÀts-Checklisten zur Validierung der Anforderungen generieren |
/speckit.tasks | Plan in ausfĂŒhrbare, geordnete Implementierungsaufgaben unterteilen |
/speckit.analyze | Konsistenz zwischen den Artefakten vor der Implementierung validieren |
/speckit.implement | Alle Aufgaben gegen die Codebasis ausfĂŒhren |
/speckit.converge | VollstĂ€ndigkeit prĂŒfen und Aufgaben fĂŒr verbleibende LĂŒcken generieren |
Jeder Command erzeugt strukturierte Markdown-Artefakte â SPEC.md, PLAN.md, TASKS.md, CHECKLIST.md â die deterministisch in die nĂ€chste Phase einflieĂen. Das Ergebnis ist ein wiederholbarer, agentengesteuerter Entwicklungszyklus, der die LĂŒcke zwischen âwas sollen wir bauenâ und âes ist gebautâ schlieĂt.
Wo Spec Kit glÀnzt:
specify init Command konfiguriert die Integration.Vergleich von Spec Kit und OpenSpec:
Beide teilen eine Kernphilosophie â strukturierte, agentenlesbare Spezifikationen â, zielen aber auf unterschiedliche Teile des Engineering-Lifecycles ab:
| Dimension | Spec Kit | OpenSpec |
|---|---|---|
| Scope | SDD-Workflow auf Feature-Ebene | Voller Change-Lifecycle (Vorschlag â Archiv) |
| PrimÀres Interface | Slash-Commands (/speckit.*) via Agent-Chat | CLI (openspec / /opsx-*) |
| Lifecycle-Phasen | Spec â Plan â Tasks â Implement â Converge | Proposal â Design â Specs â Tasks â Implement â Delta â Archive |
| Upfront Design | Minimal (Constitution + Specify) | Erforderlich (Proposal + Design-Artefakte) |
| Delta-Tracking | Implizit (converge erkennt LĂŒcken) | Explizit (Delta-Specs werden mit Haupt-Specs synchronisiert) |
| Archiv | Kein Kern-Primitiv | Zeitgestempeltes Archivverzeichnis pro Ănderung |
| Ăkosystem | 105+ Extensions, 22 Presets, Bundles | Integrierte Skills, CLI-gesteuerte Orchestrierung |
| Team-Skalierung | Solo bis kleines Team | Strukturierte Teams mit AI-Agents |
Spec Kit ist die richtige Wahl, wenn Sie einen leichtgewichtigen, agentenfreundlichen Workflow wĂŒnschen, der Sie schnell von der Spezifikation zur Implementierung fĂŒhrt â ideal fĂŒr die Feature-Entwicklung in kleinen Teams. OpenSpec bietet von vornherein mehr Struktur (Proposal-Review, Design-Artefakte, formales Delta-Tracking), die wertvoll wird, wenn Compliance-Anforderungen, TeamgröĂe oder die KomplexitĂ€t der Ănderungen zunehmen. Die Tools ergĂ€nzen sich: Einige Teams nutzen Spec Kit fĂŒr schnelle Feature-Arbeiten und OpenSpec fĂŒr InfrastrukturĂ€nderungen, die eine vollstĂ€ndige RĂŒckverfolgbarkeit ĂŒber Proposal, Design und Archiv erfordern.
OpenSpec tritt in diese Landschaft als ein Framework ein, das explizit fĂŒr die Ăra der AI-Agents entwickelt wurde. Es kombiniert den strukturierten Artefakt-Ansatz von RFCs, die RĂŒckverfolgbarkeit von ADRs, die AusfĂŒhrbarkeit von BDD und fĂŒgt etwas hinzu, das keines dieser Formate besitzt: einen maschinen erzwingbaren Change-Lifecycle, dem AI-Agents autonom folgen können.
Jede Ănderung in OpenSpec folgt einer definierten Artefakt-AbhĂ€ngigkeitskette:
1. AI-Agent als First-Class Consumer
Jedes Artefakt in einer OpenSpec-Ănderung hat ein definiertes Schema, bekannte Output-Pfade und explizite AbhĂ€ngigkeiten. Die CLI stellt maschinenlesbare Anweisungen (openspec instructions <artifact-id> --json) bereit, die einem AI-Agenten genau sagen, was zu erstellen ist, welchem Template zu folgen ist und welchen Kontext er lesen muss.
Dies unterscheidet sich grundlegend von einem Markdown-RFC oder einem ADR. Der Agent muss nicht herleiten, wie ein âguterâ Vorschlag aussieht â das Schema definiert dies. Der Agent muss nicht herausfinden, welche Dateien zu erstellen sind â die CLI löst die Pfade auf. Der Agent muss nicht raten, welche Artefakte als NĂ€chstes benötigt werden â der AbhĂ€ngigkeitsgraph gibt dies vor.
# Agent asks: "What do I need to create next?"
openspec instructions design --change "add-metrics-pipeline" --json
# Response: structured, actionable, unambiguous
{
"artifact": "design",
"template": "...",
"dependencies": ["proposal"],
"resolvedOutputPath": ".openspec/changes/add-metrics-pipeline/design.md",
"context": "..."
}
2. VollstÀndiger Change-Lifecycle, kein Fragment
OpenAPI liefert Ihnen den API-Kontrakt. ADRs liefern Ihnen das Entscheidungsprotokoll. BDD liefert Ihnen die Akzeptanztests. OpenSpec liefert Ihnen die gesamte Kette vom Proposal bis zum Archiv, wobei die Outputs jedes Artefakts in das nĂ€chste einflieĂen.
Das bedeutet, ein AI-Agent kann:
Kein anderes Framework bietet diesen vollstÀndigen Lifecycle in einem maschinen erzwingbaren Format.
3. Delta-Specs als Primitiv
Wenn die Implementierung zeigt, dass die Spezifikation falsch oder unvollstĂ€ndig war, erfasst OpenSpec das Delta â was sich tatsĂ€chlich im Vergleich zur Planung geĂ€ndert hat. Diese Delta-Specs können zurĂŒck in die Hauptspezifikation synchronisiert werden, wodurch die Spezifikation lebendig bleibt, anstatt zu versteinern.
Dies löst das Problem des âDocumentation Driftâ, das jedes andere Framework plagt. Die Spezifikation liegt nicht im Regal â sie entwickelt sich mit der Implementierung weiter, und die Deltas bieten einen Audit-Trail jeder Divergenz.
4. Archiv ist Teil des Workflows, kein nachtrÀglicher Gedanke
Jede abgeschlossene Ănderung wird in ein Archivverzeichnis mit einem DatumsprĂ€fix verschoben. Die Ănderung wird zu einem historischen Datensatz, nicht zu einem vergessenen Verzeichnis. Dies ist wichtig fĂŒr Compliance, Post-Mortems und das Training von AI-Agents anhand vergangener Muster.
OpenSpec ist kein Ersatz fĂŒr jedes Spezifikations-Tool. Es gibt reale Kompromisse:
| Dimension | OpenSpec | Traditionelle AnsÀtze |
|---|---|---|
| Setup-Aufwand | Erfordert CLI, Schema-Initialisierung | ADR: eine Datei. Issues: null Setup |
| Lernkurve | Artefakt-Lifecycle muss erlernt werden | Jeder weiĂ, wie man Markdown schreibt |
| Tooling-Reife | Aufstrebendes Ăkosystem | OpenAPI: ĂŒber ein Jahrzehnt Tooling |
| Lesbarkeit fĂŒr Menschen | Strukturierte Artefakte, weniger narrativ | RFCs: natĂŒrliche Prosa, leicht zu lesen |
| Scope | Engineering Change Management | OpenAPI: nur API-Kontrakte |
| Eignung TeamgröĂe | Am besten mit AI-Agents oder strukturierten Teams | ADRs: funktioniert auch fĂŒr 2-Personen-Teams |
OpenSpec bringt einen Struktur-Overhead mit sich. FĂŒr einen Solo-Entwickler, der einen Tippfehler korrigiert, ist ein GitHub-Issue angemessener. FĂŒr eine mehrstufige InfrastrukturĂ€nderung, die Provisioning, Deployment, Konfiguration und Verifizierung umfasst â insbesondere wenn AI-Agents die Arbeit ausfĂŒhren â ist die Struktur kein Overhead, sondern ein Hebel.
Um den Vergleich konkret zu machen, betrachten wir ein realistisches DevOps-Szenario: das HinzufĂŒgen einer Prometheus-Metrics-Pipeline mit benutzerdefinierten Applikations-Metrics zu einem Produktionsservice.
| Phase | OpenAPI | ADR | BDD | RFC | Issues/PRs | OpenSpec |
|---|---|---|---|---|---|---|
| Proposal | N/A | N/A | N/A | RFC #0032 | Issue "add metrics" | proposal.md |
| Design | N/A | ADR-005 "use Prometheus" | N/A | In RFC enthalten | PR-Beschreibung | design.md |
| Specs | /metrics Endpoint-Def | N/A | Given/When/Then Szenarien | N/A | N/A | specs/metrics/spec.md |
| Tasks | N/A | N/A | N/A | N/A | Issue-Checkliste | tasks.md |
| Implement | Manuell | Manuell | Manuell | Manuell | PR | /opsx-apply |
| Verify | Schema valide? | N/A | Cucumber pass? | N/A | CI-Checks | Agent-Checks + CI |
| Trace | N/A (kein Link) | N/A (kein Link) | N/A (separat) | N/A (separat) | Issue PR Link | VollstÀndige Artefaktkette |
| Archive | N/A | N/A | N/A | Geschlossener RFC | Geschlossener Issue | Zeitgestempeltes Archiv |
Im OpenSpec-Workflow kann ein einziger Agent den gesamten Lifecycle durchlaufen. Bei jedem anderen Ansatz gibt es manuelle Ăbergaben, Informationsverluste zwischen den Phasen und keine automatisierte Verifizierung, ob die Implementierung mit der Absicht ĂŒbereinstimmt.
Das richtige Tool hÀngt davon ab, wer die Spezifikation konsumiert und was sie erzwingen soll.
TRACK["GitHub Issues / PRs / JIRA
Allgemeines Tracking"]
ENF["ENFORCEMENT
maschinenlesbar â verifizierbar"]
HUMAN["Mensch (ad hoc)"]
AGENT --> OPS --> BDD --> API BDD --> RFC BDD --> ADR API --> TRACK RFC --> TRACK ADR --> TRACK TRACK --> ENF HUMAN --> TRACK
**Nutzen Sie Spec Kit, wenn:**
- Sie einen leichtgewichtigen, agentengesteuerten Spec-to-Implement-Workflow wĂŒnschen
- Ihr Team klein ist und minimalen Prozess-Overhead benötigt
- Sie eine breite Agenten-KompatibilitÀt (30+ Integrationen) ohne Vendor-Lock-in suchen
- Community-Extensions und Presets wichtiger sind als ein formaler Change-Lifecycle
**Nutzen Sie OpenSpec, wenn:**
- AI-Agenten die Implementierung gemeinsam mit Menschen ausfĂŒhren
- Ănderungen mehrere Schritte ĂŒber Infrastruktur- und Anwendungscode hinweg umfassen
- Sie eine vollstĂ€ndige RĂŒckverfolgbarkeit vom Vorschlag bis zum Archiv benötigen
- Documentation Drift Sie wertvolle Debugging-Zeit kostet
- Compliance einen Audit-Trail darĂŒber erfordert, was geĂ€ndert wurde und warum
**Nutzen Sie OpenAPI/AsyncAPI, wenn:**
- Sie API-Contract-Validierung und Codegenerierung benötigen
- Ihr Hauptaugenmerk auf der SchnittstellenkompatibilitÀt zwischen Services liegt
- Sie ein Service Mesh oder ein API Gateway einsetzen, das die Spec direkt konsumiert
**Nutzen Sie ADRs, wenn:**
- Sie ein leichtgewichtiges Log fĂŒr Architektur-Entscheidungen wĂŒnschen
- Keine AI-Agenten involviert sind
- Sie darauf vertrauen, dass Menschen die Repo-Beschreibung aktuell halten
**Nutzen Sie BDD/Gherkin, wenn:**
- Sie ausfĂŒhrbare Spezifikationen benötigen, die in der CI laufen
- Business-Stakeholder die Akzeptanzkriterien lesen mĂŒssen
- Die Spec-Grenze ein einzelnes Feature oder ein bestimmtes Verhalten ist
**Nutzen Sie RFCs, wenn:**
- Sie breites Community-Feedback zu einem Design benötigen
- Die Ănderung langfristige architektonische Auswirkungen hat
- Die QualitÀt der Diskussion wichtiger ist als die Automatisierung
**Nutzen Sie Issues/PRs, wenn:**
- Die Ănderung trivial ist (Tippfehler, Fix in einer einzelnen Datei)
- Sie keine AI-Agenten und ein kleines Team haben
- Struktur-Overhead Sie eher bremsen wĂŒrde, als dass er hilft
## Das DevOps-Urteil
Die Spezifikations-Frameworks, die die meisten DevOps-Teams heute verwenden, wurden fĂŒr eine Welt entwickelt, in der Menschen Code schreiben, Menschen Code reviewen und Menschen Code deployen. Diese Welt geht zu Ende.
Wenn AI-Agenten am Engineering-Lifecycle teilnehmen â Ănderungen vorschlagen, Implementierungscode schreiben, Anforderungen verifizieren, Tests generieren â, wird das Spezifikations-Framework zur **Control Plane** fĂŒr das Verhalten der Agenten. Ein freiformiger RFC oder ein unstrukturiertes GitHub-Issue gibt einem Agenten mehrdeutige Anweisungen. Ein strukturiertes OpenSpec-Artefakt mit einem definierten Schema, aufgelösten Output-Pfaden und expliziten AbhĂ€ngigkeiten gibt einem Agenten deterministische Anweisungen.
Das bedeutet nicht, dass OpenSpec jedes andere Tool ersetzt. Dieses Projekt nutzt OpenAPI fĂŒr den Stripe-Integrations-Contract, ADRs fĂŒr Architektur-Entscheidungen und OpenSpec fĂŒr das Change-Management. Sie bedienen unterschiedliche Ebenen des Spezifikations-Stacks.
Aber fĂŒr die **Change-Management-Ebene** â den Teil des Workflows, der die Verbindung zwischen âwir sollten das tunâ und âes ist deployed und verifiziertâ herstellt â lassen die bestehenden Tools eine LĂŒcke, die AI-native Agenten nicht ohne menschliche UnterstĂŒtzung ĂŒberbrĂŒcken können. OpenSpec schlieĂt diese LĂŒcke, indem es den gesamten Lifecycle maschinell erzwingbar (machine-enforceable) macht.
Die Frameworks, die in der DevOps-Ăra gewinnen, werden nicht diejenigen sein, die die meisten Features oder die hĂŒbschesten Dokumentations-Generatoren haben. Es werden diejenigen sein, denen **AI-Agenten ohne menschliche Interpretation folgen können**.
---
_Dieser Artikel ist Teil der DevOps Infrastructure-Serie auf tobias-weiss.org. Das OpenSpec-Framework wird im Rahmen des OpenCode-Projekts entwickelt und wird zur Verwaltung aller Ănderungen auf dieser Seite verwendet._