Files
Orchestrator/bahn/O2C-Harness/agents/README.md
ankn a5f8fb49ab Migrate all repos into monorepo context folders
Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
      Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
      Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)

Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
2026-06-30 20:39:52 +02:00

115 lines
4.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sub-Agenten
Kiro CLI unterstützt Sub-Agenten spezialisierte Rollen die der Haupt-Agent für komplexe Aufgaben nutzen kann.
## Verfügbare Profile
| Agent | Datei | Rolle | Tools |
|-------|-------|-------|-------|
| researcher | `researcher.json` | Informationen sammeln, analysieren | Alle |
| implementer | `implementer.json` | Code schreiben, testen, committen | Alle |
| reviewer | `reviewer.json` | Code-Review, Security, Best Practices | read, grep, shell |
## Wie der Haupt-Agent Sub-Agenten nutzt
Der Haupt-Agent entscheidet selbst ob er Sub-Agenten braucht. Bei komplexen Aufgaben nutzt er das `subagent` Tool:
```
subagent(
task: "Feature implementieren und reviewen",
stages: [
{name: "research", role: "researcher", prompt: "Analysiere die bestehende Codebasis..."},
{name: "implement", role: "implementer", prompt: "Implementiere basierend auf der Analyse...", depends_on: ["research"]},
{name: "review", role: "reviewer", prompt: "Prüfe die Implementierung...", depends_on: ["implement"]}
]
)
```
### Parallelisierung
Stages ohne `depends_on` laufen parallel:
```
Stage 1 (parallel): Stage 2: Stage 3:
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ researcher: │───┐ │ implementer: │ │ reviewer: │
│ API lesen │ ├───▶│ Code + Tests │──▶│ Qualität │
│ researcher: │───┘ │ │ │ prüfen │
│ DB Schema │ └──────────────┘ └──────────────┘
└──────────────┘
```
### Shared Filesystem
Alle Sub-Agenten teilen `/workspace/project`. Der Researcher schreibt Ergebnisse in Dateien die der Implementer liest.
## Eigene Profile erstellen
Ein Agent-Profil ist eine JSON-Datei:
```json
{
"tools": ["*"],
"systemPrompt": "Du bist ein spezialisierter Agent für..."
}
```
### Felder
| Feld | Beschreibung |
|------|-------------|
| `tools` | `["*"]` für alle, oder Liste: `["read", "grep", "shell", "write"]` |
| `systemPrompt` | Instruktionen für den Sub-Agenten |
| `mcpServers` | Optional: zusätzliche MCP-Server für diesen Agenten |
### Beispiel: Ops-Agent
```json
{
"tools": ["*"],
"systemPrompt": "Du bist ein Ops-Agent. Analysiere Kubernetes-Cluster: Pods, Deployments, Events, Logs. Identifiziere Probleme und schlage Lösungen vor. Nutze kubectl für alle Abfragen.",
"mcpServers": {
"orchestrator": {
"url": "http://opencode-k8s-agent-${ART_NAME}-tools.${ART_NAME}-tools.svc.cluster.local:8080/mcp",
"headers": {
"x-runtime": "kiro",
"x-agent-kiro-api-key": "${KIRO_API_KEY}",
"x-agent-gitlab-token": "${GITLAB_TOKEN}"
}
}
}
}
```
### Beispiel: Security-Agent
```json
{
"tools": ["read", "grep", "shell"],
"systemPrompt": "Du bist ein Security-Agent. Prüfe Code auf Schwachstellen: SQL Injection, XSS, Secrets im Code, unsichere Dependencies. Nutze trivy und gitleaks. Erstelle einen strukturierten Security-Report."
}
```
## Laden der Profile
Das Entrypoint-Script kopiert beim Pod-Start automatisch alle `agents/*.json` nach `$HOME/.kiro/agents/`. Änderungen an Profilen werden beim nächsten Job-Start wirksam kein Image-Rebuild nötig.
## MCP-Server für Sub-Agenten
Die `mcp.json` im Root dieses Repos wird als MCP-Konfiguration für alle Agenten geladen. Damit können Sub-Agenten:
- Den **Orchestrator** aufrufen (weitere K8s-Pods spawnen)
- **Playwright** für Browser-Tests nutzen
- Andere MCP-Server ansprechen (Jira, Confluence, etc.)
### Rekursive Hierarchie
Ein Sub-Agent kann über den Orchestrator-MCP-Server weitere Agent-Pods starten:
```
Haupt-Agent (Pod A)
└── subagent: researcher
└── MCP: orchestrator.implement_ticket(...)
└── Neuer Pod B startet
└── arbeitet unabhängig
```