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 標準,從目錄或嵌入式檔案系統載入代理技能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案