diff --git a/docs/features/responskvalitet.md b/docs/features/responskvalitet.md new file mode 100644 index 0000000..5b100a6 --- /dev/null +++ b/docs/features/responskvalitet.md @@ -0,0 +1,147 @@ +# Feature: Responskvalitet (intelligens og innsats) + +## Konsept + +Hvert bot-svar har to synlige dimensjoner: **intelligens** (hvilken +modell) og **innsats** (hvor grundig). Brukeren ser en diskret +indikator og har Γ©n knapp for Γ₯ be om bedre svar. + +## NivΓ₯er + +### Intelligens (modellvalg) + +| NivΓ₯ | Indikator | Modell | Bruk | +|------|-----------|--------|------| +| 1 | `πŸ§ β—β—‹β—‹` | Haiku | Klassifisering, triage, enkle oppslag | +| 2 | `πŸ§ β—β—β—‹` | Sonnet | Chat-svar, oppsummering, daglig bruk | +| 3 | `πŸ§ β—β—β—` | Opus | Arkitektur, analyse, koderevisjoner | + +### Innsats (resonnering) + +| NivΓ₯ | Indikator | Effort | Bruk | +|------|-----------|--------|------| +| 1 | `πŸ’ͺ●○○` | low | Kort svar, ja/nei, lookup | +| 2 | `πŸ’ͺ●●○` | medium | Normal respons, noe resonnering | +| 3 | `πŸ’ͺ●●●` | high | Grundig analyse, lang gjennomgang | + +## Brukeropplevelse + +### Indikator + +Diskret visning i bot-svarens header: + +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ @bot πŸ§ β—β—β—‹ πŸ’ͺ●○○ [↑] β”‚ +β”‚ β”‚ +β”‚ Click-through rate β€” andel som β”‚ +β”‚ klikker pΓ₯ en lenke. β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +### ↑-knappen + +Γ‰n knapp. Trykk = bedre svar. Ingen meny, ingen konfigurasjon. + +``` +FΓΈrste svar: πŸ§ β—β—‹β—‹ πŸ’ͺ●○○ [↑] +Trykk ↑: πŸ§ β—β—β—‹ πŸ’ͺ●●○ [↑] (nytt svar erstatter) +Trykk ↑ igjen: πŸ§ β—β—β— πŸ’ͺ●●● [↑ dimmet] (maks) +``` + +Knappen bumper begge dimensjoner ett nivΓ₯. Ved maks er den +dimmet/deaktivert. + +### Ingen ↓-knapp + +Ingen ber om dΓ₯rligere svar. Systemet starter lavt, +brukeren eskalerer ved behov. Kostnad ΓΈker bare nΓ₯r noen +faktisk vil ha mer. + +## Automatisk nivΓ₯valg + +Portvokteren velger startnivΓ₯ basert pΓ₯ heuristikker: + +| Signal | Intelligens | Innsats | +|--------|-------------|---------| +| Kort spΓΈrsmΓ₯l (< 20 ord) | 1 | 1 | +| Normalt spΓΈrsmΓ₯l | 2 | 2 | +| Refererer til arkitektur/kode | 2 | 3 | +| Eksplisitt "grundig"/"detaljert" | 3 | 3 | +| Work item med tag "bug" | 2 | 2 | +| Work item med tag "feature" | 2 | 3 | + +Brukeren kan alltid overstyre med ↑-knappen. + +## Metadata pΓ₯ svar-noden + +```jsonc +{ + "bot_response": true, + "intelligence": 2, + "effort": 2, + "model": "claude-sonnet-4-6", + "tokens_in": 1240, + "tokens_out": 580, + "retry_of": null +} +``` + +Ved ↑-bump: +```jsonc +{ + "bot_response": true, + "intelligence": 3, + "effort": 3, + "model": "claude-opus-4-6", + "tokens_in": 2100, + "tokens_out": 1450, + "retry_of": "uuid-av-forrige-svar" +} +``` + +## Edge-modell + +``` +nytt svar ──retry_of──→ forrige svar (erstattet) +``` + +Forrige svar fΓ₯r `metadata.replaced: true` og vises dimmet +eller kollapset. Historikken er bevart β€” brukeren kan utvide +for Γ₯ se hva det opprinnelige svaret var. + +## CLI-integrasjon + +Portvokteren sender modellvalg til `synops-respond`: + +```bash +synops-respond \ + --communication-id \ + --message-id \ + --model claude-opus-4-6 \ + --effort high +``` + +`synops-respond` mapper `--model` til Claude CLI sitt +`--model`-flagg og `--effort` til prompt-strategi +(kort/normal/grundig systemprompt). + +## cli_tool-noder og default-nivΓ₯ + +Hvert CLI-verktΓΈy har default intelligens/innsats i sin +`cli_tool`-node metadata: + +```jsonc +{ + "binary": "synops-respond", + "default_intelligence": 2, + "default_effort": 2 +} +``` + +Oppdaterbar i PG uten rekompilering. + +## Bygger pΓ₯ +- `docs/infra/robusthet.md` β€” LLM fallback-kjede +- `docs/concepts/arbeidstavlen.md` β€” @bot-konvensjonen +- `docs/retninger/unix_filosofi.md` β€” generisk dispatch, cli_tool-noder