Task tools
Agent の実行における構造化されたタスクリストを管理する、Agent に依存しない4つの組み込み Tool です。タスクリストはスレッドスコープの threadState ストレージドメインに永続化され、Agent の state-signal レーンに投影されるため、observational-memory による切り詰め後も保持されます。
タスク追跡には、メモリを利用するスレッド(threadId + resourceId)が必要です。メモリがない場合、Task tools はタスク追跡に Agent のメモリが必要であることを示すエラーを返します。
推奨される設定は TaskSignalProvider です。4つの Tool と TaskStateProcessor を1回の登録にまとめられます。概念ガイドについては、組み込み Tool を参照してください。
使用例使用例への直接リンク
import { Agent } from '@mastra/core/agent'
import { Memory } from '@mastra/memory'
import { TaskSignalProvider } from '@mastra/core/signals'
const agent = new Agent({
id: 'coder',
name: 'Coder',
instructions: 'Track your progress with the task tools.',
model,
memory: new Memory(),
signals: [new TaskSignalProvider()],
})
Tool を直接インポートすることもできます。
import { taskWriteTool, taskUpdateTool, taskCompleteTool, taskCheckTool } from '@mastra/core/tools'
const agent = new Agent({
id: 'coder',
name: 'Coder',
instructions: 'Track your progress with the task tools.',
model,
memory: new Memory(),
tools: { taskWriteTool, taskUpdateTool, taskCompleteTool, taskCheckTool },
})
task_writetask_writeへの直接リンク
タスクリスト全体を作成または置換します。呼び出すたびに、それまでのリストが置き換えられます。
入力スキーマ入力スキーマへの直接リンク
tasks:
id?:
content:
status:
activeForm:
出力出力への直接リンク
人が読める content の概要、割り当てられた ID を含む完全な tasks 配列、isError フラグを持つ TaskToolResult を返します。
動作動作への直接リンク
- 1回の呼び出し内で ID は一意でなければなりません。明示的に指定した ID が重複している場合は、代替 ID が生成されます。
- 既存のリストを書き換える際に ID を省略すると、曖昧さなく一致するタスクが1つだけ存在する場合、その以前の ID が安定性のため再利用されます。
in_progressステータスにできるタスクは一度に1つだけです。複数のin_progressタスクを送信するとエラーが返されます。
task_updatetask_updateへの直接リンク
安定した ID を使って1つのタスクを更新します。変更したフィールドだけを指定してください。
入力スキーマ入力スキーマへの直接リンク
id:
content?:
status?:
activeForm?:
content、status、activeForm のうち少なくとも1つが必要です。
動作動作への直接リンク
- 更新によってタスクを
in_progressに設定すると、それ以外のin_progressタスクは自動的にpendingに戻されます。 - ID が見つからない場合、利用可能なタスク ID とともにエラーを返します。
task_completetask_completeへの直接リンク
安定した ID を使って1つのタスクを完了済みにします。
入力スキーマ入力スキーマへの直接リンク
id:
動作動作への直接リンク
ID が見つからない場合、利用可能なタスク ID とともにエラーを返します。
task_checktask_checkへの直接リンク
タスクリストの完了ステータスを確認します。入力パラメーターはありません。
出力出力への直接リンク
次の内容を持つ TaskCheckResult を返します。