5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Solana Agent Kit v2(SAK v2)は、Solana 上でのトークン・NFT・DeFi 操作などを AI エージェントが自律的に実行できるよう設計されたモジュール型ツールキットです。本記事では、SAK のアーキテクチャをエンジニア視点で端的に解説します。

全体構成図(概念)

1. Core: エージェント本体

SolanaAgentKit クラスが中核です。以下を担当します。

  • ウォレットインターフェース管理(署名、送信)
  • RPC 経由での Solana 接続
  • プラグインの登録とアクション呼び出し
  • AI ツールへのエクスポート(LangChain / Vercel SDK)
const agent = new SolanaAgentKit(wallet, RPC_URL).use(TokenPlugin);

2. Wallet レイヤー

Core はウォレット抽象化レイヤーを持ち、以下をサポートします。

  • KeypairWallet: ローカルの秘密鍵
  • Privy: 人間の承認を挟む Embedded Wallet
  • Turnkey: ポリシーベースの埋め込み型署名基盤

これにより秘密鍵を一切コードに含めず、安全に署名が可能です。

3. Plugin System

機能はすべてプラグインとして分離されており、必要なものだけ .use() で読み込みます。

  • TokenPlugin: トークン発行・送金・残高取得など
  • NFTPlugin: Metaplex 準拠の NFT 管理
  • DeFiPlugin: Jupiter/Drift などの DeFi 統合
  • BlinksPlugin: ゲームや送金ブリンク対応
  • MiscPlugin: ドメイン解決、価格取得など補助機能

各プラグインは、内部的にagent.actionsにアクションを追加します。

4. Action Execution レイヤー

プラグインが登録した「アクション」は、すべて以下の形式を持ちます。

  • name: アクション名(例:TRANSFER_ACTION
  • description: LLM 向けの説明文
  • run: 実行ロジック(Solana SDK 呼び出し)

この構造により、LangChain ツールや Claude の MCP 経由で自然言語から直接アクションを呼び出せます

5. Adapter 層

Claude や n8n など、外部エージェントとの接続を担います。

  • @solana-agent-kit/adapter-mcp: Claude Desktop 連携用の MCP サーバー
  • n8n-nodes-solana-agent: ノーコードオートメーションツール「n8n」との接続

MCP サーバー例:

startMcpServer({
  BALANCE_ACTION: agent.actions.find(a => a.name === "BALANCE_ACTION"),
  TRANSFER_ACTION: ...
}, agent);

まとめ

Solana Agent Kit v2 のアーキテクチャは、以下の思想で構築されています。

  • LLM 最適化:不要なツールを読み込まないモジュール構成
  • 安全性強化:署名処理を抽象化し、鍵の直接操作を不要に
  • 拡張性と統合性:LangChain、Claude、n8n などと即時統合可能

開発者は、必要なプラグインとウォレットを組み合わせて使うだけで、AI×Solana の強力な実行環境を構築できます。


ご希望があれば、各プラグインの内部構造やアクション定義の実装例まで踏み込んだ連載記事化も可能です。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?