synops-agent: motivasjon (erstatter claude -p) + lib/CLI/API-arkitektur
Dokumentert hvorfor Claude Code ikke egner seg som tjeneste (treg oppstart, høyt minne, ingen API, låst til Anthropic). synops-agent som tre bruksmåter: lib (embed i maskinrommet), CLI (erstatter Claude Code), API (HTTP-endepunkt for appen). Konkret brukstabell for chat, orkestrering, bakgrunnsjobber og bruker-chat. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
311a73b940
commit
2605f6de25
1 changed files with 51 additions and 10 deletions
|
|
@ -10,6 +10,40 @@ Claude Code brukes til å *utvikle og teste* synops-agent. Målet er
|
||||||
at synops-agent kan ta over hele arbeidsflyten: interaktiv utvikling,
|
at synops-agent kan ta over hele arbeidsflyten: interaktiv utvikling,
|
||||||
autonome oppgaver, daemon-drift. Med hvilken som helst modell.
|
autonome oppgaver, daemon-drift. Med hvilken som helst modell.
|
||||||
|
|
||||||
|
### Hvorfor ikke Claude Code som tjeneste?
|
||||||
|
|
||||||
|
Vi har vurdert å bruke Claude Code direkte for AI-tjenester i Synops
|
||||||
|
(chat-svar, orkestrering, bakgrunnsjobber). Det er ikke egnet:
|
||||||
|
|
||||||
|
- **Lang instansieringstid** — sekunder til oppstart per invokasjon
|
||||||
|
- **Høy minnebruk** — hundrevis av MB per instans, skalerer ikke
|
||||||
|
- **Ingen API** — kun terminal-grensesnitt, ikke programmerbart
|
||||||
|
- **Låst til Anthropic** — kan ikke bruke billigere/raskere modeller
|
||||||
|
- **Ikke designet for embedding** — ment som interaktivt utviklerverktøy
|
||||||
|
|
||||||
|
synops-agent løser alle disse:
|
||||||
|
|
||||||
|
- **Rask oppstart** — Rust binary, millisekunder
|
||||||
|
- **Lavt minnebruk** — Rust, ingen runtime overhead
|
||||||
|
- **API og CLI** — lib (embed i maskinrommet) + CLI (standalone)
|
||||||
|
- **Modell-agnostisk** — velg riktig modell per oppgave
|
||||||
|
- **Designet for embedding** — kan kjøre som HTTP-endepunkt,
|
||||||
|
jobbkø-worker, eller daemon
|
||||||
|
|
||||||
|
### Bruksområder i Synops
|
||||||
|
|
||||||
|
synops-agent erstatter dagens `claude -p` invokasjon i maskinrommet
|
||||||
|
og åpner for nye muligheter:
|
||||||
|
|
||||||
|
| Bruk | I dag | Med synops-agent |
|
||||||
|
|------|-------|------------------|
|
||||||
|
| Chat-svar (@bot) | `claude -p` (tregt, dyrt) | Inline, rask, valgfri modell |
|
||||||
|
| Orkestrering | Shell-scripts + `claude -p` | Native agent-loop |
|
||||||
|
| Transkripsjons-oppsummering | `synops-summarize` → LiteLLM | Agent med kontekst |
|
||||||
|
| Kode-generering | Claude Code (manuelt) | Autonom med tasklist |
|
||||||
|
| Bakgrunnsjobber | Jobbkø → CLI-verktøy | Agent som jobbkø-worker |
|
||||||
|
| Bruker-chat i appen | Ikke mulig (for tregt) | Sub-sekund responstid |
|
||||||
|
|
||||||
## Hva Claude Code gjør bra (og vi beholder)
|
## Hva Claude Code gjør bra (og vi beholder)
|
||||||
|
|
||||||
- Tool-loop (prompt → tool_calls → execute → loop)
|
- Tool-loop (prompt → tool_calls → execute → loop)
|
||||||
|
|
@ -130,18 +164,25 @@ Agenten er en førsteklasses borger i Synops:
|
||||||
## Arkitektur
|
## Arkitektur
|
||||||
|
|
||||||
```
|
```
|
||||||
synops-agent
|
synops-agent (workspace crate)
|
||||||
├── core/ — agent-loop, tool dispatch, kontekst
|
├── synops-agent-core/ — lib: agent-loop, tool dispatch, kontekst
|
||||||
├── providers/ — API-adaptere (anthropic, openai, gemini, ollama)
|
│ ├── providers/ — API-adaptere (anthropic, openai, gemini, ollama)
|
||||||
├── tools/ — verktøy-implementasjoner
|
│ ├── tools/ — verktøy-implementasjoner
|
||||||
├── tasklist/ — parser og kjører markdown-checklister
|
│ ├── context/ — kontekstvindu, ACC, oppsummering
|
||||||
├── daemon/ — bakgrunnsprosess, filovervåking, intervall
|
│ ├── tasklist/ — parser og kjører markdown-checklister
|
||||||
├── recovery/ — checkpoint, gjenoppretting, kontekstkomprimering
|
│ └── budget/ — token-regnskap, kostnadsovervåking
|
||||||
└── synops/ — grafintegrasjon via synops-common
|
├── synops-agent-cli/ — CLI-binary: interaktiv + batch + daemon
|
||||||
|
└── synops-agent-api/ — HTTP-server: embed i maskinrommet eller standalone
|
||||||
```
|
```
|
||||||
|
|
||||||
Bygget som lib + CLI. Lib kan embeddes i maskinrommet for
|
Tre bruksmåter:
|
||||||
tettere integrasjon uten prosess-overhead.
|
1. **Lib** (`synops-agent-core`) — embed direkte i maskinrommet.
|
||||||
|
Ingen prosess-overhead. Chat-svar på millisekunder.
|
||||||
|
2. **CLI** (`synops-agent`) — interaktiv terminal, tasklist-runner,
|
||||||
|
daemon-modus. Erstatter Claude Code for utvikling.
|
||||||
|
3. **API** (`synops-agent-api`) — HTTP-endepunkt for appen.
|
||||||
|
Maskinrommet kaller det i stedet for `claude -p`.
|
||||||
|
Kan også kjøres standalone som mikrotjeneste.
|
||||||
|
|
||||||
## API-abstraksjon
|
## API-abstraksjon
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue