メインコンテンツへ移動

TaskSignalProvider

組み込みの Task Tool(task_writetask_updatetask_completetask_check)と TaskStateProcessor を 1 回の Agent 登録にまとめます。Tool と Processor を個別に接続せずに、構造化された Durable Task List を Agent に追加するために使用します。

SignalProvider を拡張します。Task List は Thread スコープの tasks ストレージドメイン(信頼できる唯一の情報源)に保存され、Processor によって Agent の State Signal Lane に投影されます。そのため、Prompt Cache を無効にすることなく、Observational Memory の切り詰め後も保持されます。

使用例
使用例への直接リンク

Memory と Mastra storage を持つ Agent に Provider を登録します。

src/mastra/index.ts
import { Agent } from '@mastra/core/agent'
import { TaskSignalProvider } from '@mastra/core/signals'

const agent = new Agent({
id: 'coder',
name: 'coder',
instructions: '...',
model,
memory,
signals: [new TaskSignalProvider()],
})

Agent は 4 つの Task Tool を Toolset に自動的に統合し、Processor を Input Processor Chain に登録します。それ以外の接続は必要ありません。

Task Tracking には、Memory を基盤とする Thread(threadId + resourceId)が必要です。Memory がない場合、Task Tool は何も実行せず、Task Tracking には Agent Memory が必要であることを説明する結果を返します。tasks ストレージドメインはデフォルトでインメモリに接続されるため、ストレージバックエンドを設定しなくても Task Tracking は動作します。

コンストラクターのパラメーター
コンストラクターのパラメーターへの直接リンク

TaskSignalProvider はコンストラクター引数を取りません。

プロパティ
プロパティへの直接リンク

id:

'task-signals'
Provider インスタンスの安定した識別子。

メソッド
メソッドへの直接リンク

Agent との統合
Agent との統合への直接リンク

これらのメソッドは、Provider が signals に渡されると Agent によって自動的に呼び出されます。通常、直接呼び出す必要はありません。

getTools()
gettoolsへの直接リンク

4 つの Task Tool を Tool ID(task_writetask_updatetask_completetask_check)をキーとして返します。Agent はこれらを Toolset に統合します。

const tools = new TaskSignalProvider().getTools()
// { task_write, task_update, task_complete, task_check }

戻り値: Record<string, Tool>

getInputProcessors()
getinputprocessorsへの直接リンク

Provider の TaskStateProcessor インスタンスを返します。Agent はこれを Input Processor Chain に登録し、Mastra インスタンスを伝播させます。これにより、Processor は tasks Store を解決できます。

const [processor] = new TaskSignalProvider().getInputProcessors()
// processor instanceof TaskStateProcessor

戻り値: InputProcessorOrWorkflow[]