Amazon Connect AIエージェントで、通話要約や対応履歴を自動生成するNote Taking機能を使ってみた
はじめに
コンタクトセンターにおける主要な課題の一つに、通話やチャット終了後の事後処理(ACW:After Call Work)にかかる時間の削減があります。エージェントは対応が完了するたびに、CRMやチケット管理システムに対して、問い合わせ内容、対応結果、今後のアクションなどを正確に記録する必要があります。
Amazon ConnectのAIエージェント機能には、この課題に対処するための「Note Taking(メモを取る)」機能が提供されています。本記事では、公式ドキュメントおよび実際の検証結果をもとに、このNote Taking機能がどのような仕組みで動作しているのか、裏側のプロンプトやアーキテクチャを紐解きながら解説します。
Note Taking機能の基本仕様と処理フロー
公式ドキュメントおよび検証結果から、本機能の基本仕様と処理フローについて整理します。
ドキュメントには以下のように記載されています。
When enabled, the AI agent analyzes the full conversation transcript and generates a structured summary that may include:
(有効にすると、AIエージェントは会話のトランスクリプト全体を分析し、以下を含む構造化された要約を生成します:)
つまり、会話全体を分析して構造化されたメモを生成してくれます。
また、Mid-contact use cases(対応中のユースケース)としても利用可能であり、通話が完全に終了する前でも、それまでの会話内容をもとにメモを生成させることができます。
出力結果の保存先について
生成されたHTML形式のメモは、標準仕様では以下の場所に出力されます。
- エージェントワークスペース: エージェントがリクエストを実行すると、その場でConnect assistantのチャット欄にHTML形式でレンダリングされて表示されます。
- CloudWatch Logs: AIエージェントの呼び出しログとして、会話内容や生成されたノートの生データが出力されます。
なお、標準機能の範囲では、Contact Lensの通話詳細画面や特定のS3バケットなどに自動で保存される仕様ではありません。
2つのAIエージェントによる連携フロー
メモ生成は単一のAIが処理しているわけではなく、役割の異なる2つのAIエージェントの連携によって実現されています。
- オーケストレーションタイプのAIエージェント(エージェントアシスタント版)
エージェント画面のチャット窓口を担当する司令塔の役割を担います。ユーザーの意図を汲み取り、適切なツールを呼び出します。 - Note Taking(メモを取る)タイプのAIエージェント(実際にはツール)
会話履歴(トランスクリプト)を読み込んで、指定されたフォーマットでテキストを抽出・生成することに特化した専門のツールとして機能します。
具体的な処理フローは以下の通りです。
- エージェントがエージェントワークスペース上で「Generate Notes」をリクエストする。
- オーケストレーションタイプのAIエージェントが
GenerateNotesツールを選択する。 - ツール使用時にNote Taking AIエージェントが呼び出される。
- Note Taking AIエージェントが会話内容を分析し、HTMLノートを生成する。
- オーケストレーションタイプのAIエージェントが、ツール内の指示(Instructions)に従い、HTML出力を画面へ返却する。

引用元
デフォルトプロンプトについて
Note Taking AIエージェントのデフォルトプロンプトを確認したところ、AIのハルシネーション(不正確な情報の出力)を防ぐための厳格なルールが定義されていました。
特に注目すべき点は、「Agent Resolution(対応結果)」と「Next Steps(次のステップ)」を明確に区別するためのテスト(TENSE TEST / COMPLETION TEST)が組み込まれていることです。
1. TENSE TEST
Read the agent's exact quote and check:
✓ "I have done X" / "I checked X" / "I verified X" / "I've analyzed X"
❌ "I will" / "I'll" / "I can" / "I could" / "Let me"
❌ "I'm doing X" / "I'm recommending X" / "I'm setting up X" / "I'm configuring X" (present continuous = in progress, not completed)
- 適切な例(Resolutionに分類): 「確認いたしました」「メールを送信しました」(すでに完了しているアクション)
- 不適切な例(Next Stepsに分類): 「確認します」「設定中です」(これから行うアクション、または進行中のアクション)
このように、「すでに完了したか」「これから行うか」といったアクションの完了状態を厳格にチェックさせることで、「これから実行すること」を「すでに完了したこと」として誤って記録してしまう事象をシステム的に防いでいます。
AIプロンプトの作成
実際に環境を構築し、設定を進めます。
まずは、Note Taking用のプロンプトを作成します。
AI プロンプトタイプはメモを取るを選択します。

モデルはデフォルトで選択されている global.anthropic.claude-haiku-4-5-20251001-v1:0 を指定します。プロンプトの内容はデフォルトのまま使用します。
Note Taking AIエージェントの作成
作成したプロンプトを使用するAIエージェントを作成します。
AI エージェントタイプはメモを取るを選択します。

