This Go AI framework treats agents like HTTP handlers
Blades wires LLMs, tools, and memory into composable Go pipelines using familiar middleware patterns.

What it does
Blades is a Go framework for building multimodal AI agents. It provides pluggable components—models, tools, memory, and middleware—that connect through a single Agent interface to handle multi-turn conversations, reasoning chains, and structured output. The design prioritizes Go idioms like context.Context and option functions over external configuration or DSLs.
The interesting bit
The framework treats every executable piece—whether a single agent, a tool chain, or an LLM provider—as an implementation of the same Run interface, letting you compose them like Lego bricks. That uniformity is a deliberate architectural bet on decoupling, and it borrows the Kratos web framework’s middleware onion model to handle cross-cutting concerns like logging and guardrails inside agent execution.
Key highlights
- Unified
Agentinterface means agents, chains, and model providers all execute through the sameRuncontract. ModelProvideradapter abstracts LLM specifics, with built-in support for both synchronous generation and streaming responses.Floworchestrates multi-step reasoning by piping one agent’s output directly into another’s input.- Memory is session-scoped and swappable, with an in-memory default and hooks for persistent stores.
- Skills can be loaded from disk or embedded filesystems via
embed.FS, following theagentskills.iospec.
Caveats
- The project describes itself as early-stage and iterating rapidly, so expect API churn while it finds its footing.
Verdict
Go developers who want a native, code-first way to wire up LLM pipelines will feel at home; if you need a mature, batteries-included platform with dozens of pre-built integrations, it is likely still too green.
Frequently asked
- What is go-kratos/blades?
- Blades wires LLMs, tools, and memory into composable Go pipelines using familiar middleware patterns.
- Is blades open source?
- Yes — go-kratos/blades is open source, released under the MIT license.
- What language is blades written in?
- go-kratos/blades is primarily written in Go.
- How popular is blades?
- go-kratos/blades has 801 stars on GitHub.
- Where can I find blades?
- go-kratos/blades is on GitHub at https://github.com/go-kratos/blades.