Claude Code로 제안서 작성 파이프라인 만들기

Claude Code로 제안서 작성 파이프라인 만들기

2026, Jul 21    

공공 SI 사업 제안서 Claude Code로 RFP 분석부터 본문 작성·최종 검토까지 이어지는 파이프라인을 만들어봤다. 이틀간 실제로 돌려본 과정을 프로젝트 정보는 일반화해서 기록한다.

TL;DR: 제안서 작업 폴더를 Claude Code 프로젝트로 만들고(CLAUDE.md + prompts/ 모드별 프롬프트 5종), “RFP 분석·견적 → 목차 설계 → 섹션별 본문 작성 → 최종 검토”의 4단계 파이프라인으로 구성했다. 핵심은 단계마다 산출물을 파일로 남기고, 다음 단계가 이전 산출물을 입력으로 받게 하는 것. 제안서를 작성하기 위한 기초자료 분석과 검토 문서까지 만든 과정이다(클로드코드가 정리는 잘한다).

왜 파이프라인으로 만들었나?

제안서 작성은 “RFP를 읽고 → 요구사항을 정리하고 → 목차를 짜고 → 섹션별로 쓰고 → 원문과 대조 검토”하는 정형화된 흐름이다. 한 번의 긴 대화로 다 시키면 컨텍스트가 흐려지고 중간 결과를 재사용하기 어렵다. 그래서 각 단계를 모드별 프롬프트 파일로 분리하고, 단계별 산출물을 마크다운 파일로 남기는 구조를 잡았다. (클로드코드가 작업을 어떻게 관리하고 진행되는지도 확인고 싶었다.)

프로젝트 구조

제안작업폴더/
├── CLAUDE.md                  # 프로젝트 지침 (사업 개요, 작성 규칙, 단계 정의)
├── prompts/
│   ├── analyze_rfp.md         # 1단계: RFP 분석 + 기능×역할별 MM 견적
│   ├── design_toc.md          # 2단계: 제안서 목차 설계
│   ├── draft_section.md       # 3단계: 섹션별 본문 작성
│   ├── estimate_mm.md         # 3-1단계 : 견적 산출 규칙 (투입인원별 일정표 포함)
│   └── final_review.md        # 4단계: 원문 대조 최종 검토
├── 제안요청서/                # RFP 원문 (hwpx 등)
└── (단계별 산출물 .md)

프롬프트 초안은 먼저 손으로 대략 만들고, Claude Code에 “분석하고 검토해달라”고 시켜서 다듬었다. 이후 작업 중에 “MM 견적 단계 추가”, “투입인원별 일정표 항목 추가”처럼 프롬프트 자체를 계속 개정했는데, 각 단계를 파일로 분리해둔 덕분에 수정이 쉬웠다. (아직은 단계별로 확인이 필요하다)

4단계 파이프라인

1단계 — RFP 분석 및 견적

RFP 원문에서 요구사항을 추출해 매트릭스로 정리하고, 기능×역할별 MM(Man-Month) 견적과 투입인원별 일정표까지 산출한다. 견적을 별도 단계로 뒀다가 RFP 분석 단계에 통합했는데, 요구사항과 견적 근거가 한 문서에 있어야 대조가 쉽기 때문이다.

analyze_rfp.md의 핵심 구조 (일반화 발췌):

[mode]: analyze_rfp

[사업 고정정보] — (확정 사실이므로 재질문 없이 전제할 것)
- 발주처: {기관명} / 사업유형: 공공 SW 구축 / 기간: {n개월} / 금액: {금액}
- 평가배점: 기술 90(정량 10 + 정성 80) / 가격 10, 기술 85% 미만 협상제외
- 정성 세부배점(80): 전략·방법론(20) / 수행계획(25) / 수행기반(15) / 관리(10) / 지원(10)
- 컨소시엄: {주관사}(핵심 솔루션 영역) + {협력사}(인프라·보안)
- 핵심 리스크: 제안=계약 동일효력(과도 확약 주의), {필수 전제사항}

