Crypto AI Agentをローカル環境で動かしてみる。Eliza - Crypto AI Agentの開発フレームワーク
こんにちは!Web3特化の開発会社 Komlock Lab CTOの山口なつきです。
今回は、AIエージェントのOSSフレームワーク「Eliza」の学習メモを共有します。
最近「Crypto x AI Agent」が話題ですが、僕はブロックチェーン上での決済機能を持つAIエージェントに、DeFiに匹敵する可能性を感じています。今後はこの分野での情報発信を強化し、社内のメンバーとも共有していく予定です。興味のある方はぜひフォローしてください。
Crypto AI Agent 初めて聞いた!という方は、miinさんの記事を読むことをお勧めします。2024年12月時点のCrypto X AI Agentのトレンドやユースケースを理解することができます。
Elizaの紹介
公式ドキュメント: https://ai16z.github.io/eliza/
Eliza は、自律型 AI エージェントを作成、展開、管理するために設計された強力なマルチエージェント シミュレーション フレームワークです。TypeScript で構築されており、一貫した性格と知識を維持しながら複数のプラットフォーム間で対話できるインテリジェント エージェントを開発するための柔軟で拡張可能なプラットフォームを提供します。
Elizaを使用するとオリジナルな人格を持つAI Agentを簡単にデプロイすることができます。そのAgentは様々なメディアと接続して設定の範囲内で自由に行動(投稿/分析/トレードなど)します。外部サービスとの接続を自由に拡張できるので、Agentの機能は開発者次第で大きく変わります。
AI Agent Lunaをチェックするとイメージが湧くと思います。
以下が主要機能です。
マルチエージェントアーキテクチャ: 複数のユニークなAIパーソナリティを同時に展開・管理。
キャラクターシステム: 独自のキャラクターファイルを活用したエージェント開発。
高度なメモリ管理: RAG(Retrieval Augmented Generation)で長期記憶とコンテキストを維持。
マルチプラットフォーム対応: Discord、Twitter、Telegram、APIを統合。
ブロックチェーン対応: トランザクションを自動実行可能。
余談ですが、公式リポジトリを見るとデフォルトでtrump.character.jsonというファイルがあり、トランプ大統領のキャラクタープロフィールが定義されています🗽
自動トレード機能
Elizaを他の汎用AI Agentと差別化する機能の一つが、ブロックチェーンの自動実行機能です。AIが自身で判断して、トランザクションを自動で実行することが可能です。
Advanced Topic(上級者編)として自動トレード機能が紹介されています。
Solanaブロックチェーン上のDEXでトークンの自動取引を実行するためのコードがサンプルとして提供されています。
Eliza の自律取引システムは、Solana ブロックチェーン上での自動トークン取引を可能にします。このシステムは、効率的なスワップのために Jupiter アグリゲータと統合され、スマートな注文ルーティングを実装し、リスク管理機能を備えて
https://ai16z.github.io/eliza/docs/advanced/autonomous-trading/
実際に動かしてみる
Eliza開発関係のリンク集 - awesome-eliza
実行環境
Python 2.7+
Node.js 23+
pnpm
推奨されているテンプレート「eliza-starter」を使用
git clone https://github.com/ai16z/eliza-starter.git
cp .env.example .env
pnpm
.envファイルに環境変数を設定
例:
+DISCORD_APPLICATION_ID="000000772361146438"
+DISCORD_API_TOKEN="OTk1MTU1NzcyMzYxMT000000.000000.00000000000000000000000000000000"
...
+OPENROUTER_API_KEY="sk-xx-xx-xxx"
...
+TWITTER_USERNAME="username"
+TWITTER_PASSWORD="password"
+TWITTER_EMAIL="your@email.com"
※OpenRouterについて
接続する任意の外部サービスを指定
# characters/trump.character.json
"clients": ["twitter"]
trumpさんをキャラクタープロフィールとして指定
pnpm start --characters="characters/trump.character.json"
早速エラーが起きたので、修正
今回は、openrouterをAIエンジンのプロバイダーとして使うので、character.jsonの"modelProvider"の設定を"openai"から"openrouter"に変更。
この状態でもう一度pnpm startを実行すると、正常に動きます。
AIモデルは環境変数から、指定することが可能です。
TwitterにAIが自動で投稿する様子。
「ならず者や急進的な左翼の無政府主義者たちは、都市を無秩序に焼き払うことを許された。私たちは法と秩序を取り戻す!」
今回は.envでTwitterの投稿頻度を1−3分に一回と設定したので、勝手に投稿を繰り返してくれます。
#POST INTERVAL RANDOM MIN-MAX MINUTES
POST_INTERVAL_MIN=1 #90 #Default
POST_INTERVAL_MAX=3 #180 #Default
実際にAIが自動でツイートしていく様子
指定したTwitterアカウントの投稿をスクレイピングしてAIに読み込ませたりもできるツールが公開されているので、是非チェックしてみてください。
ブロックチェーン関係の操作(次回予告)
Crypto AI Agentの基礎機能をローカル開発環境で起動して、SNSに自動投稿することができました。
次回はElizaのブロックチェーン関連のプラグインを有効にして実際にトランザクションを実行するところ(例:Solana上のDEX「Jupiter」でswapを実行する等)まで、実装したいと思います。
公式リポジトリのプラグインを確認すると、aptosやICPなど様々なネットワークやトークンに対応していそうで面白いです。是非皆さんも試してみてください。
Komlock lab エンジニア募集中
Web3の未来を共創していきたいメンバーを募集しています!!
気軽にDM等でお声がけください。
個人アカウント
Komlock labの企業アカウント
PR記事とCEOの創業ブログ
Discussion