Go gets its own LLM toolkit, no Python baggage
A Go-native library for building LLM apps and autonomous agents without importing LangChain's design opinions.

What it does
Agency is a Go library for talking to LLMs and other generative AI. It wraps OpenAI-compatible APIs for text, image, speech, and multimodal operations, and lets you chain steps into observable processes. The pitch: write AI code that looks like actual Go, not a Python translation layer.
The interesting bit
The authors explicitly built this because LangChainGo felt like a forced port. Agency bets that Go developers want small interfaces they can implement themselves, not a framework that hides the LLM behind too many abstractions. The “process” and “interceptor” model for composing operations is the architectural hook — it keeps the core tiny and pushes complexity into user-defined steps.
Key highlights
- Pure Go, statically typed, no Python/JS runtime required
- OpenAI-compatible provider with text→text, text→image, text→speech, speech→text, and image→text operations
- Custom operations via a simple interface; compose them into processes with interceptors for observability
- Examples cover RAG and multimodal use cases
- ~500 stars, active enough to have a tutorial series and Russian translation
Caveats
- Only OpenAI-compatible providers for now; more adapters are on the roadmap but not here yet
- Metadata like token counts and audio duration are listed as upcoming, not implemented
- The “powerful API for autonomous agents” is aspirational — current agent support appears to be the composable process model, not a full agent framework
Verdict
Worth a look if you’re building LLM features in Go and want something lighter than LangChainGo. Skip it if you need broad provider support today or want batteries-included agent orchestration.