[rfp_text]: {RFP/과업지시서 전문 또는 요약}

위 정보를 기반으로 "1단계: RFP 분석"을 수행해줘. 출력 구조:
1. 사업 개요 요약 (제안 관점의 함의 포함)
2. 필수 요구사항 및 제외사항 — 요구사항 카테고리(SFR/PER/SER/ECR/DAR/INR/COR)별
   그룹화, 각 항목에 컨소시엄사별 대응 가능 여부·역할 명시
3. 평가항목 및 배점 구조 — [평가항목/배점/공략 포인트] 표
4. 형식·제출 요건 체크리스트
5. 주요 리스크 및 유의사항 (기술·일정·인력·계약)
6. 다음 단계 제안 (한 줄)

견적 프롬프트(estimate_mm.md)는 기능(모듈) 분해 목록과 역할(Role) 컬럼을 미리 정의해두고 표 형식을 강제하는 것이 포인트다:

[역할 컬럼 정의] PM·PMO / 아키텍트 / AI·LLM개발 / 검색·RAG / 데이터 /
  응용개발 / 연계 / 인프라 / 보안 / QA / 기술지원

[출력 구조]
1. 산정 전제·가정 (기간·등급 구성·생산성·범위 경계 명시)
2. 기능×역할별 MM 상세표 — 각 MM 소수 1자리, 산정근거·리스크 컬럼 포함
3. 집계표 — 역할별 / 수행주체별 / 총 MM
4. 투입인원별 일정표 — 역할×월 M/M 부하 스케줄 표.
   행 합계 = 역할별 총 MM 일치, 표준 S-커브 배분(착수 소수 → 개발 피크 →
   안정화 감소), PM은 상시·QA는 후반 집중

2단계 — 목차 설계

1단계 산출물을 입력으로 평가 배점표와 요구사항 커버리지를 고려한 목차를 설계한다. 이 단계가 끝나면 RFP 원문·공고문과 다시 대조하는 중간 검토를 한 번 돌렸다. 실제로 원문 대조에서 목차 누락이 발견되어 목차 프롬프트와 산출물을 함께 수정했다.

design_toc.md에서 중요한 규칙은 두 가지다 — RFP가 목차를 지정하면 그대로 준용할 것, 페이지 배분은 배점에 비례할 것:

[mode]: design_toc

[제안서 규격 — 원문 확정, 준수 필수]
- 제안서 단면 {n}p 내외 + 제안요약서 {n}p 내외(별책)
- RFP가 제안서 목차(Ⅰ~Ⅶ)를 지정 → 반드시 준용
- 요구항목 참조표(조견표) 필수 (미등록 시 비교평가 불가)

[rfp_summary]: {1단계 RFP 분석 요약 붙여넣기}

"2단계: 목차 수립"을 수행해줘.
1. 전체 구조 — RFP 지정 목차를 그대로 채택하고, 각 목차가 어떤
   평가항목·배점에 대응되는지 매핑. 배점표 세부항목이 하위 절에
   빠짐없이 대응되도록 구성
2. 장/절별 상세 목차와 페이지 배분 — [목차/절 | 제목 | 예상 페이지 |
   관련 평가항목·배점 | 핵심 메시지] 표. **페이지 배분은 배점에 비례**,
   과소·과다 시 비고에 사유 명시
3. 제안요약서(별책) 구성 — 평가위원 직관 소구 포인트 반영
4. 다음 단계 제안 (한 줄)

3단계 — 섹션별 본문 작성

목차의 장(章) 단위로 본문을 작성한다. 한 번에 전체를 쓰지 않고 “Ⅲ-2 기능요구사항 진행”, “Ⅳ 수행기반 진행”처럼 섹션 단위로 지시하는 것이 품질 관리에 유리했다. 특히 기능요구사항은 처음에 개요 수준으로 나왔는데, “각 세부 항목별 구현방안을 상세설계서 수준으로” 다시 지시해 SFR/PER/INR(기능/성능/인터페이스) 요구사항별 상세설계 문서로 재작성했다.

