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 標準に従い、ディレクトリまたは埋め込みファイルシステムからエージェントスキルを読み込み可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト