diff --git a/docs/proposals/agent_harness.md b/docs/proposals/agent_harness.md index c6bbb47..2deff8e 100644 --- a/docs/proposals/agent_harness.md +++ b/docs/proposals/agent_harness.md @@ -2,10 +2,13 @@ ## Ambisjon -Ikke en kopi av Claude Code. Et **superset**. Modell-agnostisk, -selvovervåkende, med innebygd oppgavestyring og prosesshåndtering. -Claude Code er en utmerket interaktiv assistent — synops-agent er -en autonom arbeider som kan kjøre i dager uten tilsyn. +En **erstatning** for Claude Code. Ikke en hjelper, ikke en wrapper — +et selvstendig, fullverdig alternativ som kan gjøre alt Claude Code +gjør, men med valgfri modell og mer funksjonalitet. + +Claude Code brukes til å *utvikle og teste* synops-agent. Målet er +at synops-agent kan ta over hele arbeidsflyten: interaktiv utvikling, +autonome oppgaver, daemon-drift. Med hvilken som helst modell. ## Hva Claude Code gjør bra (og vi beholder) @@ -164,15 +167,18 @@ Implementasjoner for: | | Claude Code | synops-agent | |---|---|---| -| Modeller | Kun Anthropic | Alle | +| Modeller | Kun Anthropic | Alle (Anthropic, Grok, Gemini, Ollama, ...) | | Modus | Interaktiv | Interaktiv + autonom + daemon | | Oppgavestyring | Manuelt | Innebygd tasklist-parser | | Gjenoppretting | Manuelt | Automatisk checkpoint + resume | | Sub-agenter | Samme modell | Valgfri modell per agent | | Prosesshåndtering | Ingen | Daemon, watchdog, signaler | | Grafintegrasjon | Filbasert | Native node/edge-tilgang | -| Kostnadsovervåking | Ingen | Per-oppgave budsjett | -| Implementasjon | Node.js (lukket) | Rust (vår, åpen) | +| Kostnadsovervåking | Begrenset | Sanntids token-regnskap per modell | +| Eskalering | Ingen | Auto-eskaler billig → middels → smart | +| Verifikasjon | Manuelt | Innebygd utfør/verifiser-loop | +| Implementasjon | Node.js (lukket) | Rust (vår, åpen, rask) | +| Avhengighet | Anthropic-abonnement | Valgfri leverandør, inkl. gratis/lokal | ## Hva dette erstatter @@ -285,20 +291,21 @@ ressurser som agenter oppdager og laster dynamisk. ## Orkestreringsmodell: smart leder, billige arbeidere -### Kjørbar fra Claude Code +### Selvstendig orkestrator -synops-agent er et CLI-verktøy. Claude Code kan kalle det via Bash. -Det betyr at Claude Code (dyr, smart) kan delegere arbeid til billige -modeller uten å bruke egne tokens: +synops-agent er sin egen orkestrator. Den velger modell per oppgave, +delegerer til sub-agenter, eskalerer ved feil — uten ekstern styring. ``` -# Claude Code kjører dette: -synops-agent --model gemini-flash --task "finn alle filer som importerer auth.ts" -synops-agent --model grok-3-mini --task "skriv enhetstester for denne funksjonen" -synops-agent --model claude-haiku --task "oppsummer disse 40 filene" +synops-agent --tasklist fikseliste.md --orchestrator opus --worker flash +synops-agent --task "redesign auth-systemet" --model sonnet +synops-agent daemon --watch tasks.md --orchestrator sonnet --worker haiku ``` -Claude Code beholder det store bildet. synops-agent gjør gruntarbeidet. +I tillegg er den et CLI-verktøy som *kan* kalles fra Claude Code +for å eksperimentere med modellkombinasjoner og finne hva som +fungerer best for ulike oppgavetyper. Men det er utvikling og +testing — ikke den tiltenkte driftsmodellen. ### Tre intelligensnivåer @@ -363,33 +370,33 @@ synops-agent kan velge modell basert på oppgavens karakter: Maskinrommets `ai_job_routing`-tabell kan styre default-mappingen. -### Claude Code som super-orkestrator - -Det ultimate mønsteret: +### synops-agent som fullverdig arbeidsflyt ``` -Claude Code (interaktiv med Vegard) +Vegard (interaktiv) │ - ├── "Fiks alle bugs i fikseliste.md" - │ └── synops-agent --model sonnet --tasklist fikseliste.md - │ ├── Bug 1 → agent (flash) → verifiser (sonnet) ✓ - │ ├── Bug 2 → agent (flash) → verifiser (sonnet) ✗ - │ │ → eskaler → agent (sonnet) → verifiser ✓ - │ └── Bug 3 → agent (flash) → verifiser (sonnet) ✓ - │ - ├── "Research denne teknologien" - │ └── synops-agent --model grok-3 --task "..." (sanntidsinfo) - │ - └── "Optimaliser databasespørringene" - └── synops-agent --model gemini-pro --task "..." - └── Sub-agent (flash): "profiler denne spørringen" + └── synops-agent --tasklist fikseliste.md + │ orchestrator: opus + │ worker: flash + │ verifier: sonnet + │ + ├── Bug 1 → worker (flash) → verifier (sonnet) ✓ → commit + ├── Bug 2 → worker (flash) → verifier (sonnet) ✗ + │ → eskaler → worker (sonnet) → verifier (opus) ✓ + ├── Bug 3 → worker (flash) → verifier (sonnet) ✓ → commit + │ + ├── "Trenger research" → sub-agent (grok-3, sanntidsinfo) + │ + └── Ferdig. 3/3 bugs fikset. $0.22 brukt. ``` -Claude Code bruker sin kontekst til å forstå hva som trengs, -delegerer utføringen, og bruker resultatet. Billigere, raskere, -og med tilgang til modeller Claude Code ikke har (Grok for -sanntid, Gemini for lange kontekster, lokale modeller for -sensitive data). +Samme arbeidsflyt som Claude Code, men: +- Valgfri modell på hvert nivå +- Automatisk eskalering ved feil +- Innebygd tasklist-parser +- Kjører uten tilsyn (daemon-modus) +- Tilgang til modeller Claude Code ikke har (Grok for sanntid, + Gemini for lange kontekster, lokale modeller for sensitive data) ### Token-regnskap