Spring AI로 앤트로픽(Anthropic) Agent Skills를 쉽게 사용하세요!
Spring AI는 앤트로픽(Anthropic)의 Agent Skills를 지원하여 실제 파일(Excel, PowerPoint, Word, PDF)을 생성하는 기능을 제공한다.
Spring AI는 사전 정의된 스킬(Pre-built Skills)과 사용자 정의 스킬(Custom Skills)을 모두 지원하며, 통합을 간소화한다.
앤트로픽(Anthropic)의 Skills API를 사용하면 코드 실행 도구(Code Execution Tool), 베타 헤더(Beta Headers) 관리, 파일 ID 추출 등을 Spring AI가 자동 처리한다.
앤트로픽(Anthropic) Skills는 앤트로픽(Anthropic) 모델(Claude Sonnet 4, Sonnet 4.5, Opus 4)에 종속적이며, 24시간 파일 만료(File Expiration), 베타 기능(Beta Feature) 등의 제약 사항이 존재한다.
Spring AI를 통한 Anthropic Skills 통합의 핵심
Spring AI는 앤트로픽(Anthropic)의 Agent Skills API를 사용하여 문서 생성 기능을 제공하며, 코드 실행 도구(Code Execution Tool), 베타 헤더(Beta Headers) 관리, 파일 ID 추출, 파일 다운로드 등을 자동화한다. Spring AI는 `AnthropicChatOptions`를 통해 스킬을 설정하고, `skill()` 메서드를 사용하여 사전 정의된 스킬(Pre-built Skills)과 사용자 정의 스킬(Custom Skills)을 모두 지원한다.
자동화된 헤더 관리(Automated Header Management): Spring AI는 필요한 모든 베타 헤더를 자동으로 추가하고 관리하여 개발자가 수동으로 설정할 필요가 없도록 한다.
타입 안전성(Type Safety): `AnthropicSkill.XLSX`와 같은 타입 안전한 열거형(Enum)을 제공하여 문자열 기반의 매직 스트링(Magic String) 사용을 방지하고, 빌드 타임(Build Time)에 유효성을 검사한다.
파일 ID 추출(File ID Extraction): 앤트로픽(Anthropic) API 응답에서 파일 ID를 재귀적으로 검색하여 파일 다운로드를 용이하게 한다.
사전 정의된 스킬(Pre-built Skills) 활용
앤트로픽(Anthropic)은 엑셀(XLSX), 파워포인트(PPTX), 워드(DOCX), PDF 등 4가지 사전 정의된 스킬(Pre-built Skills)을 제공하며, Spring AI를 통해 간편하게 사용할 수 있다. Spring AI를 사용하면 `AnthropicChatOptions`의 `skill()` 메서드를 통해 스킬을 활성화하고, 모델(Model) 및 최대 토큰(Max Tokens) 설정을 함께 지정할 수 있다.
간편한 사용법(Basic Usage): `AnthropicChatOptions.builder().skill(AnthropicSkill.XLSX)`와 같이 간단한 설정으로 엑셀(Excel) 스프레드시트 생성이 가능하다.
다중 스킬 지원(Multiple Skills): 여러 스킬을 동시에 사용하여 복잡한 워크플로우(Workflow)를 구현할 수 있으며, 최대 8개의 스킬을 사용할 수 있다.
ChatClient API 통합: Spring AI의 `ChatClient` API를 사용하여 스킬을 호출하고, 생성된 파일 ID를 추출하여 다운로드할 수 있다.
사용자 정의 스킬(Custom Skills) 구현
사용자 정의 스킬(Custom Skills)을 통해 조직별 문서 양식, 브랜드 가이드라인, 규정 준수 요구 사항 등을 적용할 수 있다. 사용자 정의 스킬은 SKILL.md 파일을 앤트로픽(Anthropic) 워크스페이스(Workspace)에 업로드하여 사용하며, Spring AI에서는 스킬 ID를 통해 참조한다.
SKILL.md 파일 구조: YAML frontmatter를 포함하며, `name`, `description` 필드를 필수로 정의해야 한다. `description` 필드는 Claude가 스킬을 적용할 시점을 결정하는 데 사용된다.
업로드 및 사용: 앤트로픽(Anthropic) API를 사용하여 SKILL.md 파일을 업로드하고, Spring AI의 `skill()` 메서드를 통해 사용자 정의 스킬을 호출한다.
버전 고정(Version Pinning): 프로덕션 환경에서는 특정 버전의 사용자 정의 스킬을 고정하여 안정성을 확보할 수 있다.
Spring AI를 사용해야 하는 이유
Spring AI는 앤트로픽(Anthropic) Skills API를 직접 사용하는 것보다 여러 가지 장점을 제공한다. Spring AI는 코드 실행 도구(Code Execution Tool) 자동 주입, 베타 헤더(Beta Headers) 관리, 파일 ID 추출, 파일 다운로드 등을 자동 처리하여 개발 생산성을 향상시킨다.
API 복잡성 감소: Spring AI는 앤트로픽(Anthropic) API의 복잡성을 추상화하여 개발자가 보다 쉽게 스킬을 사용할 수 있도록 돕는다.
타입 안전성(Type Safety): 타입 안전한 열거형(Enum)을 제공하여 개발 오류를 줄이고, 빌드 타임(Build Time)에 유효성을 검사한다.
유지보수성 향상: Spring AI는 코드 중복을 줄이고, API 변경에 유연하게 대응할 수 있도록 설계되었다.
결론적으로 Spring AI는 앤트로픽(Anthropic) Skills를 활용하여 문서 생성 기능을 구현하는 데 필요한 복잡성을 줄이고, 개발 생산성을 향상시키는 데 기여한다.