Progressiv afsløring: CLI-vinduer ind i agentsystemer
> Agentsystemer er uigennemsigtige som standard. Progressiv afsløring giver operatører lagdelte CLI-visninger fra hurtige statustjek til fulde agent-internaler og beslutningsspor.
Tallene i dette indlæg afspejler systemet på udgivelsestidspunktet (januar 2026). Se vores team-side for aktuelle tal.
Agentsystemer er uigennemsigtige af design. De træffer beslutninger, kalder værktøjer og koordinerer arbejde på tværs af snesevis af specialister. Men når noget går galt — eller når du blot vil forstå, hvad der sker — hvor kigger du så?
Svaret er progressiv afsløring: en lagdelt grænseflade, der afslører præcis så meget kompleksitet, som du har brug for, præcis når du har brug for det.
Uigennemsigtighedsproblemet
Et moderne agent-orkestreringssystem kan have:
- 40+ specialiserede agenter, hver med distinkte kapabiliteter
- 700+ skills, der spænder over intern automatisering og leverandørintegrationer
- 470+ arkitektoniske beslutninger, der former adfærd
- Snesevis af MCP-værktøjsservere, der leverer eksterne kapabiliteter
Denne kompleksitet er tilsigtet. Agenter har brug for adgang til rig kontekst — domæneviden, code intelligence, databaseskemaer — for at træffe gode beslutninger. Men den samme rigdom skaber et synlighedsproblem.
Hvordan ved du, hvilken agent der håndterer databasemigreringer? Hvilke beslutninger formede søgesystemets rangeringsadfærd? Hvilke værktøjer har arkitekturrådgiveren adgang til?
Uden struktureret adgang er du henvist til at læse kildekode eller håbe, at dokumentationen er ajour.
Progressiv afsløring som arkitektur
Progressiv afsløring er ikke bare et UI-mønster. Det er et arkitektonisk princip: organisér information i lag, hvert dybere end det sidste, så brugere kan stoppe på det niveau, der besvarer deres spørgsmål.
For agentsystemer oversættes det til CLI-kommandoer i stigende dybder:
| Niveau | Kommando | Spørgsmål, der besvares |
|---|---|---|
| 1 | orkestra system status |
Er alt sundt? |
| 2 | orkestra agents list |
Hvilke agenter findes der? |
| 3 | orkestra agents info <name> |
Hvad gør denne agent? |
| 4 | orkestra decisions search |
Hvorfor fungerer det på denne måde? |
| 5 | Maguyva MCP-værktøjer | Vis mig koden. |
Hvert niveau besvarer et naturligt opfølgende spørgsmål. Du behøver sjældent at springe direkte til niveau 5.
Niveau 1: Systemsundhed
Det første spørgsmål er altid: virker alt?
$ orkestra system status
on
{
"agents": 40,
"skills_internal": 466,
"skills_vendor": 240,
"skills_total": 706,
"commands": 17
}
Én kommando. Fire tal. Nok til at vide, at systemet er konfigureret, og at registrene er befolket.
Hvis et agentantal falder uventet, eller skills ikke kan indlæses, ser du det her først. Ingen log-dykning nødvendig.
Niveau 2: Agentbeholdning
Når du ved, at systemet er sundt, er det næste spørgsmål: hvad er tilgængeligt?
$ orkestra agents list
Dette returnerer strukturerede data — agentnavne, beskrivelser, modelpræferencer, domænedækning. Outputtet er JSON som standard, hvilket gør det nemt at pipe ind i jq til filtrering:
$ orkestra agents list | jq '.agents[] | select(.model == "opus") | .name'
Vil du have agenter, der håndterer databasearbejde? Søgekommandoen indsnævrer det:
$ orkestra agents search "database"
Dette skanner navne, beskrivelser og kapabiliteter. Du finder den rette specialist uden at læse 40 agentdefinitioner.
Niveau 3: Dybt agentdyk
Fandt du en agent, der ser relevant ud? info-kommandoen afslører alt:
$ orkestra agents info architecture-advisor
Outputtet inkluderer:
- Metadata: Navn, kategori, modelpræference, beskrivelse
- Domæner: Hvilke videnområder denne agent dækker
- Identitet: Karaktertræk (architect, strategist, knowledge-architect)
- Værktøjsguider: Hvilken værktøjsdokumentation der injiceres i konteksten
- Værktøjer: Den fulde liste af MCP-værktøjer, denne agent har adgang til
Her er et udpluk af, hvad du ser:
on
{
"metadata": {
"name": "architecture-advisor",
"model": "opus",
"description": "Strategic decision-making and architectural guidance..."
},
"domains": [
"product",
"development/architecture",
"meta/strategy"
],
"tools": {
"mcp_tools": [
"mcp__maguyva__intelligent_search",
"mcp__maguyva__analyze_dependencies",
"mcp__supabase__execute_sql",
...
]
}
}
Dette fortæller dig præcis, hvad agenten kan gøre. Ingen kildekode nødvendig.
Niveau 4: Beslutningsarkæologi
Agenter opfører sig i henhold til dokumenterede beslutninger. Når du har brug for at forstå hvorfor noget fungerer på en bestemt måde, er beslutningsregistret den autoritative kilde.
$ orkestra decisions search "agent"
Dette returnerer matchende arkitektoniske beslutninger:
on
{
"results": [
{
"id": "DEC-SR-049",
"title": "AI-Agent-First Defaults with Graph Intelligence",
"domain": "search",
"status": "active"
}
]
}
Hver beslutning har fuld proveniens — hvornår den blev truffet, hvorfor, hvilke afvejninger der blev overvejet, hvilke commits der implementerede den:
$ orkestra decisions info DEC-SR-049
on
{
"id": "DEC-SR-049",
"title": "AI-Agent-First Defaults with Graph Intelligence",
"summary": "Changes default values for search tools to AI-agent-optimal behavior...",
"rationale": [
"AI agents work better with pre-ranked, importance-weighted results",
"Graph metrics already computed by pipeline - leverage them",
"Community context helps agents understand feature scope in single query"
],
"source_commits": [
{
"sha": "156a880d05eae295669ef7c194b039023f245511",
"message": "feat(maguyva): enable boost_by_importance..."
}
]
}
Dette er arkitektonisk dokumentation, der forbliver ajour, fordi den er minet fra commits, ikke manuelt vedligeholdt.
Niveau 5: Direkte Code Intelligence
Når du har brug for at se den faktiske implementering — ikke metadata om den — giver Maguyvas MCP-værktøjer direkte adgang.
Indefra en agentsession:
mcp__maguyva__intelligent_search
query: "agent context loading"
Dette auto-router på tværs af semantisk, tekst- og AST-søgning for at finde relevant kode. For specifikke symboler:
mcp__maguyva__find_symbol
symbol_name: "load_agent_context"
For afhængighedsanalyse:
mcp__maguyva__analyze_dependencies
target: "packages/orchestration/core/agents.py"
Det her er ikke bare grep-erstatninger. De er grafbevidste, semantisk indekserede og integreret med den samme code intelligence, der driver agenterne selv.
Samlet søgning på tværs af registre
Nogle gange ved du ikke, hvilket register der har svaret. Den samlede søgning spænder over alt:
$ orkestra search "database" --summary
on
{
"query": "database",
"total": 254,
"counts": {
"agents": 40,
"skills": 59,
"decisions": 476,
"truths": 2,
"packages": 1
}
}
254 træffere på tværs af fem registre. Sammendraget fortæller dig, hvor du skal dykke ned. Fjern --summary for detaljerede resultater, eller tilføj --limit 5 for at holde outputtet håndterbart.
Hvorfor det betyder noget
Progressiv afsløring handler ikke kun om bekvemmelighed. Det ændrer, hvordan du interagerer med komplekse systemer.
Fejlfinding bliver håndterbar. Når en agent træffer en uventet beslutning, grepper du ikke gennem logs. Du tjekker, hvilke værktøjer den har adgang til (agents info), hvilke beslutninger der former dens adfærd (decisions search), og sporer implementeringen, hvis nødvendigt (intelligent_search).
Onboarding accelererer. Nye teammedlemmer behøver ikke at læse hele kodebasen. De starter med system status, udforsker med agents list, og går kun dybere, når de støder på noget, de ikke forstår.
Dokumentation forbliver ajour. Fordi CLI’en læser fra de samme registre, der konfigurerer agenterne, er outputtet altid præcist. Der er ingen drift mellem, hvad dokumentationen siger, og hvad systemet gør.
CLI’en som grænseflade
Vi kunne have bygget et webdashboard. Vi kunne have skrevet omfattende dokumentation. I stedet byggede vi en CLI, der læser fra den autoritative kilde.
CLI’en har fordele:
- Sammensætbar: Pipe output gennem
jq, integrér med scripts - Scriptbar: Automatisér tjek, generér rapporter
- Hurtig: Ingen sideindlæsninger, ingen godkendelsesflows
- Præcis: Læser den faktiske konfiguration, ikke en cachet repræsentation
For systemer, hvor korrekthed betyder mere end æstetik, vinder CLI’en.
Byg din egen progressive afsløring
Hvis du bygger agentsystemer, så overvej, hvordan brugere vil inspicere dem:
- Start med sundhedstjek. Én kommando, der fortæller dig, om tingene fungerer.
- Tilbyd beholdningsvisninger. List hvad der findes, før du forklarer, hvad det gør.
- Muliggør målrettede forespørgsler. Søgning slår gennemsning i stor skala.
- Eksponér proveniens. Lad brugere spore beslutninger til deres oprindelse.
- Forbind til Code Intelligence. I sidste ende har brugere brug for at se implementeringen.
Hvert lag besvarer et opfølgende spørgsmål. Byg dem i frekvensrækkefølge — de fleste brugere stopper ved lag 2 eller 3. Kun poweruser når lag 5.
Målet er ikke at eksponere alt. Det er at eksponere præcis det, der er nødvendigt, præcis når det er nødvendigt. Det er progressiv afsløring anvendt på agentarkitektur.
Relateret læsning
Mere fra Maguyva-byggeloggen
Hvorfor vi opgraderede kodesøgning til voyage-4-large_
Vi flyttede vores kode-embeddings til voyage-4-large — i øjeblikket øverst på den offentlige RTEB-rangliste for kode-retrieval. Den ærlige version: det kompromis, vi indgår, hvad vi rent faktisk indekserer, og hvorfor vi betaler for premium-embeddings.
Sprogets rekursive selvforbedring: Sådan sliber vi Code Intelligence på tværs af ~280 sprog_
Vi understøtter code intelligence for ~280 sprog. Intet menneske kan håndrevidere det. Så vi byggede en rekursiv selvforbedringsløkke for sprog — stikprøvekontrol, LLM som dommer, ret én ting, gen-validér — og kører den med en flåde af isolerede agenter, indtil udtrækket rent faktisk er korrekt, ikke bare grønt.
Multimodal fusionssøgning: Sådan vælges den rette retriever til hver forespørgsel_
En forespørgsel som 'hvor er parseConfig defineret' vil have en anden søgning end 'hvordan fungerer auth'. Maguyva klassificerer intentionen, vægter fire retrieval-modaliteter derefter og fusionerer resultaterne med vægtet Reciprocal Rank Fusion.