원문 캡처 · github.com
원문 캡처 · github.com

Sparring은 AI 에이전트가 작업을 시작하기 전에 기능 명세를 제품 관리, 아키텍처, UI, 기능 테스트, 비기능 요구사항 관점에서 차례로 검토하는 오픈소스 라이브러리다. 검토 결과를 바탕으로 명세를 고치는 역할은 사람이 맡으며, 라이브러리가 명세나 코드를 직접 수정하지는 않는다.

Sparring은 초안 작성 중 특정 관점의 의견을 묻는 방식과, 완성된 명세를 빌드 전에 다섯 페르소나로 검토하는 전체 파이프라인을 지원한다. 초안 검토는 파일 설정 없이 채팅·CLI·IDE에서 쓸 수 있고, 전체 파이프라인은 이전 검토 결과를 이어가려면 SPARRING_FINDINGS.md가 필요하다. 전체 절차는 채팅 세션 간 결과가 자동으로 유지되지 않아 CLI나 IDE 사용을 권장한다.

페르소나는 제품의 성공 기준, 시스템 경계와 외부 서비스 계약, 사용자 상태와 오류 처리, 테스트 가능성, 시간 제한·복원력 같은 비기능 요구사항을 살핀다. 차단 항목은 다음 단계로 가기 전에 사람이 명세에서 해결하고, 조건부 항목은 사람이 판단한다. 권장 순서는 제품 관리, 아키텍트, UI 디자이너, QA Functional, QA NFQ, 종합 단계다. 순서를 바꿔도 실행할 수 있지만, 앞선 페르소나의 결과가 다음 검토의 입력이 되므로 순서가 결과에 영향을 준다.

제작자가 공개한 OpenSpec 실행 사례에서는 4개 인수 기준으로 시작한 가상의 Flowdesk 기능 명세를 다섯 페르소나가 5회 검토했다. 제작자에 따르면 차단 항목 14개를 해결한 뒤 명세는 9개 인수 기준으로 늘었고, 종합 결과는 통과였다. 이는 공개된 사례의 결과이며, 라이브러리의 독립적인 성능 검증을 뜻하지 않는다. 사례는 v1.2 이전 형식으로, 종합 보고서와 SPARRING_CONTEXT.md를 포함하는 v1.2 전체 파이프라인 예시는 아직 준비 중이라고 설명한다. 실행 기록과 결과물

OpenSpec을 쓰는 경우 저장소를 복제하고 스키마를 설치한다.

bash
git clone https://github.com/sidgitind/Sparring /tmp/sparring
cp -r /tmp/sparring/openspec-schema/openspec/schemas/sparring openspec/schemas/sparring
openspec schema validate sparring

이후 openspec/config.yaml에서 기존 schema: 줄을 schema: sparring으로 바꾸고 sparring_library_path: /tmp/sparring을 설정한다. OpenSpec에서는 design과 tasks 사이에 검토 단계를 넣으며, /opsx:continue로 한 단계씩 진행한다. 설치와 OpenSpec 설정 안내

OpenSpec 없이도 파일을 읽는 Claude Code, Cursor, Windsurf 등에서 사용할 수 있다. 제품 명세 하나를 단위로 쓰는 도구라 로드맵이나 제품 전체를 한 번에 검토하는 용도는 아니다. 제작자는 아키텍처 검토를 대체하지 않으며, 명세가 크게 바뀌면 관련 페르소나를 다시 실행해야 한다고 안내한다. 또 외부 서비스 호출에는 명시적 시간 제한과 실패 응답 형태를 두고, 실패를 드러내야 하는 등 QA NFQ가 사전 확인하는 필수 조건이 있다. Sparring 저장소