先程作成したAIプロンプトを選択し、ロケールを日本語(ja_JP)に設定して公開します。

デフォルトの AI エージェント設定
作成したNote Taking AIエージェントをシステム全体で利用できるように紐づけます。
「デフォルトの AI エージェント設定」画面を開き、「メモを取る」の項目に先ほど作成したAIエージェントを指定します。

ここで指定を行うことで、Amazon Connectが自動的に「オーケストレーションタイプのAIエージェントが、メモ作成の依頼を受けた時に、このNote Taking AIエージェントをツールとして呼び出す」という内部的な連携を設定してくれます。
オーケストレーションタイプのAIエージェントの作成
窓口となるオーケストレーションタイプのAIエージェント(エージェントアシスタント版)を作成します。今回はシステム提供の AgentAssistanceOrchestrator をコピーして作成し、公開しました。

このオーケストレーションタイプのAIエージェントには、デフォルトで GenerateNotes ツールが追加されています。

GenerateNotes ツールの設定内容は以下のようになっています。
- 説明:
Searches knowledge base with specific queries when an agent or customer asks an explicit question. Generates answers, notes, email summaries, and performs discrete tasks based on available information in context.
(日本語訳:エージェントまたは顧客が明示的な質問をした際に、特定のクエリでナレッジベースを検索します。コンテキスト内の利用可能な情報に基づいて、回答、メモ、メールの要約を生成し、個別のタスクを実行します。)- コメント: この説明文は、オーケストレーションAIが「いつこのツールを使うべきか」を判断するための重要な指標になります。
- 指示テキスト:
Required when asked to generate notes, summaries, and overviews about a conversation and its contents. Output from this tool contains HTML tags that should be provided directly in your response so it renders correctly. Do not re-summarize the output - provide the HTML directly.
(日本語訳:会話やその内容に関するメモ、要約、概要の生成を求められた場合に必須です。このツールからの出力にはHTMLタグが含まれており、正しくレンダリングされるように直接応答で提供する必要があります。出力を再要約しないでください - HTMLを直接提供してください。)- コメント: LLMは気を利かせて文章を要約し直してしまう癖がありますが、「絶対に再要約せず、HTMLをそのまま出せ」と強く指示することで、Note Taking AIが作ったフォーマットを崩さずに画面に表示させています。
- 例:
## Tool Output <notes><b>Customer Issue</b><ul><li>Unable to return defective printer via website</li><li>Return window closed</li><li>Payment method no longer valid</li></ul><b>Agent Resolution</b><ul><li>Made exception for return</li><li>Identified manufacturer defect recall</li><li>Processed return</li><li>Documented issue for billing department</li></ul><b>Next Steps</b><ul><li>Billing department to contact customer within 3-5 business days</li></ul><b>Profile Information</b><ul><li>Printer model has a manufacturer defect recall</li></ul></notes> ## Your Response - provide the HTML directly: <message><b>Customer Issue</b><ul><li>Unable to return defective printer via website</li><li>Return window closed</li><li>Payment method no longer valid</li></ul><b>Agent Resolution</b><ul><li>Made exception for return</li><li>Identified manufacturer defect recall</li><li>Processed return</li><li>Documented issue for billing department</li></ul><b>Next Steps</b><ul><li>Billing department to contact customer within 3-5 business days</li></ul><b>Profile Information</b><ul><li>Printer model has a manufacturer defect recall</li></ul> </message>- コメント: ツールからの出力をそのまま
<message>タグで囲んで返すという具体的な動作例を提示しています。
- コメント: ツールからの出力をそのまま
この GenerateNotes ツールにおいて、特定のAIエージェントを個別に指定する設定箇所はありませんでした。
「デフォルトに指定しているものを選択する」設定のままで機能します。
Connectフローの設定
「コネクトアシスタント」ブロックをフローに配置し、先程作成したオーケストレーションタイプのAIエージェントを指定します。

これで環境構築は完了です。
動作確認
実際にエージェントワークスペースでチャットを行い、メモが生成されるかテストを実施します。
今回は「商品の配送遅延」に関する短いやり取りを想定しました。
【チャット履歴】
- 顧客: 注文した商品がまだ届きません。注文番号は「A-999」です。
- エージェント: 申し訳ございません。お調べしたところ、配送業者側で遅延が発生しているようです。
- 顧客: いつ頃届きますか?急いでいるのですが。
- エージェント: ご不便をおかけし申し訳ありません。本日中に配送業者に詳細な状況を確認し、改めてお客様にお電話でご報告いたします。
- 顧客: わかりました。よろしくお願いします。
会話が終了した後、画面右側のコネクトアシスタント(Amazon Q)のチャット欄に Generate notes(日本語でも可)と入力して送信します。
すると、数秒後、以下のように構造化された箇条書きのメモが生成されました。

