Summary
Implementiere Anticipatory Pre-warming: SIN-Code soll Subagents VOR der Completion ihrer Voraussetzungs-Tasks in die Queue legen, damit sie SOFORT starten wenn die Voraussetzungen erfüllt sind — ohne Cold-Start Delay.
Das ist was SIN-Code einzigartig macht: SIN-Code weiss was kommt, was wahrscheinlich ist, was zu erwarten ist, und delegiert entsprechend im Vorfelde.
Konzept
Task A (architect) läuft...
│
├── Pre-warm: Task B (coder) — P=0.95 dass B nach A kommt
│ → Lade coder System Prompt
│ → Bereite Context vor (codebase scan, relevant files)
│ → Agent ist BEREIT, wartet auf Signal
│
├── Pre-warm: Task C (coder) — P=0.90, parallel zu B
│ → Lade coder System Prompt (reuse)
│ → Bereite anderen Context vor
│
└── Task A completes (green)
↓
SOFORT: Task B + Task C starten parallel
(kein Cold-Start, kein Model-Loading, kein Context-Scan)
Ist-Stand
Aktuell: Task B wird erst ERSTELLT wenn Task A completed ist. Dann muss:
- Agent gefunden werden (registry lookup)
- System Prompt geladen werden
- Context assembleiert werden
- LLM Call gestartet werden
Das kostet 2-5 Sekunden Cold-Start. Bei 10 Tasks = 20-50 Sekunden reine Wartezeit.
SOLL-Stand
Pre-warmed Agent ist BEREIT wenn dependency completed:
- Agent ist bereits instanziiert
- System Prompt ist bereits geladen
- Context ist bereits assembleiert
- LLM Call startet SOFORT wenn Signal kommt
Research-Daten
Predictive Execution in Distributed Systems
- Speculative Execution (Hadoop/Spark): Starte Tasks die wahrscheinlich gebraucht werden, bevor Vorgänger fertig sind
- Pre-warming (Serverless): Function Instances werden vorgewärmt vor Traffic
- Prefetching (CPU/Browser): Lade Daten die wahrscheinlich gebraucht werden vor
Claude Code Plan Mode (aus Leak)
- Plan Mode (633 Tokens Prompt): Plant VOR der Ausführung
- Explore Agent (516 Tokens Prompt): Fast codebase navigation
- Beide laufen read-only, bereiten Context vor
LangGraph Conditional Edges
- Graph kann "predicted" edges haben
- Bei Node-Completion wird geprüft welche Edges wahrscheinlich sind
should_continue() function entscheidet
CrewAI Task Assignment
- Tasks haben
expected_output — der Agent weiss was rauskommen soll
agent field ist prä-assigniert — der Agent ist bekannt vor Task-Start
Requirements
-
Probability Score — Jeder Task hat Probability float64 (0.0-1.0)
- P=1.0: definitiv benötigt (harte dependency)
- P>0.7: sehr wahrscheinlich → pre-warm
- P>0.5: möglich → pre-queue aber nicht pre-warm
- P<0.5: unwahrscheinlich → nur bei Bedarf
-
Pre-warm Agent — Lade System Prompt, bereite Context vor
agent.PreWarm(ctx, taskDescription) — lädt System Prompt, scannt relevante Files
- Agent ist "ready" aber startet keinen LLM Call
-
Pre-queue Task — Task ist in Queue aber Status = prequeued
- Bei dependency completion:
prequeued → running (sofort, kein setup)
-
Signal Channel — taskGreenCh <- taskID → pre-warmed agents starten
-
Cancel Pre-warm — Wenn Dependency failed → pre-warmed agents werden gecancelt
-
Config:
[orchestrator]
prewarm_threshold = 0.7 # Pre-warm bei P > 0.7
prequeue_threshold = 0.5 # Pre-queue bei P > 0.5
max_prewarmed = 4 # Max gleichzeitig pre-warmed agents
Technische Umsetzung
internal/orchestrator/prewarm.go (neu)
Task struct erweitert: Probability float64, PreWarmed bool, PreWarmCtx context.Context
Agent interface erweitert: PreWarm(ctx, task) error
- Integration mit Event-Driven Dispatcher (separates Issue)
- Bei
task.completed event: pre-warmed agents für dependents starten
TUI Integration
Agent Dashboard zeigt:
┌─────────────────────────────────────────┐
│ RUNNING (2) │
│ ▸ architect ● 12 turns 23s │
│ │
│ PRE-WARMED (2) 🔥 │
│ ○ coder (jwt) ready · waiting for A │
│ ○ coder (login) ready · waiting for A │
│ │
│ PREDICTED (2) 📋 │
│ · tester (P=0.85) will need A+B done │
│ · security (P=0.70) will need A done │
└─────────────────────────────────────────┘
Erfolgskriterien
- Pre-warmed Agent startet in <100ms nach dependency completion (aktuell 2-5s)
- 10-Task DAG: 50% schnellere Gesamt-Zeit durch Pre-warming
- TUI zeigt Pre-warmed und Predicted Tasks
- SIN-Code ist der EINZIGE Coding Agent mit Anticipatory Execution
Referenzen
Summary
Implementiere Anticipatory Pre-warming: SIN-Code soll Subagents VOR der Completion ihrer Voraussetzungs-Tasks in die Queue legen, damit sie SOFORT starten wenn die Voraussetzungen erfüllt sind — ohne Cold-Start Delay.
Das ist was SIN-Code einzigartig macht: SIN-Code weiss was kommt, was wahrscheinlich ist, was zu erwarten ist, und delegiert entsprechend im Vorfelde.
Konzept
Ist-Stand
Aktuell: Task B wird erst ERSTELLT wenn Task A completed ist. Dann muss:
Das kostet 2-5 Sekunden Cold-Start. Bei 10 Tasks = 20-50 Sekunden reine Wartezeit.
SOLL-Stand
Pre-warmed Agent ist BEREIT wenn dependency completed:
Research-Daten
Predictive Execution in Distributed Systems
Claude Code Plan Mode (aus Leak)
LangGraph Conditional Edges
should_continue()function entscheidetCrewAI Task Assignment
expected_output— der Agent weiss was rauskommen sollagentfield ist prä-assigniert — der Agent ist bekannt vor Task-StartRequirements
Probability Score — Jeder Task hat
Probability float64(0.0-1.0)Pre-warm Agent — Lade System Prompt, bereite Context vor
agent.PreWarm(ctx, taskDescription)— lädt System Prompt, scannt relevante FilesPre-queue Task — Task ist in Queue aber Status =
prequeuedprequeued→running(sofort, kein setup)Signal Channel —
taskGreenCh <- taskID→ pre-warmed agents startenCancel Pre-warm — Wenn Dependency failed → pre-warmed agents werden gecancelt
Config:
Technische Umsetzung
internal/orchestrator/prewarm.go(neu)Taskstruct erweitert:Probability float64,PreWarmed bool,PreWarmCtx context.ContextAgentinterface erweitert:PreWarm(ctx, task) errortask.completedevent: pre-warmed agents für dependents startenTUI Integration
Agent Dashboard zeigt:
Erfolgskriterien
Referenzen