go-kratos/blades

Blades is a Go-based multimodal AI Agent framework.

解决的问题

Blades 为 Go 开发者提供了一个结构化的框架,用于构建多模态 AI 代理。它解决了在通常用于后端服务而非 AI 编排的编程语言中,集成多种大语言模型(LLMs)、管理对话记忆以及编排多步骤推理工作流的复杂性。

工作原理

该框架采用基于统一接口的解耦、可插拔架构,协调多个核心组件:

  • Agent:通过组合模型和工具来执行任务的主要单元。
  • ModelProvider:适配层,允许开发者在不同 LLM(如 OpenAI、DeepSeek 或 Gemini)之间切换,而无需更改核心逻辑。
  • Tool:外部函数(API、数据库等),代理可调用以与现实世界交互。
  • Memory:用于存储和检索对话历史的系统,以在多轮交互中保持上下文。
  • Chain/Flow:将多个代理或步骤链接起来以创建复杂数据和控制流的机制。
  • Middleware:采用“洋葱模型”链,用于处理日志记录、监控和护栏等横切关注点。

适用人群

希望使用符合 Go 语言习惯的代码库,构建生产级 AI 代理、对话式应用或复杂 AI 工作流的 Go 开发者。

主要亮点

  • Go 风格:注重简洁性和可扩展性,设计上对 Go 开发者友好。
  • 可插拔模型:通过 ModelProvider 接口轻松切换 LLM 提供商。
  • 多模态支持:专为多模态 AI 代理框架而设计。
  • 技能注入:支持根据 Agent Skill 规范,从目录或嵌入式文件系统加载代理技能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目