LLMフレームワーク AutoGen における「Task Definition の記述方法」は、LLMエージェントが理解・実行可能なタスクを構造的に定義するための中核要素です。この定義は、プロンプトテンプレートと連携し、タスクの指示を一貫性のある形で生成・評価・修正できるように設計されています。以下に詳しく説明します。
Task Definition の概要
Task Definition(タスク定義)とは、AutoGenが処理する個々のタスクの目的・入力・出力・制約・評価基準などを構造的に定義するドキュメントまたは設定ファイルです。YAMLやPythonクラスとして記述されることが多く、生成系タスク(例:要約、分類、翻訳など)の形式化に用いられます。
Task Definition の主な記述要素
以下は典型的なタスク定義の構造です(YAMLベースの記述例):
各要素の説明
| 要素 | 説明 |
|---|---|
task_name |
タスクの識別名。エージェント間の連携で使用されます。 |
description |
タスクの目的や背景、出力に期待される品質水準を自然言語で記述します。 |
input_spec |
入力の変数名・型・説明。複数定義可能で、プロンプトテンプレートと連動します。 |
output_spec |
出力の仕様(型、制約条件、長さなど)。バリデーションの基準にもなります。 |
prompt_template |
入力値と組み合わせて最終的なプロンプトを生成するテンプレート。{}で変数を展開します。 |
evaluation |
出力の評価指標(自動評価 or GPTによるレビュー)。Criticフェーズで活用されます。 |
Python形式での定義(クラスベース)
AutoGenでは、YAMLだけでなくPythonコードでクラスベースにタスクを定義することも可能です:
Task Definition の活用場面
-
Generator に渡すプロンプトの構築
-
Filter による出力のスクリーニング条件の指定
-
Critic による出力品質評価のための基準設定
-
AutoGenワークフロー全体の再利用性・自動化のための構造化
補足:設計時のポイント
-
汎用性:テンプレートが他のタスクにも転用できるように設計する。
-
評価容易性:明確な評価指標(ROUGE, BLEU, GPT-based判定)を定義する。
-
制約明記:出力に関する長さ、形式、言語などの制約は明示的に記述する。
-
入力変数のバリデーション:型や必須性のチェックを入れると安全。
ChatGPT4o 生成日:2025/06/15