AI 搭載の会議要約およびアクションアイテム抽出エージェントの作成方法

今後のワークショップの一環として、誰でも作成、使用、デプロイできる複数のノーコードエージェントを作成しました。それでは、AIGNE を使用して会議のトランスクリプト(書き起こし)をレビューし、指定されたアクションアイテムの割り当てを含む要約を提供するエージェントを構築する「会議要約プロジェクト」のセットアップ方法を説明します。この特定のプロジェクトでは、トランスクリプトの取り込み、クリーンアップ、要約とアクションアイテムの作成、そして表示を連携して行う 3 つのエージェントをセットアップします。
それでは始めましょう。
- www.aigne.io にアクセスし、サインアップまたはサインインして開始します。
- 新しいプロジェクトを開始する:
- 名前: "Meeting Summarizer"
- 説明: "会議のトランスクリプトを要約し、アクションアイテムを抽出します。"
- 準備ができたら "+Create" を選択

- エージェント 1 の作成: "Transcript Processor" (トランスクリプト・プロセッサ)

- 目的: 未加工の会議トランスクリプトをクリーンアップしてフォーマットします。これには、タイムスタンプや話者名の削除(必要に応じて)、軽微な誤字の修正などが含まれます。
- サンプルプロンプト:
You are a meeting transcript processor. Your job is to clean and format the raw transcript provided below.
* Remove timestamps and speaker names (unless instructed otherwise).
* Correct any obvious typos or grammatical errors.
* Format the text for optimal processing by the summarization agent. Consider structuring it into paragraphs or sections if appropriate.
Raw Transcript:
{{ rawTranscript }}
- 入力の設定:
rawTranscript(User Input) (text) - 出力の設定:
cleanedTranscript(Process) (Text)
例:

4. エージェント 2 の作成: "Summarizer and Action Item Extractor" (要約およびアクションアイテム抽出器)
- 目的: エージェント 1 からのクリーンアップされたトランスクリプトを要約し、アクションアイテムを抽出します。
- プロンプト:
You are a meeting summarizer and action item extractor. You will receive a cleaned meeting transcript and your task is to:
1. Create a concise summary of the meeting, highlighting key discussion points and decisions.
2. Extract all action items, including who is responsible and what the task is. Format each action item clearly, for example: "[Person]: [Task] - [Deadline (if mentioned)]".
Cleaned Transcript:
{{ cleanedTranscript }}
Output the summary followed by the action items.
- 入力:
cleanedTranscript | Call Transcript Processor | Agent OutputsrawTranscript | User Input | Text
- 出力:
Generated Text Stream | Process
例:

5. エントリエージェント: "Meeting Interface" (または同様の名前)
- 目的: ユーザーインターフェースを提供します。このエージェントはユーザーから未加工のトランスクリプトを受け取り、他のエージェントによって生成された要約とアクションアイテムを表示します。
- "Set as entry Agent" (エントリエージェントとして設定): エージェントをセットアップする前に、まずこのエージェントをエントリエージェント、つまりユーザーが情報を入力する UI として構成します。以下の例に従って "Set as entry agent" を選択してください。

- 入力: 入力を以下のオプションに設定します。これは、プロンプトが処理のためにエージェントを呼び出せるようにするために重要です。
rawTranscript | User Input | Text

- プロンプト: 入力を設定したら、次にプロンプトを更新しましょう。
- ステップ 1: "processing" (処理) を選択し、"Call Agent" (エージェント呼び出し) を選択します。

- ステップ 2: 「モデルをさらにインストール」を選択し、エージェントを選択します。この呼び出しでは、"Summarizer and Action Extractor" エージェントを呼び出します。

- エージェントが "Summarizer and Action Extractor" を呼び出しており、パラメータが "rawTranscript" に設定されていることを確認します。

- 出力:
Generated Text Stream
6. エージェント構成のテスト: "Meeting interface" エージェントが選択されていることを確認します。右側のパネルで "Debug" を選択し、プロンプトボックスにトランスクリプトをコピー&ペーストします。デバッグを選択すると、エージェントの詳細を確認するための JSON ファイルへのアクセスなど、舞台裏で何が起こっているかを確認できます。

この例では、20 人以上の参加者がいた Decentralized Identity Foundation との最近の 48 分間の会議を使用しました。トランスクリプトを入力すると、エージェントはトランスクリプトをレビューし、以下の例に示すように会議の要約と特定のアクションアイテムを出力します。

7. テストが完了したら、プロジェクトをデプロイしてユーザーがアクセスできるようにしましょう。"Deploy" を選択し、お好みのオプションを選択します。

私の例では "public" を選択しました。これで "preview in tab" を選択してエージェントをプレビューできます。

エージェントを共有したり、さらに更新したり、準備ができたらストアに公開したりすることができます。
主なポイント
- モジュール式エージェント設計:
- 単一責任の原則: 各エージェントは、単一の明確に定義された目的を持つ必要があります。これにより、システムの理解、デバッグ、メンテナンスが容易になります(例:トランスクリプトのクリーンアップを要約から分離する)。
- 明確な役割: 各エージェントの役割を明示的に定義します(例:「トランスクリプト・プロセッサ」、「要約およびアクションアイテム抽出器」、「会議インターフェース」)。
- データフローとエージェント間通信:
- 定義された入力/出力定義: 各エージェントがどこから入力を取得し(
From: User Input、From: Agent X)、どのような種類の出力を生成するか(Process、Display)を明確に指定します。これは情報の流れを追跡するために非常に重要です。 - オーケストレーション: ワークフロー全体を管理するために「エントリエージェント」(「会議インターフェース」など)を使用します。このエージェントは最初の入力を受け取り、他のエージェントを順番に呼び出し、最終結果を表示します。エージェント・オーケストラの「指揮者」として機能します。
- 変数渡し: エージェント間でデータを渡すために変数(例:
{{rawTranscript}}、{{cleanedTranscript}})を使用します。AIGNE.io はこれを処理しますが、変数を正しく定義する必要があります。
- 定義された入力/出力定義: 各エージェントがどこから入力を取得し(
- プロンプトエンジニアリング:
- 明確さと具体性: プロンプトは、エージェントが何をすべきかについて非常に明確で具体的である必要があります。曖昧さを避け、必要に応じて例を提供します。
- タスクの分解: 複雑なタスクをプロンプト内で小さく管理可能なステップに分解します(例:「1. トランスクリプトをクリーンアップする... 2. エラーを修正する... 3. 明確にするためにフォーマットする...」)。
- コンテキスト情報: エージェントに関連するコンテキストを提供します(例:「あなたは会議トランスクリプトのプロセッサです」)。
- 出力フォーマット: 希望する出力形式を指定します(例:アクションアイテムの構造:
[誰が]: [何を] - [期限])。 - エッジケースの処理: 情報が欠落している状況の処理方法を検討し、エージェントに指示します(例:「担当者が不明な場合は『未割り当て』と記載してください」)。
- ナレッジベースの活用: ナレッジベースをいつ参照するかについての明確なプロンプト。
- ユーザーインターフェースとしてのエントリエージェント:
- 入力と出力のハブ: エントリエージェントはユーザーとの対話の主要なポイントとして機能し、入力と出力の表示の両方を処理します。
- 簡素化されたユーザー体験: 舞台裏で複数のエージェントが動作していても、エンドユーザーは 1 つのエージェントと対話するだけで済みます。