Your First Agent
Install
Why Agent SDK for Go
- Idiomatic Go — functional options, typed interfaces, no reflection magic. Swap any component (LLM client, memory backend, approval policy) by passing a different option.
- Same code, two runtimes — run in-process for development with no infrastructure, then add
WithTemporalConfigfor crash-proof durable execution in production. Nothing else changes. - Concurrent by default — one
Agentinstance handles parallelRun,RunAsync, andStreamcalls; Temporal issues each a unique workflow automatically. - Protocol-native integrations — MCP tool servers, A2A agent-to-agent delegation, and AG-UI streaming events are first-class, not adapters bolted on after the fact.
- Middleware hooks — intercept LLM calls, tool use, retrieval, and memory at any lifecycle point for logging, PII scrubbing, and guardrails without touching agent logic.
Runtimes
Run agents locally for development, or with Temporal for production-grade durability and fault tolerance.| In-process (default) | Temporal | |
|---|---|---|
| Setup | No infra | Running Temporal server |
| Durability | None | Survives crashes and restarts |
| Scale | Single process | Horizontal worker pools |
| When | Dev, scripts, low-volume APIs | Production, long-running tasks |
WithTemporalConfig to switch. See Runtimes.
Start here
Quickstart
Your first agent, step by step — under 5 minutes
Architecture
How the agent loop maps to capabilities and runtimes
Runnable examples
Annotated examples for every feature
Temporal runtime
Durable runs, worker separation, crash recovery