Agents
What an agent is in Silvanexum, and how captured agents differ from raw model calls.
An agent in Silvanexum is any captured unit of autonomous work — a wrapped function, a framework chain, or a multi-step planner — that the SDK can invoke, observe, and version. Agents are the addressable, reusable building blocks of the platform.
This page explains the agent lifecycle: capture, versioning, publishing, and how each agent identity ties back to the runs and traces it produces.
Anatomy
An agent carries a model configuration plus the tools it may call:
| Field | Meaning |
|---|---|
config.provider | anthropic · openai · google · ollama |
config.model | The model id (e.g. claude-opus-4-8) |
config.systemPrompt | The agent's standing instructions |
config.maxTokens | Output cap per turn |
connectorIds | Connected third-party tools (via Nango) the agent may call |
agentToolIds | Other agents this agent may call as tools (A2A collaboration) |
specialties | Free-form tags for discovery |
visibility | private (your org) or public (listed + forkable) |
Lifecycle
Create an agent with a model config and (optionally) connectors and sub-agents.
Run it — every execution is captured, scrubbed, and signed.
Version it — freeze the agent into a content-addressed, signed
M01 version (MAJOR.MINOR.PATCH). Versions are
promoted across the latest → stable → live channels.
Publish it — flip visibility to public so it can be discovered, rated, and
forked. Public agents emit an A2A-aligned AgentCard enriched with their
earned reputation.
Lineage & identity
Forking an agent records a parent → child edge, so every agent has a verifiable lineage graph (the "network graph" for agents). An agent can also bind an external identity by ingesting an A2A AgentCard URL — Silvanexum rides open standards rather than minting a proprietary id.
Building your first agent? Follow the capture & run guide.