스킬

스킬 (Skills)

스킬(skills) 아키텍처에서는 전문화된 능력을 호출 가능한 "스킬"로 패키징해서 에이전트의 동작을 보강해요. 스킬은 주로 프롬프트로 구동되는 전문화이며, 에이전트가 온디맨드로 불러올 수 있습니다. 내장 스킬 지원은 Deep Agents를 참고하세요.

출처: LangChain 공식 문서 — multi-agent/skills

핵심 특징 (Key characteristics)

  • 프롬프트 기반 전문화: 스킬은 주로 전문화된 프롬프트로 정의됩니다.
  • 점진적 공개 (Progressive disclosure): 스킬은 컨텍스트나 사용자 필요에 따라 사용 가능해집니다.
  • 팀 분산: 서로 다른 팀이 스킬을 독립적으로 개발하고 유지할 수 있어요.
  • 가벼운 합성: 스킬은 완전한 서브에이전트보다 단순합니다.
  • 참조 인지 (Reference awareness): 스킬은 스크립트, 템플릿, 기타 리소스를 참조할 수 있어요.

언제 쓰나요? (When to use)

많은 전문화 가능성을 가진 단일 에이전트를 원할 때, 스킬 사이에 특정 제약을 강제할 필요가 없을 때, 또는 서로 다른 팀이 독립적으로 능력을 개발해야 할 때 스킬 패턴을 쓰면 돼요. 흔한 예로 코딩 어시스턴트(언어나 작업별 스킬), 지식 베이스(도메인별 스킬), 창의적 어시스턴트(형식별 스킬)가 있습니다.

기본 구현 (Basic implementation)

스킬 패턴의 기본 구현은 위의 스킬-SQL 어시스턴트 튜토리얼에서 완전하게 다룹니다. 이름·설명·본문을 가진 스킬을 정의하고, load_skill 같은 도구로 온디맨드 로드하며, 미들웨어가 시스템 프롬프트에 스킬 설명을 주입하는 구조를 만들어요.

패턴 확장 (Extending the pattern)

커스텀 구현을 작성할 때 기본 스킬 패턴을 여러 방식으로 확장할 수 있어요.

  • 동적 도구 등록 (Dynamic tool registration): 점진적 공개와 상태 관리를 결합해 스킬이 로드될 때 새 도구를 등록합니다. 예를 들어 "database_admin" 스킬을 로드하면 전문화된 컨텍스트를 추가하는 동시에 데이터베이스 특화 도구(백업, 복원, 마이그레이션)를 등록할 수 있어요. 이는 멀티 에이전트 패턴 전반에서 쓰이는 도구-상태 메커니즘(상태를 업데이트하는 도구가 에이전트 능력을 동적으로 바꾸는)과 같습니다.
  • 계층적 스킬 (Hierarchical skills): 스킬이 트리 구조로 다른 스킬을 정의해 중첩된 전문화를 만들 수 있어요. 예를 들어 "data_science" 스킬을 로드하면 "pandas_expert", "visualization", "statistical_analysis" 같은 하위 스킬을 사용 가능하게 할 수 있죠. 각 하위 스킬은 필요할 때 독립적으로 로드되어 도메인 지식의 세밀한 점진적 공개를 가능하게 합니다. 이 계층적 접근은 능력을 논리적 그룹으로 조직해 대규모 지식 베이스를 관리하고, 온디맨드로 발견·로드할 수 있게 해줍니다.
  • 참조 인지 (Reference awareness): 각 스킬은 프롬프트가 하나뿐이지만, 그 프롬프트가 다른 자산의 위치를 참조하고 에이전트가 언제 그 자산을 써야 하는지에 대한 정보를 제공할 수 있어요. 그 자산이 관련이 있게 되면 에이전트는 파일이 존재한다는 것을 알고, 작업을 완료하기 위해 필요할 때 메모리로 읽어들입니다. 이것도 점진적 공개 패턴을 따르며, 컨텍스트 윈도우의 정보를 제한합니다.

더 알아보기 (Learn more)