Skip to main content
Agent SDK for Go is a Go library for building production AI agents. It handles the full execution loop — LLM calls, tool use, approvals, memory, multi-agent delegation — so you write configuration and business logic, not plumbing. Who it’s for: Go backend engineers who want to ship agents in the same language, type system, and deployment pipeline as the rest of their stack — without glue code, dynamic typing, or a Python runtime.

Your First Agent

That’s it — configure once, call repeatedly. Tools, memory, streaming, and durable execution are additive options — not new APIs to learn.

Install

Go 1.26+. OpenAI API key required for the example above; Anthropic and Gemini are also built in. Temporal and Restate are optional.

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, three runtimes — run in-process for development with no infrastructure, then add temporal.WithTemporalConfig (from pkg/agent/runtime/temporal) or restate.WithRestateConfig (from pkg/agent/runtime/restate) for crash-proof durable execution in production. Nothing else changes.
  • Concurrent by default — one Agent instance handles parallel Run and Stream calls; durable runtimes issue each a unique run 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.
  • Cache-aware requests — LLM requests are structured for provider caching, with Anthropic prompt-cache breakpoints to reduce cost on multi-turn runs.

Runtimes

Run agents locally for development, or with Temporal or Restate for production-grade durability and fault tolerance. Add temporal.WithTemporalConfig or restate.WithRestateConfig 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