Zuletzt aktualisiert:

Coach-in-der-App: Form des Coach-Service auf dem Claude-Abo (Vorschlag StratoClaude, 04.09.2026)

Status: Vorschlag zur Abstimmung (Dennis entscheidet). Antwort auf Ahabs Vorabinfo vom 04.09. zur Spec „Coach in der App" (running-coaching/docs/silverscale-spec-coach-integration.md). Harte Randbedingung (Dennis): Abo, keine API-Tokens. Faktenbasis: Benchmark 30.08. (/dev/benchmark-claude-code-2026-08.html) + Handoff Finsight (/dev/handoff-finsight-claude-sdk-cli.html) + Prefix-Messung 04.09. (--tools). Alles darin ist auf diesem VPS gemessen (Max 5×-Abo, CLI jetzt 2.1.260).

1. Entscheidung: Agent-SDK unter Abo-Login, persistente Sessions mit Warm-Pool

Nicht claude -p pro Knopfdruck, nicht der geplante Messages-API-Tool-Loop.

Form erstes Token (gemessen) Urteil
claude -p je Knopf (wie ai_jobs.py) 5,6–7,4 s (≈4 s Prozess-Init, unverändert in 2.1.26x) verfehlt < 3 s strukturell — nur für Hintergrund-Jobs ohne wartenden Menschen
SDK query() je Knopf (frischer Prozess) 4,1–4,8 s verfehlt
SDK ClaudeSDKClient, Session vorgewärmt 0,7–1,4 s (Folge-Turn), 2,7 s erste Nachricht kalt trifft das Ziel; einziger Weg auf dem Abo
Messages-API mit Cache-Breakpoints/effort – API-Key = abgelehnt; entfällt

Warum SDK statt CLI: gleicher Login (~/.claude/.credentials.json, OAuth, kein Key), aber der Prozess lebt weiter — der 4-s-Init fällt aus dem Nutzerpfad. --bare ist API-Key-only und damit tabu (Hilfetext + Messung).

2. Betriebsmodell (das Konkrete)

3. Abo-Haushalt — der eigentliche Risiko-Punkt

Das 5-h-Fenster ist eines für alle: StratoClaude, MacClaude, Lexi, Finsight, jetzt der Coach. - Vor jedem Knopf GET https://api.anthropic.com/api/oauth/usage (Bearer aus credentials.json, anthropic-beta: oauth-2025-04-20) → five_hour.utilization. Ab 90 % degradieren (Sonnet→Haiku oder ehrliche Absage im Stream „Abo-Fenster voll bis hh:mm"), nie blind feuern. Utilization mit in die SSE-Antwort (meta-Event), die App darf es zeigen. - usage jeder Antwort loggen (cache_read_input_tokens, output_tokens, total_cost_usd nominal) — nominal-$ ist das ehrliche Verbrauchsmaß. - Modell — entschieden (Dennis via Ahab, 04.09.): immer die aktuellste Fable-Version, kein Sonnet-Default. (Mein Vorschlag war Sonnet 5 wegen ~2,6× geringerem nominalen Verbrauch bei gleicher Freitext-Qualität; Fenster-Schutz bleibt das Usage-Gate.) Benchmark vor dem Lock daher nur Fable × Effort-Stufen. - Login-Verfall: Refresh-Token läuft aktuell bis 03.10.2026; die CLI erneuert den Access-Token selbst, der Refresh-Token verlängert sich nur bei Nutzung (nicht im Code geprüft). Daemon braucht Health-Check (Usage-Endpoint 401 → Push an Dennis „claude /login auf dem VPS").

4. Realistische Latenz für Ad-hoc-Knöpfe

Schritt Erwartung Basis
Pool-Client nehmen ~0 –
erstes Token, kleiner Prompt 0,7–1,4 s gemessen (Sonnet/Haiku/Fable 30.08.)
erstes Token, mit 5–10k Token prefilled Kontext 1,5–2,5 s Schätzung: Input-Verarbeitung nicht gemessen
Antwort fertig (~300 Token Prosa) +3–5 s Streaming gemessen: Claude generiert ~1–2 s langsamer als Gemini bei 150–200 Tok
Pool leer (zwei Knöpfe kurz hintereinander) 2,7–4 s erstes Token erste Nachricht einer kalten Session

Ziel < 3 s TTFT ist mit Warm-Pool realistisch, ohne Warm-Pool nicht. Der ungemessene Posten ist der prefilled Kontext — deshalb vor dem Lock ein Mini-Benchmark mit einem echten Knopf (echter Kontext, echter Skill-Text): TTFT/Wall/Usage je Modell × Effort, 24 Calls je Konfiguration. Dauert einen Nachmittag, kostet nur Abo-Fenster. Das mache ich, sobald die Spec Skill-Text + Kontextform für einen Knopf festgelegt hat.

5. Was ich vom Coach/Ahab brauche

  1. Je Knopf: Skill-Text + Kontext-DTO-Form (welche compact-DTOs, ungefähre Tokenzahl).
  2. Ob Nachfragen im selben Knopf-Kontext vorgesehen sind (Session-Lebensdauer).
  3. Welche Knöpfe „schwer" sind (Modell-Upgrade) und welche strukturierte Apply-Vorschläge liefern.