Warden エージェントビルダー
Warden ProtocolのAgentic Walletエコシステム向けにLangGraphエージェントを構築およびデプロイします。
⚠️ 重要: サンプルエージェントについて
Wardenコミュニティリポジトリには、学習用のサンプルエージェントが含まれており、テンプレートとして再作成するものではありません。
- Weather Agent - シンプルなデータ取得パターンを学ぶために学習
- CoinGecko Agent - スキーマガイド付き推論(SGR)を学ぶために学習
- Portfolio Agent - 複雑なマルチソース統合を学ぶために学習
これらのエージェントは構築しないでください - 既に存在します。代わりに以下のようにしてください:
- コードを学習してパターンを理解する
- アーキテクチャとワークフローから学ぶ
- インセンティブプログラムに向けて新しいオリジナルのエージェントを構築する
あなたのエージェントはユニークで、異なる問題を解決する必要があります。そうでなければインセンティブプログラムの対象外となります。
概要
Warden Protocolは「Do-It-For-Me経済のためのAgentic Wallet」であり、WardenにデプロイされたOpenClawエージェントを対象としたアクティブなAgent Builderインセンティブプログラムが実施されています。すべてのエージェントはLangGraphベースでAPIからアクセス可能である必要があります。
主要リソース:
- コミュニティエージェントリポジトリ: https://github.com/warden-protocol/community-agents
- ドキュメント: https://docs.wardenprotocol.org
- Discord: #developersチャンネル(サポート用)
要件チェックリスト
構築前に、エージェントが以下の必須要件を満たしていることを確認してください:
✓ フレームワーク: LangGraphで構築(TypeScriptまたはPython) ✓ デプロイメント: LangSmith Deployments または カスタムインフラ ✓ アクセス: APIアクセス可能(UIは不要 - WardenがUIを提供) ✓ 分離: LangGraphインスタンスごとに1つのエージェント ✓ セキュリティ制限(フェーズ1):
- ユーザーウォレットにアクセス不可
- Wardenインフラにデータを保存不可
✓ 機能: 以下の任意のワークフローを実装可能:
- Web3/Web2自動化
- API統合
- データベース接続
- 外部ツール連携
サンプルエージェントの理解
コミュニティエージェントリポジトリには、再作成するテンプレートではなく、学習のためのリファレンス例が含まれています。
サンプルエージェント1: LangGraph Quick Start(基本を学習)
場所: agents/langgraph-quick-start(TypeScript)または agents/langgraph-quick-start-py(Python)
学習: LangGraphの基礎、最小限のエージェント構造
学習対象: OpenAI統合を備えたシングルノードチャットボット
git clone https://github.com/warden-protocol/community-agents.git
cd community-agents/agents/langgraph-quick-start
サンプルエージェント2: Weather Agent(構造を学習)
場所: agents/weather-agent
学習: シンプルなデータ取得、API統合、ユーザーフレンドリーな応答
学習対象:
- 外部API(WeatherAPI)からのデータ取得方法
- 結果の処理とフォーマット
- 明確なスコープと構造 ⚠️ 構築しないでください: これは既に存在します。学習した上で、新しいものを構築してください。
サンプルエージェント3: CoinGecko Agent(SGRパターンを学習)
場所: agents/coingecko-agent
学習: スキーマガイド付き推論、複雑なワークフロー
学習対象:
- 5ステップのSGRワークフロー: 検証 → 抽出 → 取得 → 検証 → 分析
- 比較分析パターン
- エラーハンドリングとデータ検証 ⚠️ 構築しないでください: これは既に存在します。パターンを学習して新しいユースケースに適用してください。
サンプルエージェント4: Portfolio Analysis Agent(高度なパターンを学習)
場所: agents/portfolio-agent
学習: マルチソースデータ統合、プロダクションアーキテクチャ
学習対象:
- 複数APIの統合(CoinGecko + Alchemy)
- マルチチェーンサポート(EVMとSolana)
- 複雑なSGRワークフロー
- 包括的なレポート生成 ⚠️ 構築しないでください: これは既に存在します。独自の複雑なエージェントのためにアーキテクチャを学習してください。
重要: 新しいものを構築する
これらのサンプルはパターンとベストプラクティスを教えるために存在します。インセンティブプログラムでは、異なる問題を解決するオリジナルでユニークなエージェントを作成する必要があります。Weather Agent、CoinGecko Agent、Portfolio Agentを単に再作成しないでください。
オリジナルエージェントの構築
ステップ1: サンプルを学習し、アプローチを選択する
サンプルを変更するためにクローンしないでください。代わりに以下のようにします:
-
サンプルを学習してパターンを理解する:
- シンプルなデータ取得 → Weather Agentを学習
- 複雑な分析 → CoinGecko Agentを学習
- マルチソース統合 → Portfolio Agentを学習
-
独自のユースケースを特定する:
- あなたのエージェントはどの問題を解決しますか?
- どのAPIやデータソースを使用しますか?
- 既存のエージェントと何が違いますか?
-
エージェントのワークフローを計画する:
- 単純なリクエスト応答?
- スキーマガイド付き推論(SGR)?
- マルチステップ分析?
ステップ2: 新しいエージェントを初期化する
初期化スクリプトを使用して新しいプロジェクトを作成します:
# 独自のエージェントを作成
python scripts/init-agent.py my-unique-agent \
--template typescript \
--description "あなたのエージェントが何をするかの説明"
# プロジェクトに移動
cd my-unique-agent
# 依存関係をインストール
npm install # TypeScript
# OR
pip install -r requirements.txt # Python
これにより、既存のエージェントのコピーではなく、クリーンな出発点が作成されます。
ステップ3: LangGraphエージェントの構造を理解する
すべてのLangGraphエージェントは以下の基本構造に従います:
your-agent/
├── src/
│ ├── agent.ts/py # メインエージェントロジック(あなたのコード)
│ ├── graph.ts/py # LangGraphワークフロー定義(あなたのコード)
│ └── tools.ts/py # ツール実装(あなたのコード)
├── package.json / requirements.txt
├── langgraph.json # LangGraph設定
└── README.md
実装すべき主要ファイル:
graph.ts/py- ワークフローを定義(検証 → 処理 → 応答)agent.ts/py- コアロジックを実装tools.ts/py- エージェントの目的に固有の外部APIを統合
ステップ4: カスタムエージェントロジックを実装する
サンプルからパターンを学習し、あなたのユースケースに適用してください:
シンプルなデータ取得の場合(Weather Agentパターンのように):
// ワークフローを定義
const workflow = new StateGraph({
channels: agentState
})
.addNode("fetch", fetchYourData) // あなたのAPI
.addNode("process", processYourData) // あなたのロジック
.addNode("respond", generateResponse);
workflow
.addEdge(START, "fetch")
.addEdge("fetch", "process")
.addEdge("process", "respond")
.addEdge("respond", END);
複雑な分析の場合(CoinGecko Agentパターン - SGRのように):
// 5ステップSGRワークフローを定義
const workflow = new StateGraph({
channels: agentState
})
.addNode("validate", validateYourInput) // あなたの検証
.addNode("extract", extractYourParams) // あなたの抽出
.addNode("fetch", fetchYourData) // あなたのAPI
.addNode("analyze", analyzeYourData) // あなたの分析
.addNode("generate", generateYourResponse); // あなたのフォーマット
workflow
.addEdge(START, "validate")
.addEdge("validate", "extract")
.addEdge("extract", "fetch")
.addEdge("fetch", "analyze")
.addEdge("analyze", "generate")
.addEdge("generate", END);
主要原則:
- ワークフローは線形かつ予測可能に保つ
- 各段階で入力を検証する
- エラーを適切に処理する
- OpenAIを自然言語生成に使用する
- 応答を一貫した構造にする
重要: これは、サンプルエージェントのコピーではなく、あなたの問題を解決するあなたの実装である必要があります。
ステップ5: 環境を設定する
.envファイルを作成:
# 必須
OPENAI_API_KEY=your_openai_key
# LangSmith Deployments(クラウド)に必須
LANGSMITH_API_KEY=your_langsmith_key
# オプション - ツールに基づく
WEATHER_API_KEY=your_weather_key
COINGECKO_API_KEY=your_coingecko_key
ALCHEMY_API_KEY=your_alchemy_key
LangSmith APIキーの取得:
- https://smith.langchain.com でアカウントを作成
- 設定 → APIキーに移動
- 新しいAPIキーを作成
.envファイルに追加
langgraph.jsonを更新:
{
"agent_id": "[あなたのエージェント名]",
"python_version": "3.11", // TypeScriptの場合は省略
"dependencies": ["."],
"graphs": {
"agent": "./src/graph.ts" // または .py
},
"env": ".env"
}
ステップ6: ローカルでテストする
# TypeScript
npm run dev
# Python
langgraph dev
エージェントのAPIをテスト:
curl -X POST http://localhost:8000/invoke \
-H "Content-Type: application/json" \
-d '{"input": "テストクエリ"}'
デプロイオプション
オプション1: LangSmith Deployments(推奨)
利点: 最速、最もシンプル、管理されたインフラ 要件: LangSmith APIキー
手順:
1. エージェントリポジトリをGitHubにプッシュします。
2. LangSmith Deploymentsで新しいデプロイメントを作成します。
3. リポジトリを接続し、環境変数を設定してデプロイします。
エージェントには以下が提供されます:
- APIエンドポイントURL
- 自動認証(LangSmith APIキーを使用)
- 自動スケーリングと監視
API呼び出しの認証: デプロイされたエージェントを呼び出す際は、LangSmith APIキーを含めます:
curl AGENT_URL/runs/wait \
--request POST \
--header 'Content-Type: application/json' \
--header 'x-api-key: [あなたのLangSmith APIキー]' \
--data '{
"assistant_id": "[あなたのエージェントID]",
"input": {
"messages": [{"role": "user", "content": "テストクエリ"}]
}
}'
オプション2: セルフホストインフラ
利点: ランタイムを完全に制御 要件:
- Dockerコンテナホスティング
- 公開されたAPIエンドポイント
- SSL証明書(HTTPS)
- 監視とロギング
基本Docker設定:
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8000
CMD ["npm", "start"]
デプロイして以下をメモ:
- API URL:
https://your-domain.com/agent - APIキー: 認証用に生成
Warden Studioに登録する
エージェントがデプロイされHTTPSで到達可能になったら、Warden Studioに登録します:
-
API詳細を提供:
- API URL
- APIキー
-
メタデータを追加:
- エージェント名
- 説明
- スキル/機能リスト
- アバター画像
-
公開: エージェントがWardenのAgent Hubに表示され、何百万ものユーザーが利用可能になります
追加の設定は不要です - APIアクセス可能なエージェントの準備は完了です!
次のステップ(別のスキル): ユーザーがWarden Studioへの公開やガイド付きUI手順を求めた場合は、OpenClawスキル 「Deploy Agent on Warden Studio」 に切り替えてください: https://www.clawhub.ai/Kryptopaid/warden-studio-deploy
ベストプラクティス
1. エージェント設計
- Weather Agentの構造を学習してパターンを理解する
- 複雑なワークフローにはスキーマガイド付き推論を使用する
- 応答は簡潔で実用的に保つ
- API障害を適切に処理する
- すべての入力を検証する
2. API統合
- APIキーには環境変数を使用する
- レート制限を実装する
- 適切な場合に応答をキャッシュする
- デバッグ用にエラーをログに記録する
- 構造化されたJSON応答を返す
3. テスト
- デプロイ前にローカルでテストする
- すべてのAPIエンドポイントが動作することを確認する
- エッジケースとエラーをテストする
- 応答がユーザーフレンドリーであることを確認する
- Wardenの要件に対して検証する
4. ドキュメント
- 明確なREADMEを作成し、以下を含める:
- エージェントの目的と機能
- 必要なAPIキー
- セットアップ手順
- クエリ例
- 既知の制限事項
共通パターン
パターン1: シンプルなデータ取得
// 取得 → フォーマット → 応答
async function agent(input: string) {
const data = await fetchAPI(input);
const formatted = formatData(data);
return generateResponse(formatted);
}
パターン2: マルチステップ分析
// 検証 → 抽出 → 取得 → 分析 → 生成
async function agent(input: string) {
const validated = await validateInput(input);
const params = await extractParams(validated);
const data = await fetchData(params);
const analysis = await analyzeData(data);
return generateReport(analysis);
}
パターン3: 比較分析
// 解析 → 複数取得 → 比較 → 要約
async function agent(input: string) {
const items = await parseItems(input);
const dataArray = await Promise.all(
items.map(item => fetchData(item))
);
const comparison = compareData(dataArray);
return generateComparison(comparison);
}
トラブルシューティング
よくある問題
「APIからエージェントにアクセスできません」
- デプロイが正常に完了したか確認
- ファイアウォール/セキュリティグループの設定を確認
- APIエンドポイントが公開アクセス可能か確認
- curlまたはPostmanでテスト
「ビルド中のLangGraphエラー」
- Node.jsバージョン(18+)またはPython(3.11+)を確認
- すべての依存関係がインストールされているか確認
- langgraph.jsonの構文を検証
- デプロイコンソールのエラーログを確認
「OpenAI APIエラー」
- APIキーが有効か確認
- レート制限を超えていないか確認
- 十分なクレジットがあるか確認
- 詳細についてはエラーメッセージを確認
「エージェントの応答が遅い」
- API呼び出しを最適化(可能な場合は並列化)
- 繰り返しのクエリにはキャッシュを実装
- LLMトークン使用量を削減
- インフラのアップグレードを検討
インセンティブプログラムのヒント
このインセンティブプログラムは、WardenにデプロイするOpenClawエージェントを対象としています。
-
オリジナルであれ: まだ存在しない新しいものを作成する
- Weather Agent、CoinGecko Agent、Portfolio Agentを再作成しない
- それらのパターンを学習し、異なる問題に適用する
-
実際の問題を解決する: 有用でユニークな機能に焦点を当てる
- Wardenエコシステムにどのようなギャップがあるか?
- ユーザーが実際に必要とするものは何か?
-
シンプルに始める: 1つのことを非常にうまく行う方が良い
- すべてを一度に構築しようとしない
- シンプルで焦点を絞ったエージェントがしばしば勝つ
-
機能よりも品質: 信頼性は複雑さに勝る
- 徹底的にテストする
- エラーを適切に処理する
- 明確で役立つ応答を提供する
-
サンプルを学習する: パターンを学び、実装をコピーしない
- Weather Agent → シンプルなデータ取得パターン
- CoinGecko Agent → SGRワークフローパターン
- Portfolio Agent → マルチソース統合パターン
-
十分に文書化する: 例とセットアップ手順を含む明確なREADME
-
Discordに参加する: 提出前に#developersチャンネルでフィードバックを得る
エージェントアイデア例(これらを構築してください!)
これらはWardenエコシステムにまだ存在しない新しいエージェントアイデアです。これらの1つ(または独自のユニークなアイデア)を構築してください:
Web3ユースケース:
- ガス料金最適化ツール(予測と取引スケジュール)
- DeFiポートフォリオリバランサーモニター
- クロスチェーンアドレス解決エージェント
Web2ユースケース:
- ソーシャルメディア分析エージェント
- 価格アラートアグリゲーター
- データ変換パイプライン
ハイブリッドユースケース:
- 暗号支払いを使用したサブスクリプション管理
- オンチェーンイベント駆動型ワークフローオートメーター
- マルチチェーンID検証サービス