「AIエージェントを業務システムに導入したい」
「生成AIやChatGPTとの違いが分からない」
「AIエージェントを開発するには、どのようなシステム構成が必要?」
「既存の業務システムや社内データと連携できる?」
AIエージェントは、生成AIに質問して回答を受け取るだけではなく、目的に応じて必要な情報を取得し、外部ツールやAPIを利用しながら複数の処理を進める仕組みです。
例えば営業担当者が、
明日のABC社との商談準備をして
と依頼すると、
顧客を特定
↓
CRMから顧客情報を取得
↓
過去の商談履歴を確認
↓
関連する提案資料を検索
↓
現在の課題を整理
↓
次回確認事項を作成
といった複数の処理を実行するシステムを構築できます。
Google Cloudでも、AIエージェントは外部データを利用しながら、自律的な判断や複数ステップのワークフローを処理する用途に適していると説明されています。
ただし、すべての業務をAIエージェント化すればよいわけではありません。
定型処理は通常のプログラム、曖昧な判断はAI、重要な操作は人が承認するなど、適切に役割を分けることが重要です。
この記事では、AIエージェント開発の仕組み、システム構成、開発手順、活用例、本番運用で注意すべきポイントまで解説します。
AIエージェントとは
AIエージェントとは、与えられた目的を達成するために、必要な情報やツールを選びながら処理を進めるAIシステムです。
一般的な生成AIは、
ユーザー
↓
質問
↓
生成AI
↓
回答
という構成が中心です。
AIエージェントでは、
ユーザー
↓
目的を指示
↓
AIが必要な処理を判断
↓
ツールを実行
↓
結果を確認
↓
次の処理を判断
↓
最終結果
となります。
大きな違いは、
回答する
だけではなく、
目的達成のために行動する
点です。
AIエージェントの具体例
例えば、
先月の問い合わせ状況を調べて、
問題点をまとめてください
と依頼するとします。
通常の生成AIには、問い合わせ管理システムのデータがありません。
AIエージェントでは、
1.問い合わせ管理APIを実行
2.先月の問い合わせを取得
3.カテゴリ別に集計
4.重要な問い合わせを確認
5.傾向を分析
6.結果を文章化
という処理を実行できます。
必要なデータを取得しながら目的を達成する点が特徴です。
AIエージェントと生成AIの違い
両者を整理すると次のようになります。
| 項目 | 生成AI | AIエージェント |
|---|---|---|
| 主な役割 | 回答・文章生成 | 目的達成 |
| 外部データ取得 | 必要に応じて連携 | ツールとして利用 |
| API実行 | 基本機能ではない | 重要な構成要素 |
| 複数ステップ処理 | 限定的 | 得意 |
| 処理ルート | 比較的固定 | 状況により変更可能 |
| 業務システム操作 | 別途実装 | ツールとして組み込み可能 |
| 人による承認 | 別途実装 | ワークフローに組み込める |
例えば、
このメールへの返信を書いて
なら通常の生成AIで十分です。
一方、
この問い合わせに対応して
という指示に対して、
問い合わせ分類
↓
顧客情報確認
↓
契約情報確認
↓
マニュアル検索
↓
返信案作成
↓
担当者へ確認依頼
まで進める場合は、AIエージェントの考え方が適しています。
AIエージェントの基本的なシステム構成
AIエージェントを開発するときは、AIモデルだけではなく複数の要素を組み合わせます。
代表的な構成は次のとおりです。
ユーザー
↓
Web・チャット画面
↓
AIエージェント
├─ LLM
├─ Instructions
├─ Tools
├─ RAG
├─ Memory / State
└─ Guardrails
↓
外部システム
├─ CRM
├─ データベース
├─ メール
├─ Slack
└─ 社内API
OpenAIのエージェント構築ガイドでも、モデル、ツール、指示、オーケストレーション、ガードレールなどがエージェント設計の主要要素として整理されています。
それぞれ詳しく見ていきます。
1.LLM
AIエージェントの判断を担当する部分です。
ユーザーの依頼を理解し、
何をする必要があるか
どのツールを使うか
取得した結果をどう判断するか
を決めます。
通常のプログラムであれば、
if 条件A:
処理B
のように人が条件をすべて定義します。
AIエージェントでは、文章や状況をもとにモデルが判断します。
ただし、正確な計算や重要なデータ更新までLLMへ直接任せる必要はありません。
2.Instructions
AIエージェントへ役割やルールを設定します。
例えば問い合わせ対応エージェントなら、
あなたはカスタマーサポート担当です。
回答するときは社内FAQを確認してください。
分からない場合は推測せず、
担当者へ引き継いでください。
返金については自動判断しないでください。
といったルールです。
ここでは、
- 役割
- 目的
- 禁止事項
- 判断基準
- 出力形式
- 人へ引き継ぐ条件
などを定義します。
3.Tools
AIエージェントの重要な構成要素がToolsです。
AI自身には、社内システムの情報や最新データがありません。
そのため、
顧客情報を取得する
在庫を確認する
メールの下書きを作る
といった機能をツールとして提供します。
例えば、
get_customer(customer_id)
get_inventory(product_id)
search_manual(query)
create_email_draft(customer_id, body)
のような機能です。
AIはユーザーの依頼を確認し、必要なツールを選択します。
AIからデータベースを直接操作させない
例えばAIへ、
データベースを自由に操作してよい
という権限を与える設計は避けた方が安全です。
代わりに、
get_customer()
get_orders()
create_draft()
など、実行できる処理を限定します。
例えば、
AI
↓
「顧客情報が必要」と判断
↓
get_customer()
↓
バックエンド
↓
DB
という構成です。
AIが自由なSQLを生成して本番データベースへ実行するより、制御しやすくなります。
4.RAG
社内独自の文書を参照する場合はRAGを利用できます。
例えば、
- 社内規程
- 商品マニュアル
- FAQ
- 技術資料
- 営業資料
- 過去事例
などです。
問い合わせ
↓
AIエージェント
↓
RAG検索
↓
関連マニュアル取得
↓
回答案生成
とします。
ここで重要なのは、RAGとAPI連携を分けることです。
例えば、
返品可能期間は?
→ RAG
注文1234は発送済み?
→ API・DB
とします。
文書情報はRAG、リアルタイムデータはAPIやデータベースから取得します。
5.Memory・State
AIエージェントが複数ステップの処理を行う場合は、
これまで何をしたか
を管理する必要があります。
例えば、
顧客IDを取得済み
契約情報を取得済み
現在は返信案作成中
といった状態です。
長期間の記憶とは別に、
今回の処理の途中状態
を管理することが重要です。
例えば処理途中でエラーが発生した場合、
最初から全部やり直す
のではなく、
失敗した処理から再開
できる設計も検討します。
6.Guardrails
AIエージェントには、実行できる操作を制限する仕組みが必要です。
例えば、
許可
顧客情報閲覧
商品検索
社内文書検索
メール下書き
に対して、
禁止
顧客削除
返金確定
契約変更
大量メール送信
とします。
AIが高度になったからといって、すべての権限を与える必要はありません。
7.Human in the Loop
AIが処理を進めても、重要な箇所で人に承認を求める設計ができます。
例えば、
AIが問い合わせを解析
↓
返信案を作成
↓
担当者へ承認依頼
↓
承認
↓
送信
です。
特に、
- メール送信
- 契約変更
- データ削除
- 返金
- 支払い
- 個人情報更新
などは、人による確認を残すことを検討します。
AIエージェント開発の構成例
問い合わせ対応AIエージェントを例にします。
ユーザーから問い合わせ
↓
AIエージェント
↓
問い合わせ内容を判断
↓
顧客メールアドレス取得
↓
CRM API
↓
顧客・契約情報取得
↓
RAG
↓
商品マニュアル検索
↓
AIが返信案生成
↓
担当者へ確認依頼
↓
承認
↓
メールAPI
↓
送信
↓
問い合わせ管理DBへ記録
従来は担当者が、
CRM
マニュアル
メール
問い合わせ管理
をそれぞれ開いて作業していたものを、一つのAIエージェントから処理できます。
AIエージェント開発に向いている業務
AIエージェントは、特に次の条件がある業務と相性があります。
- 複数ステップがある
- 毎回処理ルートが少し違う
- 文章を理解する必要がある
- 複数システムから情報を取得する
- 人が現在判断している工程がある
- 例外が多くルールだけでは複雑になる
- 情報を集めて最終成果物を作る
具体的には次のような業務があります。
問い合わせ対応
問い合わせ
↓
分類
↓
顧客確認
↓
FAQ検索
↓
回答案
↓
担当者振り分け
営業支援
商談予定
↓
顧客情報取得
↓
過去商談確認
↓
関連事例検索
↓
商談準備資料作成
社内ヘルプデスク
社員から質問
↓
内容分類
↓
社内規程検索
↓
必要ならシステム情報取得
↓
回答
↓
解決できなければ担当者へ
定期レポート作成
毎週月曜日
↓
各システムからデータ取得
↓
数値集計
↓
AIで分析
↓
報告書作成
↓
Slackへ共有
採用業務
応募
↓
履歴書解析
↓
必要項目取得
↓
求人条件との比較
↓
担当者向け要約
↓
採用管理システムへ登録
ただし、採用可否など重要な判断をAIだけで決定するのではなく、担当者の判断支援として利用します。
AIエージェントを使わない方がよい業務
AIエージェントは便利ですが、単純な処理までエージェント化する必要はありません。
例えば、
CSVを毎朝取得する
売上を合計する
ファイル名を変更する
データをAからBへコピーする
といった業務です。
このような処理は、
- Python
- GAS
- n8n
- RPA
- 通常のバッチ処理
などの方が安定しやすく、低コストです。
Google Cloudの現在の設計ガイドでも、文書要約や分類など事前に処理が決まっているタスクでは、必ずしもエージェント型ワークフローを使う必要はないとしています。
ワークフローとAIエージェントの違い
通常のワークフローは、
A
↓
B
↓
C
↓
D
という処理順を人が決めます。
AIエージェントでは、
目的
↓
状況を確認
↓
Bが必要?
├─ YES → B
└─ NO → C
↓
結果を確認
↓
次の処理を判断
となります。
つまり、
処理順が毎回同じ
→ ワークフロー
状況によって処理方法が変わる
→ AIエージェント
と考えることができます。
最初からマルチエージェントにする必要はない
AIエージェントには、
- シングルエージェント
- マルチエージェント
という構成があります。
シングルエージェントでは、一つのエージェントが複数のツールを利用します。
営業AIエージェント
├─ CRM検索
├─ メール検索
├─ RAG
└─ カレンダー
という構成です。
マルチエージェントでは、
管理エージェント
├─ 営業エージェント
├─ 調査エージェント
└─ 文書作成エージェント
のように役割を分割します。
一見するとマルチエージェントの方が高度ですが、システムは複雑になります。
OpenAIのエージェント構築ガイドでも、まず単一エージェントへ必要なツールを追加し、複雑性を抑えながら構築するアプローチが示されています。
そのため、
最初から5つのAIを連携させる
必要はありません。
まず一つのエージェントで実現できるか検討します。
AIエージェント開発の手順
1.自動化したい目的を決める
最初から、
AIエージェントを作りたい
と考えるのではなく、業務課題から始めます。
例えば、
営業担当者が商談準備に
毎回30分かかっている
という課題です。
目標を、
商談準備時間を
30分から5分へ短縮する
とします。
2.現在の業務フローを整理する
例えば、
カレンダー確認
↓
顧客を確認
↓
CRM検索
↓
過去商談確認
↓
メール確認
↓
関連資料検索
↓
商談メモ作成
とします。
3.AIが必要な工程を特定する
各処理を、
AI
プログラム
人
へ分けます。
例えば、
顧客情報取得
→ API
過去商談要約
→ AI
売上集計
→ プログラム
次回確認事項作成
→ AI
最終確認
→ 人
とします。
4.必要なToolsを定義する
AIエージェントが実行できる機能を整理します。
例えば、
get_customer()
get_meeting_history()
search_documents()
get_sales_data()
です。
最初から大量のツールを追加する必要はありません。
必要なものだけ用意します。
5.Instructionsを設計する
例えば、
あなたは営業担当者を支援するAIです。
CRMと商談履歴から顧客の状況を整理してください。
情報が不足している場合は推測せず、
不足していることを表示してください。
契約金額の変更などは行わないでください。
とします。
6.実際の業務データでPoCする
過去の案件を利用します。
例えば、
過去20商談
についてAIエージェントを実行し、
- 必要な情報を取得できるか
- 不要なツールを実行しないか
- 要約内容は正しいか
- 処理時間は許容できるか
を確認します。
7.評価基準を作る
「なんとなく便利」ではなく評価します。
例えば、
| 評価項目 | 目標 |
|---|---|
| 必要情報取得率 | 95%以上 |
| 不要ツール実行 | 5%以下 |
| 商談準備時間 | 30分→5分 |
| 人による修正 | 5分以内 |
| エラー率 | 1%以下 |
業務によって評価指標を変えます。
8.人による承認を追加する
例えばメール送信なら、
AIが文章生成
↓
人が承認
↓
送信
とします。
PoC段階では、AIに強い権限を与えない方が安全です。
9.本番システムへ組み込む
本番では、
- ユーザー認証
- 権限管理
- ログ
- エラー処理
- 再実行
- API利用制限
- タイムアウト
- 監視
などを追加します。
デモで動くことと、本番業務で安定して使えることは別です。
AIエージェントのエラー処理
例えばCRM APIが停止していた場合、
CRM取得
↓
エラー
で処理全体が停止する可能性があります。
そこで、
CRM取得
↓
失敗
↓
2回再試行
↓
失敗
↓
担当者へ通知
とします。
AI自身へ無限に再試行させないことも重要です。
最大実行回数を設定する
AIエージェントでは、
ツールA
↓
結果確認
↓
ツールB
↓
結果確認
↓
ツールA
のようなループが発生する可能性があります。
そこで、
最大10ステップ
など、終了条件を設定します。
API費用や処理時間を制御するためにも重要です。
AIエージェントのログで残すべき情報
最低限、
- 誰が実行したか
- 入力内容
- AIが利用したツール
- ツールへ渡した引数
- ツールの結果
- 最終回答
- エラー
- 実行時間
- 使用モデル
などを確認できるようにします。
問題が発生した際、
AIが間違えた
だけでは改善できません。
どの工程で問題が起きたか確認できる必要があります。
AIエージェント開発で重要なセキュリティ
AIエージェントでは、通常のチャットAI以上に権限管理が重要です。
理由は、AIが外部システムへアクセスするためです。
例えば、
顧客DB閲覧
メール
Slack
CRM
社内文書
などへ接続します。
そのため、
AIができること
だけでなく、
AIがしてはいけないこと
を明確にします。
最小権限にする
例えば営業AIなら、
顧客情報閲覧
→ 許可
商談履歴閲覧
→ 許可
契約削除
→ 不許可
とします。
AIへ管理者権限を与える必要はありません。
ユーザー権限も引き継ぐ
例えば一般社員が閲覧できない文書を、AI経由なら検索できてしまう構成は問題です。
ユーザー
↓
AI
↓
ユーザー権限を確認
↓
許可されたデータだけ取得
とします。
AIが権限チェックを判断するのではなく、バックエンド側で制御します。
AIエージェント開発の技術選定
AIエージェントはさまざまな方法で開発できます。
例えば、
独自Webシステム
Next.jsなど
↓
バックエンド
↓
LLM API
↓
社内API・DB
自由度が高く、本格的な業務システムへ組み込みやすい方法です。
AIエージェント用フレームワーク
モデル、ツール、状態管理などを扱うフレームワークを利用する方法です。
複雑な処理やエージェントの実行管理を実装しやすくなります。
DifyなどのAI開発基盤
小規模なPoCや、AIワークフローを素早く構築したい場合に利用できます。
n8nなどのワークフロー基盤
Gmail、Slack、CRMなど複数サービスとの連携が中心なら、ワークフロー基盤を組み合わせる方法があります。
重要なのは、
AIエージェントだから
特定のツールを使う
のではなく、
必要な業務要件
↓
適切な技術を選ぶ
ことです。
AIエージェント開発でよくある失敗
AIエージェントを使うことが目的になる
単純な業務なら通常プログラムの方がよい場合があります。
最初に業務課題を明確にします。
最初からマルチエージェント化する
エージェント数が増えると、
- 原因調査
- テスト
- コスト
- 状態管理
が複雑になります。
一つのエージェントで実現できるなら、まずシンプルに始めます。
AIへ権限を与えすぎる
「何でもできるAI」は便利に見えますが、本番業務ではリスクになります。
必要なツールだけ提供します。
評価データを作らない
5回程度試して、
良さそう
だけで本番導入すると、実運用で問題が発生します。
過去データから評価ケースを作ります。
例外処理がない
現実の業務では、
- 顧客が存在しない
- APIが停止
- データが不足
- 文書が見つからない
- AIが判断できない
といったケースがあります。
その場合は、
人へ引き継ぐ
ルートを用意します。
AIエージェント開発に関するよくある質問
AIエージェントとChatGPTは何が違いますか?
ChatGPTなどの生成AIは質問への回答や文章生成に利用できます。
AIエージェントは、外部ツールやデータを利用しながら複数ステップの処理を進めるシステムです。
AIエージェントは完全自動で仕事をしてくれますか?
業務によります。
技術的に自動実行できる処理でも、重要な操作には人による承認を入れる方が安全です。
既存の業務システムと連携できますか?
APIやデータベースなどから必要なデータを取得できれば連携可能です。
例えばCRM、在庫管理、顧客管理、メールなどをツールとして利用できます。
RAGとAIエージェントは違いますか?
違います。
RAGは文書から関連情報を検索する仕組みです。
AIエージェントはRAGを一つのツールとして利用できます。
AIエージェント
├─ RAG
├─ CRM
├─ メール
└─ API
という関係です。
AIエージェントにはMCPが必要ですか?
必須ではありません。
通常のAPIやFunction Callingなどでも外部ツールと連携できます。
MCPはAIと外部ツール・データを接続する方法の一つです。
AIエージェントは小規模に開発できますか?
可能です。
例えば、
顧客情報取得
+
過去履歴要約
だけの小規模なエージェントから始められます。
最初から会社全体の業務を自動化する必要はありません。
hiro-dev-labのAIエージェント開発
hiro-dev-labでは、生成AIと既存Webシステム・業務データを組み合わせたAI機能の開発を支援しています。
例えば、
- AIエージェントのPoC
- 社内システムとのAPI連携
- RAGによる社内文書検索
- 問い合わせ対応支援
- 顧客情報・商談履歴の要約
- AIによる文章生成
- Difyを使ったAIアプリ
- n8nを使った業務連携
- Python・TypeScriptによるAI機能開発
- 既存WebシステムへのAI組み込み
- 人による承認フロー
- AI処理ログ
などを検討できます。
最初から大規模なAIエージェントを構築する必要はありません。
まず、
現在時間がかかっている業務
↓
AIが担当できる工程
↓
必要な外部システム
↓
小規模なPoC
という順番で整理します。
AIエージェント開発は「何を自律化するか」から考える
AIエージェント開発で重要なのは、
AIエージェントを導入する
こと自体ではありません。
現在人が行っている、
情報を探す
↓
内容を判断する
↓
別のシステムを開く
↓
必要な処理を行う
という一連の業務の中から、AIへ任せる価値がある部分を特定します。
基本的には、
文章理解・状況判断
→ AI
データ取得・更新
→ API・プログラム
社内文書検索
→ RAG
重要な操作
→ 人が承認
と役割を分けます。
そして、
業務整理
↓
一つのユースケースを選択
↓
必要なToolsを設計
↓
AIエージェントをPoC
↓
過去データで評価
↓
権限・ログ・エラー処理を追加
↓
本番導入
↓
改善
と進めます。
AIエージェントは、複数システムを行き来しながら人が判断している業務を効率化できる可能性があります。
一方、単純な定型処理であれば、通常のプログラムやワークフローの方が適している場合もあります。
「自社業務にAIエージェントを導入できるか知りたい」
「既存の業務システムと生成AIを連携したい」
「まず一つの業務だけAIエージェント化したい」
「小規模なPoCから試したい」
このような段階からでも、お気軽にお問い合わせください。
AIエージェント開発について相談する