SkillSearch 프로세서
그만큼SkillSearchProcessor은입력 프로세서이는 주문형 기술 검색 및 로딩을 가능하게 합니다. 모든 스킬 메타데이터를 시스템 Prompt에 미리 삽입하는 대신(예:SkillsProcessor), Agent에게 두 개의 메타 Tool(search_skills그리고load_skill) 필요에 따라 기술을 찾아 로드할 수 있습니다. 이렇게 하면 작업 영역에 많은 기술이 있는 경우 컨텍스트 토큰 사용량이 줄어듭니다.
기본적으로 Skill이 활성화된 Workspace를 사용하는 Agent에 SkillSearchProcessor만 연결하면 Agent가 Skill을 온디맨드 방식으로 처리합니다.
- 기본 선행 로드 방식의
SkillsProcessor는 자동으로 추가되지 않습니다. - 검색 및 지침 로드를 위해
search_skills와load_skill이 노출됩니다. - 기능이 겹치는
skill및skill_searchTool은 숨겨집니다. - Agent가 참조, 스크립트, 자산과 같은 Skill 지원 파일을 읽을 수 있도록
skill_read는 계속 사용할 수 있습니다.SkillSearchProcessor와 함께SkillsProcessor를 명시적으로 구성하면 Agent는 옵트인 경로로 선행 로드 방식의skill및skill_searchTool을 유지합니다.
사용예사용예에 대한 직접 링크
import { SkillSearchProcessor } from '@mastra/core/processors'
const skillSearch = new SkillSearchProcessor({
workspace,
search: {
topK: 5,
minScore: 0.1,
},
})
생성자 매개변수생성자 매개변수에 대한 직접 링크
options:
SkillSearchProcessorOptions
Skill 검색 프로세서의 구성 옵션
SkillSearchProcessorOptions
workspace:
Workspace
Skill을 포함하는 Workspace 인스턴스. Skill은 workspace.skills를 통해 접근합니다.
search?:
{ topK?: number; minScore?: number }
검색 동작의 구성입니다.
search.topK?:
number
검색 결과로 반환할 최대 Skill 수입니다.
search.minScore?:
number
검색 결과에 Skill을 포함하기 위한 최소 관련성 점수입니다.
ttl?:
number
스레드 상태의 TTL(밀리초)입니다. 이 기간 동안 활동이 없으면 스레드 상태가 정리됩니다. 정리를 비활성화하려면 0으로 설정하세요.
보고보고에 대한 직접 링크
id:
string
'skill-search'로 설정된 프로세서 식별자
name:
string
'Skill Search Processor'로 설정된 프로세서 표시 이름
providesSkillDiscovery:
'on-demand'
이 프로세서가 Skill 탐색 및 지침 로드를 담당한다는 것을 Agent에 알립니다.
processInputStep:
(args: ProcessInputStepArgs) => Promise<ProcessInputStepResult>
각 단계를 처리하여 검색/로드 메타 Tool과 이전에 로드된 Skill 지침을 시스템 메시지로 주입합니다.
확장된 사용 예확장된 사용 예에 대한 직접 링크
src/mastra/agents/skill-agent.ts
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 Workflow는 다음과 같습니다.
- Agent가 사용자 메시지를 받습니다.
- Agent가 키워드(예: "api design")와 함께
search_skills를 호출합니다. - Agent가 결과를 검토하고 Skill 이름과 함께
load_skill을 호출합니다. - 해당 Skill의 지침이 다음 턴에 시스템 메시지로 표시됩니다.
- Agent가 로드된 Skill의 지침을 따릅니다.
작업공간 파일 Tool작업공간 파일 Tool에 대한 직접 링크
SkillSearchProcessor기술 지침을 대화에 로드합니다. 작업 공간 파일 Tool이 파일을 읽는 것을 차단하지 않습니다.
references/, scripts/, assets/ 아래의 파일처럼 로드된 Skill에 속하는 지원 파일에는 skill_read를 사용하세요.
명시적인 파일 검사 또는 편집 Workflow를 위해 mastra_workspace_read_file과 같은 Workspace 파일 Tool을 남겨 두세요. 일반적인 작업 실행 중에는 load_skill이 성공한 후 Agent가 동일한 SKILL.md 파일을 다시 읽을 필요가 없습니다.
SkillsProcessor와 비교SkillsProcessor와 비교에 대한 직접 링크
| 기술프로세서 | SkillSearch프로세서 | |
|---|---|---|
| 스케일링 | 모든 기술을 미리 주입 | 주문형 검색 |
| 컨텍스트 사용법 | 스킬 수에 따라 성장 | 상수(로드된 스킬만) |
| 상담사 Workflow | 항상 보이는 기술 | Agent는 필요에 따라 검색 및 로드 |
| 기술이 거의 없음(< 10) | 다양한 기술(10+) |