Content-Studio Architektur
Strukturierte Content-Erstellung mit Autorenprofilen, Contracts und Kritikersystem.
Web-UI (RESTful)
| URL | Beschreibung |
| /content | Auftrags-Liste |
| /content/new | Neuer Auftrag |
| /content/{id} | Details anzeigen |
| /content/{id}/edit | Bearbeiten |
Komponenten
Content-Erstellungsauftrag
├── Briefing (Was soll erstellt werden)
├── Autorenprofil (Wer/Wie schreibt)
├── Contract (Qualitätsanforderungen)
├── Strukturdatei (Format/Gliederung)
├── Quellen (RAG-Kontext)
└── Kritikersystem (Review-Prozess)
Workflow
1. BRIEFING
- Thema eingeben
- Zielgruppe wählen
- Umfang definieren
2. KONFIGURATION
- Autorenprofil wählen
- Contract wählen
- Struktur wählen
- Quellen auswählen (RAG)
3. GENERIERUNG
- Kapitel-für-Kapitel
- Fortschrittsanzeige
4. CRITIQUE (max 3x)
- Kritiker analysieren sequenziell
- Automatische Revision
5. VALIDATE
- Contract-Prüfung
6. APPROVE
- Menschliches OK
7. PUBLISH
- Export, Archivierung
Autorenprofile
Versioniert in Datenbank gespeichert:
{
"name": "Akademischer Autor",
"stimme": {
"ton": "sachlich, präzise",
"perspektive": "dritte Person"
},
"stil": {
"fachsprache": true,
"zitate": "häufig, APA 7"
},
"tabus": [
"Umgangssprache",
"Unbelegte Behauptungen"
]
}
Verfügbare Profile
| Profil | Use-Case |
| Akademisch | Fachartikel, Studien |
| Didaktisch | Lernmaterialien |
| Journalistisch | Blog, News |
| Therapeutisch | Klientenmaterial |
Contracts
Qualitätsverträge mit Vererbung:
{
"name": "Fachartikel-Standard",
"anforderungen": {
"länge": {"min": 1500, "max": 3000},
"struktur": ["abstract", "einleitung", "hauptteil", "fazit"],
"quellenangaben": 5
},
"validierung": {
"automatisch": ["wortanzahl", "struktur_check"],
"manuell": ["inhaltliche_korrektheit"]
}
}
Kritikersystem
| Kritiker | Fokus |
| Faktenprüfer | Quellen, Logik, Statistik |
| Stilist | Sprache, Lesbarkeit |
| Strukturanalyst | Roter Faden, Gliederung |
Export-Formate
- Markdown (Technische Docs)
- HTML (Web-Publishing)
- DOCX (Word)
- PDF (Finale Dokumente)
Pipeline-Scripts
Backend-Implementierung der Content-Generierung:
/opt/scripts/pipeline/
├── generate.py → Content-Generierung Kernlogik
└── web_generate.py → Web-API Wrapper
generate.py
Hauptmodul für RAG-basierte Content-Generierung mit Kritikersystem.
| RAG-Context | Qdrant (documents Collection) |
| LLM Primary | Claude (Anthropic API) |
| LLM Fallback | Mistral (Ollama lokal) |
| Versionierung | content_versions Tabelle |
Hauptfunktionen
| Funktion | Beschreibung |
generate_content(order_id, model, collection, context_limit) | Generiert Content basierend auf Order |
run_critique_round(version_id, model) | Führt alle aktiven Kritiker aus |
revise_content(version_id, model) | Erstellt Revision basierend auf Feedback |
run_critic(content, critic_id, model) | Einzelner Kritiker-Durchlauf |
Hilfsfunktionen
| Funktion | Beschreibung |
get_rag_context(briefing, collection, limit) | Holt relevanten Kontext aus Qdrant |
get_author_profile(profile_id) | Lädt Autorenprofil aus DB |
get_contract(contract_id) | Lädt Content-Contract aus DB |
get_structure(structure_id) | Lädt Struktur-Template aus DB |
get_order(order_id) | Lädt Order mit allen verknüpften Daten |
build_generation_prompt(...) | Baut den Generierungs-Prompt |
save_version(order_id, content, version_number) | Speichert Content-Version |
save_sources(order_id, context) | Speichert RAG-Quellen |
CLI-Verwendung
# Content generieren
python /opt/scripts/pipeline/generate.py generate <order_id> [model]
# Kritik-Runde starten
python /opt/scripts/pipeline/generate.py critique <version_id> [model]
# Revision erstellen
python /opt/scripts/pipeline/generate.py revise <version_id> [model]
# Beispiel mit Anthropic
python /opt/scripts/pipeline/generate.py generate 1 anthropic
# Beispiel mit Ollama
python /opt/scripts/pipeline/generate.py generate 1 ollama
Status-Workflow
draft → generating → critique → revision/validate → approve → published
↑ ↓
└────────────┘ (max 3 Runden)
Rückgabe generate_content
{
"success": true,
"order_id": 1,
"version_id": 5,
"version_number": 1,
"content": "Generierter Text...",
"sources": [
{"source": "dokument.pdf", "score": 0.89}
]
}
Rückgabe run_critique_round
{
"success": true,
"round": 1,
"critiques": [
{
"critic_name": "Faktenprüfer",
"rating": 8,
"passed": true,
"issues": [],
"suggestions": ["Mehr Quellenangaben"],
"summary": "Inhaltlich korrekt"
}
],
"all_passed": true
}
web_generate.py
Web-Interface Wrapper für PHP-Integration.
# Content generieren
python /opt/scripts/pipeline/web_generate.py generate <order_id> [model] [collection] [limit]
# Kritik-Runde
python /opt/scripts/pipeline/web_generate.py critique <version_id> [model]
# Revision
python /opt/scripts/pipeline/web_generate.py revise <version_id> [model]
Parameter
| Parameter | Default | Beschreibung |
| model | anthropic | LLM-Backend (anthropic/ollama) |
| collection | documents | Qdrant Collection für RAG |
| limit | 5 | Anzahl Context-Chunks |
Datenbank-Tabellen
| Tabelle | Beschreibung |
| content_orders | Aufträge mit Briefing, Status, Verknüpfungen |
| content_versions | Versionierte Content-Texte (JSON) |
| content_sources | RAG-Quellen pro Order |
| content_critiques | Kritiker-Feedback pro Version |
| author_profiles | Autorenprofile (JSON-Config) |
| content_contracts | Qualitätsverträge (JSON-Config) |
| content_structures | Struktur-Templates (JSON-Config) |
| critics | Kritiker-Definitionen |