← App Playground
목록으로

에이전트 설계서 작성 프롬프트

나는 [작업명]을 자동화하는 에이전트 시스템을 설계하려고 한다. ## 작업 개요 - **목적**: - **입력**: - **출력**: - **주요 제약조건**: --- ## 내가 원하는 산출물 최종적으로 **하나의 통합 설계서 문서(md 파일)**를 만들고 싶다. 이 문서는 Claude Code에서 구체적인 구현을 할 때 참조할 **계획서** 역할을 한다. ### 설계서에 포함될 내용 1. **작업 컨텍스트 문서** - 배경, 목적, 범위, 입출력 정의, 제약조건, 용어 정의 2. **워크플로우 정의** - 단계별 흐름도, 분기조건, 상태 전이 - LLM 판단 영역과 코드 처리 영역 구분 - LLM이 직접 수행할 판단/의사결정 단계 명시 - 각 단계의 성공 기준 및 검증 방법 - 실패 시 처리 방식 (재시도 / 에스컬레이션 / 스킵) 3. **구현 스펙** (구조 개요만, 상세 내용 X) - 폴더 구조 - CLAUDE.md 핵심 섹션 목록 - 에이전트 구조 (단일 또는 서브에이전트) - 작업 단계별 처리 방식 (에이전트 판단 vs 스크립트) - 스킬/스크립트 파일 목록, 역할, 트리거 조건(언제 이 스킬이 호출되는가) - 서브에이전트 사용 시: 이름, 역할, 입출력, 데이터 전달 방식 - 주요 산출물 파일 형식 --- ## 설계 원칙 ### [폴더 구조] 에이전트 설정은 `/.claude` 하위에 배치한다. ``` /project-root ├── CLAUDE.md # 메인 에이전트 지침 ├── /.claude │ ├── /skills/<skill-name> │ │ ├── SKILL.md │ │ ├── /scripts # 결정론적 도구 │ │ └── /references # (선택) 도메인 지식, API 가이드 등 │ └── /agents/<subagent-name> │ └── AGENT.md ├── /output # 산출물 └── /docs # (선택) 참고 문서 ``` ### [판단과 코드의 역할 분리] | 에이전트가 직접 수행 | 스크립트로 처리 | |---------------------|----------------| | 분류, 의사결정, 우선순위 판단 | 파일 I/O, 데이터 파싱 | | 품질 평가, 정성적 분석 | 외부 API 호출 | | 컨텍스트 기반 추론 | 반복 처리, 집계 | | 자연어 생성/요약 | 정적 분석, 테스트 실행 | ### [검증 패턴] 각 워크플로우 단계에는 반드시 성공 기준을 정의한다. 검증 유형은 산출물 성격에 따라 선택한다. | 검증 유형 | 적용 대상 | 예시 | |-----------|----------|------| | **스키마 검증** | 구조화된 산출물 | 필수 필드 존재, 타입 체크 | | **규칙 기반** | 정량 기준이 있는 작업 | 항목 수, 글자 수, 필수 섹션 포함 | | **LLM 자기 검증** | 정성적 판단 작업 | 요약 품질, 톤 적합성, 누락 여부 | | **사람 검토** | 고위험 최종 산출물 | 외부 발송 문서, 의사결정 | 설계서 작성 시 각 단계마다 다음을 명시한다: - **성공 기준**: 이 단계의 산출물이 충족해야 할 조건 - **검증 방법**: 위 유형 중 어떤 방식으로 확인하는가 - **실패 시 처리**: 아래 패턴 중 선택 ### [실패 처리] | 방식 | 사용 시점 | |------|----------| | **자동 재시도** | 검증 실패가 단순 누락/형식 오류인 경우 (최대 재시도 횟수 명시) | | **에스컬레이션** | 판단 불확실성이 높거나 기준 자체가 모호한 경우 → 사람에게 확인 요청 | | **스킵 + 로그** | 선택적 단계이며 전체 흐름에 영향 없는 경우 → 사유를 로그에 기록 | ### [에이전트 구조 선택] **단일 에이전트** (기본): - 워크플로우가 단순하고 지침이 짧을 때 **서브에이전트 분리** (필요 시): - **컨텍스트 윈도우 최적화가 필요할 때** -- 지침이 길어서 항상 로드하면 비효율적인 경우, 서브에이전트로 분리하여 필요한 시점에만 해당 지침 로드 - 독립적인 작업 블록이 명확히 구분되고, 각각 다른 도메인 지식이 필요할 때 ### [서브에이전트 설계] - 메인 에이전트(CLAUDE.md)가 오케스트레이터 역할 - 서브에이전트 간 직접 호출 금지 → 메인을 통해 조율 - AGENT.md에 역할, 트리거 조건, 입출력, 참조 스킬 명시 ### [데이터 전달 패턴] | 방식 | 사용 시점 | |------|----------| | **파일 기반** | 데이터가 크거나 구조화된 경우 → `/output/step1_result.json` | | **프롬프트 인라인** | 데이터가 작고 단순한 경우 | 권장: 중간 산출물은 `/output/`에 저장하고 파일 경로만 전달 ### [스킬 vs 서브에이전트] | 스킬 | 서브에이전트 | |------|-------------| | 도구/기능 단위 (작음) | 역할/책임 단위 (큼) | | 여러 에이전트가 공유 가능 | 특정 워크플로우 전용 | | 예: `file-parser`, `api-caller` | 예: `code-reviewer`, `report-generator` | --- ## 주의사항 - CLAUDE.md, AGENT.md, 스킬 파일의 **상세 내용은 작성하지 않는다** (구현 시 작성) - 구현 스펙은 **구조와 역할 정의 수준**까지만 --- ## 진행 방식 ### 1단계: 작업 파악 (필수 확인 항목) 사용자 입력을 받으면 아래 세 영역의 정보가 충분한지 판단한다. **부족한 영역이 있으면 해당 영역의 질문만 한다. 모두 충분하면 바로 설계에 착수한다.** | 영역 | 확인할 것 | 부족할 때 질문 예시 | |------|----------|-------------------| | **목표와 성공 기준** | 이 에이전트가 궁극적으로 달성해야 할 목표가 명확한가? 성공/실패를 판단할 수 있는 기준이 있는가? | "이 에이전트가 잘 작동했다는 걸 어떻게 알 수 있나요? 어떤 결과가 나와야 성공인가요?" | | **작업 절차** | 입력→출력까지의 구체적 단계가 있는가? 분기 조건이 명확한가? | "A 이후에 B로 갈지 C로 갈지는 어떤 기준으로 판단하나요?" | | **에이전트 조직** | 단일/멀티 에이전트 선호가 있는가? 역할 분리 기준이 있는가? | "이 작업을 하나의 에이전트가 순차 처리하면 되나요, 아니면 분리하고 싶은 역할이 있나요?" | | **기술/도구 대안** | 현재 쓰는 도구가 있는가? 없다면 목적에 맞는 도구·API·라이브러리를 역제시하여 선택을 도울 수 있는가? | "지금 쓰고 있는 도구가 있나요? 없다면 이런 방식들이 가능한데, 어떤 게 상황에 맞을 것 같나요?" | ### 질문 원칙 - 질문은 뻔하거나 상투적이지 않아야 하며, 매우 심층적으로 접근하여 내용이 완성될 때까지 인터뷰를 계속 이어가야 합니다 (최대 3턴) - 사용자가 모르겠다고 하면 설계 원칙에 따라 LLM이 판단하고 그 근거를 명시한다 - 사용자가 "알아서 해줘"라고 하면, 합리적 기본값을 적용하되 핵심 선택지만 확인한다 ### 2단계: 설계서 작성 확인이 끝나면 "설계서에 포함될 내용"에 따라 통합 설계서(md 파일)를 작성한다. ### 3단계: 리뷰 설계서 초안을 제시하고, 수정할 부분이 있는지 확인한다.