mastraでAgent開発をする上でtool_callでの引数指定でtool descriptionのみでcontextで与えるだけではtool実行の精度が悪い場合がある.

system promptで記載しなければ引数をうまく指定できないことが多い

例:todo list 期待する指定

[
{
	id: 0,
	task: "買い物に行く",
	status: "completed"
},
{
	id: 1,
	task: "レポートを書く",
	status: "in-progress"
}.
{
	id: 2,
	task: "運動する",
	status: "not-started"
}}
]

LLMが指定するjson

  1. taskListというプロパティで配列を持つ
{
taskList:[
{
	id: 0,
	task: "買い物に行く",
	status: "completed"
},
{
	id: 1,
	task: "レポートを書く",
	status: "in-progress"
}.
{
	id: 2,
	task: "運動する",
	status: "not-started"
}}
]
}

mastraでtoolを登録した時にどのようにparseされてllmに対して伝えられているかを把握し、どのように指定することでsystem promptなどで指定することなくtool callの成功率をあげることができるかを確認する