draft_section.md는 이전 단계 산출물을 입력 슬롯으로 받고, 공공 제안서 특유의 작성 규칙을 강제한다:

[mode]: draft_section

[target_section]: {예: Ⅲ-2. 기능요구사항}
[approved_toc]: {2단계 확정 목차와 페이지 배분 표}
[rfp_summary]: {1단계 RFP 분석 요약}
[company_profile]: {제안사 소개·유사 실적·핵심 솔루션 요약}

지정된 장/절의 본문 초안을 작성해줘. 요청 사항:
- 구조는 [목표 → 현황/문제 → 제안 내용 → 기대 효과] 순서
- 공공기관 제안서에 맞는 격식 있는 한국어(개조식 병용)
- 해당 절이 대응하는 RFP 요구사항 ID를 본문에 매핑해 추적성 확보
- 겨냥하는 평가항목을 의식해 차별성·구체성·실현가능성을 명시적으로
- 성능·수치는 목표값과 달성·측정 방법을 함께 제시하되,
  제안=계약 효력 리스크를 고려해 과도 확약 금지
- (조직도 표 위치), (아키텍처 구성도 위치)처럼 시각화 아이디어 병기
- 분량은 A4 기준 {n}페이지 상정

4단계 — 최종 검토와 파생 산출물

전체 산출물을 요구항목 조견표(요구사항 ID ↔ 제안서 목차 매핑)와 함께 최종 검토한다. final_review.md는 커버리지 전수 점검과 제안서 감점요인 점검이 핵심이다:

[mode]: final_review

[rfp_summary]: {1단계 요약} / [proposal_toc]: {확정 목차}
[proposal_text]: {작성된 본문 전체 또는 핵심 부분}

"4단계: 최종 검토"를 수행해줘.
1. 요구사항 충족 여부 — 전체 요구사항의 카테고리별 전수 커버리지 점검,
   각 항목이 제안서 어느 장/절에서 다뤄졌는지 매핑, 누락 항목은
   보완 위치·문단까지 제안
2. 평가항목 관점 — 배점 항목별 강점·약점, 약점은 협상적격 기준
   (기술 85% 미만 탈락) 방어 관점에서 우선순위를 매겨 보완 제안
3. 형식·분량·제출요건 — 지정 목차 준용, 배점=분량 균형, 조견표·
   붙임서식 누락 점검
4. 표현·객관성 — '할 수 있다/고려' 등 모호표현(=불가능 간주) 사용 여부,
   계량화 가능 항목의 수치화 여부, 주장의 입증가능성 점검
5. 전반적 개선 제안 5개 이내

검토 결과에서 파생 산출물도 자연스럽게 나온다:

  • 고객사 확인 필요 항목 정리 → 서면 질의서 양식으로 변환
  • 컨소시엄 구성 시 주관사-컨소사 간 협의 필요 기능 항목 정리

해보고 느낀 점

  1. 프롬프트를 파일로 관리하면 재사용된다. 다음 제안에서는 prompts/ 폴더만 복사해서 시작하면 된다. 사업마다 다른 부분은 CLAUDE.md에만 반영한다.
  2. 중간 검토(원문 대조)를 파이프라인에 넣어야 한다. 2단계 후 원문 대조에서 잡은 누락이 3단계 전체 품질을 좌우했다. 마지막에 한 번만 검토하면 되돌리기 비싸다(토큰이 얼마나 소요되는지 감잡기).
  3. 섹션 단위 진행이 긴 문서의 정답이다. “다음 단계 진행”만으로 이어갈 수 있도록 단계·섹션 정의를 프롬프트에 명시해두면, 방향 지시와 품질 판단에만 집중할 수 있다.
  4. LLM 산출물은 초안이다. 견적 수치, 요구사항 해석은 반드시 직접 검증해야 하고, 확인 불가한 항목은 “고객사 확인 필요”로 분리해서 질의로 넘기는 흐름이 안전하다.
  5. 잘 정리되면 스킬로 만들 계획이다.

참고