SkillSearchProcessor
SkillSearchProcessor は、必要に応じた Skill の検出と読み込みを可能にする input processor です。すべての Skill メタデータを事前に system prompt へ注入する代わりに(SkillsProcessor の場合)、2つのメタ Tool(search_skills と load_skill)を Agent に提供し、必要な Skill を検索して読み込めるようにします。これにより、多数の Skill を持つ Workspace でコンテキストトークンの使用量を削減できます。
デフォルトでは、Skill が有効な Workspace を持つ Agent に SkillSearchProcessor だけを追加すると、Agent は Skill をオンデマンドで扱います。
- デフォルトの先行読み込み型
SkillsProcessorは自動追加されません。 - 検出と指示の読み込みに
search_skillsとload_skillが公開されます。 - 重複する
skillTool とskill_searchTool は非表示になります。 skill_readは引き続き利用できるため、references、scripts、assets など、Skill を補助するファイルを Agent が読み取れます。
SkillsProcessor と SkillSearchProcessor を明示的に併用すると、Agent は明示的に選択できる手段として先行読み込み型の skill Tool と skill_search Tool を維持します。
使用例使用例への直接リンク
import { SkillSearchProcessor } from '@mastra/core/processors'
const skillSearch = new SkillSearchProcessor({
workspace,
search: {
topK: 5,
minScore: 0.1,
},
})
コンストラクターパラメーターコンストラクターパラメーターへの直接リンク
options:
workspace:
search?:
search.topK?:
search.minScore?:
ttl?:
戻り値戻り値への直接リンク
id:
name:
providesSkillDiscovery:
processInputStep:
詳細な使用例詳細な使用例への直接リンク
import { Agent } from '@mastra/core/agent'
import { SkillSearchProcessor } from '@mastra/core/processors'
import { Workspace, LocalFilesystem } from '@mastra/core/workspace'
const workspace = new Workspace({
filesystem: new LocalFilesystem({ basePath: './project' }),
skills: ['skills'],
bm25: true,
})
const skillSearch = new SkillSearchProcessor({
workspace,
search: {
topK: 5,
minScore: 0.1,
},
})
const agent = new Agent({
id: 'skill-agent',
name: 'skill-agent',
instructions:
'You are a helpful assistant. Use search_skills to find relevant skills, then load_skill to load their instructions.',
model: 'openai/gpt-5.6-sol',
workspace,
inputProcessors: [skillSearch],
})
Agent のワークフローは次のとおりです。
- Agent がユーザーメッセージを受信する
- Agent がキーワード(例: "api design")を指定して
search_skillsを呼び出す - Agent が結果を確認し、Skill 名を指定して
load_skillを呼び出す - 次のターンで Skill の指示が system メッセージとして表示される
- Agent が読み込んだ Skill の指示に従う
Workspace のファイル ToolWorkspace のファイル Toolへの直接リンク
SkillSearchProcessor は Skill の指示を会話に読み込みます。Workspace のファイル Tool によるファイルの読み取りを妨げることはありません。
references/、scripts/、assets/ 配下のファイルなど、読み込んだ Skill を補助するファイルには skill_read を使用します。
mastra_workspace_read_file などの Workspace ファイル Tool は、明示的にファイルを調査または編集するワークフローに使用します。通常のタスク実行中は、load_skill が成功したあとに同じ SKILL.md ファイルを読み直す必要はありません。
SkillsProcessor との比較SkillsProcessor との比較への直接リンク
| SkillsProcessor | SkillSearchProcessor | |
|---|---|---|
| スケーリング | すべての Skill を事前に注入 | オンデマンドで検出 |
| コンテキスト使用量 | Skill 数に応じて増加 | 一定(読み込んだ Skill のみ) |
| Agent のワークフロー | Skill が常に表示される | Agent が必要に応じて検索し、読み込む |
| 適した用途 | 少数の Skill(< 10) | 多数の Skill(10以上) |