go-kratos/blades

Blades is a Go-based multimodal AI Agent framework.

What it solves

Blades provides a structured framework for Go developers to build multimodal AI agents. It solves the complexity of integrating various large language models (LLMs), managing conversation memory, and orchestrating multi-step reasoning workflows within a language typically used for backend services rather than AI orchestration.

How it works

The framework uses a decoupled, pluggable architecture based on unified interfaces. It coordinates several core components:

  • Agent: The primary unit that executes tasks by combining models and tools.
  • ModelProvider: An adapter layer that allows developers to switch between different LLMs (like OpenAI, DeepSeek, or Gemini) without changing core logic.
  • Tool: External functions (APIs, databases) that the agent can invoke to interact with the real world.
  • Memory: A system for storing and retrieving conversation history to maintain context across turns.
  • Chain/Flow: A mechanism to link multiple agents or steps together to create complex data and control flows.
  • Middleware: An "onion-model" chain used to handle cross-cutting concerns like logging, monitoring, and guardrails.

Who it’s for

Go developers who want to build production-ready AI agents, conversational applications, or complex AI workflows using an idiomatic Go codebase.

Highlights

  • Go Idiomatic: Designed to feel familiar to Go developers with a focus on simplicity and extensibility.
  • Pluggable Models: Easily swap LLM providers via the ModelProvider interface.
  • Multimodal Support: Built as a multimodal AI agent framework.
  • Skill Injection: Supports loading agent skills from directories or embedded filesystems following the Agent Skill specification.

Related

  • Project
  • Project
  • Project
  • Project
  • Project