피드로 돌아가기
Skill-Based Sub-Agents with LangGraph4j and Spring AI
Dev.toDev.to
AI/ML

SKILL.md 기반 Sub-Agent 설계를 통한 LLM 컨텍스트 최적화 및 모듈화

Skill-Based Sub-Agents with LangGraph4j and Spring AI

bsorrentino2026년 5월 4일10intermediate

Context

단일 Generalist Agent 구조에서 모든 도구 정의와 지침을 하나의 시스템 프롬프트에 포함함에 따른 비용 증가 및 신뢰도 저하 발생. 프롬프트 간섭으로 인한 도구 선택 오류와 거대한 컨텍스트 윈도우 사용으로 인한 비효율성이 병목 지점으로 작용.

Technical Solution

  • SKILL.md 파일을 통한 Tool Contract(이름, 인자)와 Sub-Agent System Prompt의 일원화된 관리 구조 설계
  • ReAct 패턴의 Tool Calling 시맨틱을 재사용하여 하위 에이전트를 하나의 Tool로 캡슐화하는 계층적 조정 구조 채택
  • allowed-tools 속성을 통한 도구 접근 권한 제어로 Sub-Agent별 실행 경계 설정 및 도구 필터링 구현
  • SkilledReactSubAgent를 통해 마크다운 기반 스킬을 LangGraph4j의 Compiled Graph와 Spring AI의 ToolCallback으로 변환
  • 부모 에이전트가 세부 구현 사항을 알 필요 없이 high-level 기능만 호출하는 위임 기반 아키텍처 구축

- 복잡한 도메인 지식이 필요한 기능을 단일 프롬프트 대신 독립적인 SKILL.md 기반 Sub-Agent로 분리할 것 - 하위 에이전트가 사용할 도구를 명시적으로 제한하여 프롬프트 간섭과 토큰 낭비를 방지할 것 - ReAct 루프의 도구 호출 인터페이스를 그대로 유지하여 상위 에이전트의 계획 수립 능력을 보존할 것 - LangGraph4j의 그래프 구조를 활용해 Sub-Agent 내부에 State 관리 및 Human-In-The-Loop 접점을 설계할 것

원문 읽기