プロンプトの指示通り、「顧客の問題」「エージェントの対応(完了したこと)」「次のステップ(これからやること)」「プロフィール情報」が正確に分類されています。
CloudWatch Logsによるバックエンド処理の確認
この処理の裏側でどのようなデータがやり取りされていたのか、CloudWatch Logsに出力されたログを確認します。
1. オーケストレーションタイプのAIエージェントがツールを選択
エージェントからの「Generate notes」という依頼を受け、オーケストレーションタイプのAIエージェントが GenerateNotes ツールを選択しています。
"parsed_response": "ToolUseBlock(ToolUseId=tooluse_92gqgw00vWLqEzrWFb3Sag, Name=GenerateNotes, Input=\"{...}\")"
2. Note Taking AIエージェントがHTMLを生成
呼び出されたNote Taking AIエージェント(Claude Haiku)が、会話履歴を分析して以下のHTMLを生成しています。
<b>顧客の問題</b><ul><li>注文番号A-999の商品がまだ到着していない</li><li>配送業者側で遅延が発生している</li><li>顧客が急いでいる</li></ul><b>エージェントの対応</b><ul><li>注文を調査し配送遅延を確認した</li></ul><b>次のステップ</b><ul><li>本日中に配送業者に詳細な状況を確認する</li><li>確認後、電話で顧客に改めて報告する</li></ul><b>プロフィール情報</b><ul><li>注文番号:A-999</li></ul>
見やすく整形すると以下のようになります。
<b>顧客の問題</b>
<ul>
<li>注文番号A-999の商品がまだ到着していない</li>
<li>配送業者側で遅延が発生している</li>
<li>顧客が急いでいる</li>
</ul>
<b>エージェントの対応</b>
<ul>
<li>注文を調査し配送遅延を確認した</li>
</ul>
<b>次のステップ</b>
<ul>
<li>本日中に配送業者に詳細な状況を確認する</li>
<li>確認後、電話で顧客に改めて報告する</li>
</ul>
<b>プロフィール情報</b>
<ul>
<li>注文番号:A-999</li>
</ul>
3. オーケストレーションタイプのAIエージェントが画面に返却
生成されたHTMLを受け取ったオーケストレーションタイプのAIエージェントが、ツールの指示テキスト(Do not re-summarize the output - provide the HTML directly.)に従い、再要約することなくそのままエージェント画面に返却し、UI上で箇条書きとしてレンダリングされていました。
プロンプトカスタマイズによる要件実現の可能性
デフォルトのプロンプトでも十分な品質のメモが生成されますが、現場のニーズに合わせてプロンプトをカスタマイズすることで、さらなる活用が期待できます。
Note Taking AIエージェントのプロンプト、およびオーケストレーションタイプのAIエージェントの GenerateNotes ツール内の指示テキストはカスタマイズ可能です。
カスタマイズすることで、例えば以下のような要件を実現できる可能性があります。
- 会話要約の出力: 出力HTMLに会話全体の要約セクションを追加し、一目で概要を把握できるようにする。
- VOC(お客様の声)の抽出: 会話内容から「クレーム」や「機能改善要望」などを特定し、専用の項目として出力する。
- 特定キーワードの抽出と分析: 事前に指定したキーワード(例:「クレーム対応」「返品処理」「ログイン方法」など)が会話に含まれていた場合、それを抽出・タグ付けし、ナレッジベースの改善に役立てる。
これらのカスタマイズによる出力品質は、プロンプトの記述方法や選択するLLMモデルに大きく依存するため、実際の環境でプロンプトの調整とテストを繰り返す必要がありますが、単なるメモ生成を超えた会話分析ツールとしての活用も視野に入ります。
ただし、本機能は通話終了後にエージェントが手動で「Generate notes」と入力する必要があります。
もし、通話終了時に自動で要約を生成し、コンタクト詳細ページに表示させたい場合は、以下の記事で紹介しているような別のアーキテクチャを検討してください。
まとめ
Amazon Connectの「Note Taking」機能を検証し、そのアーキテクチャと動作を確認しました。
デフォルトのプロンプトを使用するだけでも、「課題」「対応結果」「次のアクション」「顧客情報」が正確に整理され、CRMやチケットシステムにそのまま転記できるレベルの高品質なメモが生成されます。
エージェントの事後処理(ACW)負荷の軽減や、対応履歴の品質向上を検討されている場合は、本機能の導入が有効な解決策となるでしょう。







