go-kratos/blades

Blades is a Go-based multimodal AI Agent framework.

何を解決するか

Blades は Go 開発者向けの構造化されたフレームワークを提供し、マルチモーダル AI エージェントの構築を可能にします。従来、バックエンドサービスに使われる言語である Go で、さまざまな大規模言語モデル(LLM)の統合、会話記憶の管理、複数ステップの推論ワークフローのオーケストレーションという複雑さを解決します。

動作方法

このフレームワークは、統一されたインターフェースに基づく、分離されたプラグインアーキテクチャを使用しています。複数のコアコンポーネントを調整します:

  • Agent:モデルとツールを組み合わせてタスクを実行する主要なユニット。
  • ModelProvider:OpenAI、DeepSeek、Gemini などの異なる LLM に簡単に切り替えることができるアダプタ層。コアロジックを変更せずに済みます。
  • Tool:エージェントが現実世界とやり取りするために呼び出せる外部関数(API、データベースなど)。
  • Memory:会話履歴を保存・取得するシステムで、ターン間の文脈を維持します。
  • Chain/Flow:複数のエージェントやステップを連結して、複雑なデータおよび制御フローを構築するメカニズム。
  • Middleware:ログ記録、モニタリング、ガードレールなどの横断的 concerns を処理する「オニオンモデル」チェーン。

対象ユーザー

生産環境向けの AI エージェント、会話型アプリケーション、または複雑な AI ワークフローを、自然な Go コードベースで構築したい Go 開発者。

特徴

  • Go の自然さ:シンプルさと拡張性を重視し、Go 開発者にとって馴染みやすい設計。
  • プラグイン可能なモデルModelProvider インターフェースを介して、簡単に LLM プロバイダを切り替え可能。
  • マルチモーダル対応:マルチモーダル AI エージェントフレームワークとして設計。
  • スキルのインジェクション:Agent Skill 標準に従い、ディレクトリまたは埋め込みファイルシステムからエージェントスキルを読み込み可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト