Skip to main content

AI Agentについて

🤖 AI Agent とは?

AI Agentとは、自律的に状況を判断しタスクを実行できるプログラムのことです。

従来のチャットボットと異なり、AI Agentは以下のような特徴を持ちます:

  • 目標を理解し、それを達成するための計画を立てる
  • 外部ツール(今回ではJPYC SDKなど)やAPIを使用して情報を取得したり、アクションを実行する
  • 状況に応じて柔軟に判断し、行動を調整する
  • 複数のステップを経て、複雑なタスクを完遂する

🆚 チャットボット vs AI Agent

従来のチャットボットとAI Agentの違いを見てみましょう:

チャットボット

  • 事前に定義されたシナリオに沿って応答
  • 単純な質問応答のみ
  • 外部システムとの連携が限定的
  • 能動的な行動ができない

AI Agent

  • 状況を理解し、自律的に判断
  • 複雑なタスクを計画・実行
  • 外部ツールを自由に使用
  • 目標達成のために能動的に行動

🧠 AI Agent のアーキテクチャ

AI Agentは、一般的に以下のコンポーネントで構成されます:

1. 言語モデル(LLM)

AI Agentの「脳」にあたる部分です。
ユーザーの意図を理解し、適切な行動を決定します。

このプロジェクトでは、Claude(Anthropic社の大規模言語モデル)を使用します。

2. ツール(Tools)

AI Agentが実行できる具体的な機能です。

例えば以下のようなものがそれにあたります。

  • Web検索
  • データベースへのクエリ
  • APIの呼び出し
  • ファイル操作

このプロジェクトでは、JPYCの残高確認や送信などがツールになります。

3. メモリ(Memory)

過去の会話やアクションを記憶する機能です。
これにより、文脈を理解した応答が可能になります。

4. プランナー(Planner)

複雑なタスクを小さなステップに分解し、実行順序を決定します。

🔄 AI Agent の動作フロー

AI Agentは、以下のようなループで動作します:

  1. 入力の理解
    ユーザーからの指示を解析

  2. 計画の立案
    目標を達成するための手順を決定

  3. ツールの実行
    必要なツールを呼び出す

  4. 結果の評価
    実行結果を確認し、次のアクションを決定

  5. 応答の生成
    ユーザーに結果を報告

このサイクルを、目標が達成されるまで繰り返します。

💬 具体例:JPYC 送信の場合

ユーザーが「太郎さんに100 JPYC送って」と指示した場合:

1. 入力の理解
→ 「送信」というアクションが必要
→ 送信先:太郎さん
→ 送信額:100 JPYC

2. 計画の立案
Step 1: 太郎さんのウォレットアドレスを取得
Step 2: 送信を実行
Step 3: 結果をユーザーに報告

3. ツールの実行
- アドレス帳ツールで太郎さんのアドレスを検索
- 送信ツールで送信を実行

4. 結果の評価
- 送信が成功したかを確認
- エラーがあれば原因を特定

5. 応答の生成
「太郎さん(0x123...)に100 JPYCを送信しました。
トランザクションID: 0xabc...」

🎯 AI Agent のユースケース

AI Agentは、様々な分野で活用されています:

web3・ブロックチェーン

  • 自動取引(トレーディングBot)

業務自動化

  • カスタマーサポート
  • データ分析とレポート作成
  • スケジュール管理

パーソナルアシスタント

  • メール管理
  • 情報収集と要約
  • タスク管理

🔧 AI Agent 開発の課題

AI Agentを開発する際には、以下のような課題があります:

1. ツールの統合

様々なAPIやサービスをAI Agentに組み込むのは複雑です。

解決策:MCP(Model Context Protocol)のような標準化されたプロトコルを使用

2. エラーハンドリング

外部ツールの実行は失敗する可能性があります。

解決策:適切なエラーハンドリングとリトライロジックの実装

3. セキュリティ

AI Agentに強力な権限を与えると、悪用のリスクがあります。

解決策:権限の最小化、操作の承認フロー、監査ログの記録、外部ルール呼び出し時の認可機能追加

4. 信頼性

LLMの出力は常に正確とは限りません。

解決策:重要な操作には確認ステップを挟む、出力の検証

次のレッスンでは、AI AgentとツールをつなぐMCP(Model Context Protocol)について学びます!

🙋‍♂️ 質問する

ここまでの作業で何かわからないことがある場合は、Discordの#jpycで質問をしてください。

ヘルプをするときのフローが円滑になるので、エラーレポートには下記の4点を記載してください ✨

  1. 質問が関連しているセクション番号とレッスン番号
  2. 何をしようとしていたか
  3. エラー文をコピー&ペースト
  4. エラー画面のスクリーンショット

次のレッスンでは、MCPについて学びます!