「DeFi Agentを構築したい」——言葉にするのは簡単ですが、実際に座って始めようとすると、多くの人はどこから始めればよいかわかりません:どのフレームワークを使うか?ウォレットをどのように設定するか?秘密鍵をどこに保存するか?最初のツールは何を書くべきか?
この記事はゼロから最初のオンチェーンAgentを構築するための最小限実行可能なアーキテクチャを直接実行できるロードマップとして提供します。目標は2日以内にテストネットで実行できるAgentを持つことです。
最初のコードを書く前に、明確に答えられるべき3つの質問があります——それらの答えが技術選択を決定します:
質問1:AgentはどのチェーンでGAS実行しますか?
最も重要な最初の決定です。イーサリアムメインネットのGas費用は初心者には高すぎます——1回のテストリバランス操作に$5-20かかる可能性があり、デバッグコストが非常に高くなります。強く推奨:最初のオンチェーンAgentはBaseまたはSepolia(イーサリアムテストネット)上で構築します。BaseはイーサリアムのL2で、Gas費用はメインネットの1/100です;DeFiエコシステムも十分に豊富(Aave・Compoundの両方にBase版がある)——初心者の最初のAgentに最適です。
質問2:Agentは具体的に何をしますか?
「DeFi戦略Agent」は曖昧すぎます。最初のAgentは非常に具体的で範囲の狭いタスクを持つべきです。推奨される最初のタスク:「30分ごとにAaveとMorphoのUSDCレートを照会し、スプレッドが0.5%を超えたらTelegram通知を送信する(リバランスを自動実行しない)」。このタスクは読み取り専用操作のみで(オンチェーンリスクなし)・検証可能な出力があり(Telegram通知)・ツール関数設計・Context管理・Agentフレームワーク使用を練習できますが、バグによって資金を失うことはありません。
質問3:あなたの安全境界は何ですか?
自動実行機能を追加する前に決定します:最大単回操作金額($50-100 USDCから始めることを推奨);ホワイトリストのプロトコル(1〜2つのみ);自動実行をトリガーする条件;人間の確認が必要か(最初のバージョンにはTelegramの人間確認メカニズムを追加することを強く推奨)。
最初のオンチェーンAgentには、以下のPython中心の技術スタックを推奨します:
Agentフレームワーク:LangChain + LangGraph。LangChainはツールラッピング・メモリ管理・LLM統合のインフラを提供;LangGraphは有向グラフのAgent実行フロー制御を提供し、「読み取り→分析→確認→実行」のステップ分離を正確に定義できます。インストール:`pip install langchain langgraph`。
LLM:Claude SonnetまたはGPT-4o mini。最初のAgentのタスク(レート比較+決策)には、Claude Sonnetがパフォーマンスとコストのバランスが良い選択です($3/百万入力トークン);予算が限られている場合はGPT-4o miniも使えます($0.15/百万入力トークン)。
ブロックチェーンインタラクション:Web3.py。Pythonの標準イーサリアムライブラリ。インストール:`pip install web3`。BaseチェーンのRPCノードにはAlchemy(無料層:1日300リクエスト)またはBaseの公式RPC(`https://mainnet.base.org`)を使用できます。
デプロイ環境:Railway。最も簡単なPythonアプリケーションのデプロイ体験を提供(GitHubリポジトリから直接デプロイ、5分で完了)。環境変数をサポート(APIキーと秘密鍵をコードにハードコードせずに保存)。
通知システム:Telegram Bot。`python-telegram-bot`ライブラリでTelegram Botを構築;数行のコードでAgentがレート比較の結果と決定をTelegramに送信できます。
「USDC レートモニタリング + Telegram通知Agent」を例に、最小限実行可能なアーキテクチャを説明します:
ディレクトリ構造:
defi-rate-agent/ ├── main.py(メインプログラム)├── tools/ │ ├── get_rates.py(AaveとMorpho APY照会ツール関数)│ └── notify.py(Telegram通知送信ツール関数)├── agent/ │ └── graph.py(LangGraphグラフ定義)├── .env(APIキー、Gitにコミットしない)└── railway.toml(Railwayデプロイ設定)
コアフロー設計(LangGraphグラフ):
グラフには3つのノードがあります:`fetch_rates`(AaveとMorphoから現在のUSDC APYを取得)→ `analyze`(LLMの推論:スプレッドを計算し通知すべきか判断)→ `notify`(スプレッドが閾値を超えた場合、Telegram通知を送信)。
analyzeノードのSystem Promptにグラウンディングルールを追加:「引用するすべてのレート数値はfetch_ratesツールの返却データから来なければなりません;fetch_ratesが失敗を返した場合は、ABORTを出力してこのサイクルを終了します。」
ツール関数設計(get_rates.py):
DeFiLlamaのAPI(無料、APIキー不要)を呼び出してAaveとMorphoのBase上のUSDC APYを取得;数値の合理性検証を行い(APY > 30%は異常として扱い、最後のキャッシュ値を使用);自然言語文字列を返します:「Aave USDC APY: 4.2%、Morpho USDC APY: 5.1%、スプレッド: 0.9%(照会時刻: 2026-06-29 03:12:44 UTC)」。JSONではなく自然言語文字列を返すことで、LLMの解析エラーリスクを減らします。
コードセキュリティ:
`.env`ファイルが`.gitignore`に追加されている(秘密鍵とAPIキーがGitHubにアップロードされないことを確認);すべてのAPIキーと秘密鍵が環境変数から読み込まれ、コードにハードコードされていない;コードで「0x」を検索——アドレスや秘密鍵がハードコードされていないことを確認。
ツール関数のセキュリティ:
読み取りツールの返却値にオンチェーン操作をトリガーする関数が含まれていない;ツール返却値に合理性検証がある;すべてのツール呼び出しにタイムアウト設定がある。
Agentの動作:
System Promptに「データグラウンディングルール」がある;最大ループ回数の上限が設定されている;ログ記録があり「Agentの最後の実行で何をしたか」に答えられる。
最初のデプロイ前のテスト:
まずローカルで1回実行し、AgentがAPIを正常に照会してTelegram通知を送信できることを確認;LLMの完全なThought出力を印刷し、ツールが返した数値を引用していることを確認;「APIタイムアウト」シナリオをテストし、Agentの動作が「失敗ログ+停止」であることを確認。
最初のオンチェーンAgentは複雑である必要はありませんが、正しいアーキテクチャが必要です——初日から読み取り/書き込みの分離・データグラウンディング・ログ記録に正しく設計されたAgentは、後から自動実行機能を追加するときの安全な拡張コストが、「とりあえず素早く作った」Agentよりはるかに低くなります。
「まず読み取り+通知、次第に自動実行を追加する」ルートは安全上の考慮だけでなく、「役に立つAgent」への最速ルートでもあります。この最小限実行可能なバージョンから始めて、毎週1つの機能を追加すると、3〜4週間後には完全なDeFi戦略Agentができあがります。