Apps in ChatGPT 서비스 런칭 설계

소개

기존에 만들고 있던 서비스를 "Apps in ChatGPT"에 런칭 하기 위해 현재 만들고 있는 서비스를 OpenAI에서 제공하는 개발 가이드라인에 맞춰서 아이디에이션(기획, 설계 등)을 시도 하였습니다.

어떤 새로운 서비스나 기능이 나온다면, 해당 벤더에서 제공하는 문서를 먼저 읽어보고, 시도해보고, 응용하여 개선 작업을 반복해야 한다고 생각 하고 있습니다.

진행 방법

사용 도구:

Windows WSL 환경

프로젝트 오케스트레이션 및 아이데이션 역할: Codex 5.1 , Gemini 2.5 Pro

IDE Tool: Cursor IDE

코드 실행: Claude Code 2.0.42

OpenAI Apps SDK 문서 참조: https://developers.openai.com/apps-sdk

각 페이지 문서를 AI하고 소통하고자 모두 MD 파일로 다운로드 수행

각 페이지 문서를 AI하고 소통하고자 모두 MD 파일로 다운로드 수행

새 프로젝트를 시작하는 옵션이 강조 표시된 페이지

사람에게 보낸 편지의 예

위와 같은 방법으로 Build, Core Concepts, Deploy, Guides, Plan, Quickstart, Reference 페이지를 Markdown 파일로 다운로드하여 Codex, Gemini에게 아이데이션 프롬프트 작성.

동일한 질문을 Codex와 Gemini에게 질문을 한 후, Claude 코드에게 AI Agents, Skills 기능을 활용하여 회의를 진행하도록 요청.

[Codex]

우리가 Apps in ChatGPT에 서비스를 하기 위해 sprint4에서 우선순위 1로 하여 작업을 하기로 했자나.
  그래서, 내가 AppsinChatGPT SDK 문서를 전부 다운로드 받았어.
  문서 위치는 Docs/03_Engineering/AppsinChatGPT/*.md 파일들이야.
  우리가 이 문서를 기반으로 우리 서비스에 맞춰서 어떤 아이디어로 구현을 하면 좋을지 아이디어가 필요해.
  일단 너가 문서들을 전부 다 읽고, 이해를 하고 있어봐.


• Explored
  └ List AppsinChatGPT
    Read Plan.md, Core, Core Concepts.md

─ Worked for 25s ───────────────────────────────────────────────────────────────────────────────────────────────────────

• Docs/03_Engineering/AppsinChatGPT 폴더 내 Plan, Core Concepts, Build, Quickstart, Guides, Reference, Deploy 문서를 모
  두 읽고 정리했습니다. Apps SDK 전반(Use case 계획 → MCP 서버/툴 계약 → 컴포넌트 UX → 배포 흐름)과 예제 구조까지 파악 완료했습니다. 다음 아이디어 도출/실행 단계 진행할 준비 되었습니다.

[Gemini]

문서의 양이 방대했지만, 우리 서비스에 어떻게 적용할 수 있을지에 대한 전체적인 그림을 그릴 수 있었습니다. 제가 이해한 핵심 내용은 다음과 같습니다.

   1. 3단 구조 (MCP 서버, 위젯, ChatGPT 호스트):
       * 우리 백엔드 로직(사주, 아이돌 추천 등)은 MCP 서버를 통해 'Tool'로 노출됩니다.
       * 사용자에게 보여질 UI는 웹 위젯(React 컴포넌트 등)으로 만들어 등록합니다.
       * ChatGPT는 사용자의 말을 해석해 우리의 'Tool'을 호출하고, 그 결과와 연결된 '위젯'을 화면에
         렌더링합니다.

   2. 데이터 분리 원칙 (`structuredContent` vs `_meta`):
       * Tool이 반환하는 데이터 중, 모델(ChatGPT)이 읽고 이해해야 할 핵심 내용은 structuredContent에
         담습니다.
       * UI 렌더링에만 필요한 상세 데이터나 민감 정보는 _meta에 담아 모델에게는 숨기고 위젯에만
         전달합니다. 이는 매우 중요한 보안 및 성능 원칙입니다.

   3. 상태 관리 전략 (서버, 위젯, 백엔드):
       * 사주 원국, 아이돌 정보 등 원본 데이터는 우리 서버(Supabase)가 'Source of Truth'입니다.
       * UI 상태(예: 카드 선택, 정렬 순서)는 window.openai.setWidgetState를 통해 위젯 단위로 임시
         저장됩니다.
       * 사용자 설정처럼 여러 세션에 걸쳐 유지되어야 할 정보는 별도의 DB 테이블과 API를 통해 관리해야
         합니다.

   4. 인증 방식 확정 (Custom OAuth 2.1):
       * 문서를 통해, 우리가 Sprint 4 계획에서 가설로 세웠던 "Clerk 세션은 직접 연동이 불가능하며, 표준
         OAuth 2.1 흐름을 직접 구현해야 한다"는 점을 명확히 확인했습니다. 이는 우리 기술 검증(Spike)
         계획의 타당성을 높여줍니다.

  문서에 대한 이해를 마쳤습니다. 이제 이 기술들을 바탕으로 우리 서비스에 적용할 구체적인
  아이디어에 대해 논의할 준비가 되었습니다

[Claude Code] 회의 요청 프롬프트

에이전트 회의 소집 프롬프트 (Apps in ChatGPT P0)

  목표
  Sprint4 Docs(.Task/task/sprint4/P4-T-000_Sprint4_Spike_Planning.md, Sprint4_Backlog_Overview.md, sprint4-todo.md)와
  Apps SDK 문서(Docs/03_Engineering/AppsinChatGPT/*.md)를 참고해 Apps in ChatGPT P0 플로우(사주 → 아이돌 → 상품) 구현 전
  략을 확정한다. 이 회의 결과는 P4-T-000 Technical Spike 실행 계획의 직접 입력 자료가 된다.

  참석자

  - 주재자: Gemini (K-Fate Compass)
  - product-architect: 유스케이스 플로우/정책
  - ui-ux-designer: Inline/Fullscreen 위젯 UX + setWidgetState 전략
  - ai-engineer: MCP tools (calculate_bazi, recommend_idols, get_products) – structuredContent / _meta 계약, RAG 연계
  - architect-reviewer: Custom OAuth 2.1 + Railway SSE + Service Layer 리팩토링 검토, 보안 리스크
  - docs-architect: 문서/추적 체계 (Roadmap v3.5, PRD v3.1, sprint4-todo, P4-T-000)
  - 스킬: task-tracker (회의록/액션 아이템 기록)

  ———

  ### ✅ Step-by-Step

  1. 사전 준비
      -task-tracker로 회의 노트 초안 생성(회의 목적, 안건, 참석자).
      - 참고 문서:
          - .Task/task/sprint4/P4-T-000_Sprint4_Spike_Planning.md
          - .Task/task/sprint4/Sprint4_Backlog_Overview.md
          - .Task/task/sprint4/sprint4-todo.md
          - Docs/03_Engineering/AppsinChatGPT/*.md (Plan/Core Concepts/Build/Guides/Reference/Deploy/Quickstart)
  2. 회의 진행 (Moderator: Gemini)
      1. Apps in ChatGPT 사용자 여정 확정
          - product-architect가 사주→아이돌→상품 P0 플로우 제시
          - ui-ux-designer가 플로우 기반 UX 피드백(Inline vs Fullscreen)
      2. MCP Tool & Metadata 설계
          - ai-engineer가 3개 Tool의 inputSchema, structuredContent, _meta 스키마 초안 제안
      3. 위젯 UX 및 상태 관리
          - ui-ux-designer가 widget type, window.openai.setWidgetState, _meta 전달 방식 발표
      4. 인증 및 배포 아키텍처 검토
          - architect-reviewer가 Custom OAuth 2.1 구현, Railway SSE 서버 운용, Service Layer 리팩토링 및 보안 이슈 발표
      5. 문서화 및 추적 계획
          - docs-architect가 회의 결과를 Roadmap/PRD/sprint4-todo/P4-T-000에 반영할 방법 제안
  3. 결과 정리 (task-tracker)
      - Key Decisions: 안건별 확정 내용
      - Action Items: [담당자] [작업] [기한] 형식
      - TBDs: 후속 논의 필요 사항
      - Next Steps: 예) P4-T-001 Phase0 조사 착수, MCP 프로토타입 설계 등

[Claude Code] 프롬프트 요청 결과

Apps in ChatGPT 전략 회의 완료
Sprint 4 P4-T-000 전문 에이전트 회의가 성공적으로 완료되었습니다. 모든 회의록이 작성되고 커밋되었습니다.
📋 완료된 작업
1. 6개 전문 에이전트 병렬/순차 실행
✅ Round 1 (병렬): product-architect + ui-ux-designer
✅ Round 2 (병렬): ai-engineer + backend-architect
✅ Round 3 (순차): architect-reviewer
✅ Round 4 (순차): docs-architect
2. 공식 회의록 작성 및 커밋
📄 .Task/task/sprint4/P4-T-000_Meeting_Minutes_2025-11-16.md (1,000+ 줄)
🔹 Commit: 334c701 - "docs(sprint4): Add P4-T-000 Meeting Minutes - Apps in ChatGPT Strategy"
🔹 8개 파일 커밋 (5,133줄 추가)
🎯 핵심 결정 사항 (Decision Matrix)
총 20개 결정 추적 (D-001 ~ D-020):
결정 ID	결정 내용	승인 상태
D-001	사주→아이돌→상품 플로우 확정	✅ 권고안
D-002	Widget UX 디자인 (Bar/1+2/Grid)	✅ 권고안
D-003	MCP Tools 3개 (calculate_bazi/recommend_idols/get_products)	✅ 권고안
D-004	Service Layer 아키텍처 (DI Container)	✅ 권고안
D-005	OAuth 전략 (Auth0 vs Supabase vs DIY)	⏳ Manager 승인 대기
D-006	예산 승인 ($135-158/mo)	⏳ Manager 승인 대기
D-007	RAG 기본값 (includeReason: false/true)	⏳ Manager 승인 대기
D-008	Service Layer 범위 (3 vs 6 services)	⏳ Manager 승인 대기
D-009	Redis 3-tier 캐싱 전략	✅ 권고안
D-010	Railway 배포 (+Upstash Redis)	✅ 권고안
...	(나머지 10개 결정은 회의록 참조)	—
🚨 긴급 Manager 결정 필요 (우선순위순)
1. OAuth 전략 결정 (최우선)
보안 등급: C+ (68/100) — architect-reviewer 경고
옵션:
A. Auth0 Essential ($23/mo, 보안 A-, 2일 구현)
B. Supabase Auth ($0, 보안 B+, 3일 구현)
C. DIY + KMS ($20/mo, 보안 B, 5일 구현)
권고: 옵션 A 또는 B (architect-reviewer)
2. 예산 승인
Base: $135/mo (+$15 from $120)
Auth0 선택 시: $158/mo (+$38)
KMS 선택 시: $155/mo (+$35)
3. RAG 기본값
includeReason=false (권장): $10/mo, 응답 200-300ms
includeReason=true: $43/mo, 응답 400-600ms
4. Service Layer 범위
3 services (BaZi/Idol/Product): 5일
6 services (+ User/Order/Analytics): 10일
5. 타임라인 연장
기존: 15일 (2025-11-25 ~ 2025-12-09)
제안: 18일 (Critical Issues CR-001~004 해결 위해 +3일)
⚠️ Critical Issues (P0, architect-reviewer 식별)
Issue ID	설명	영향	해결 시간
CR-001	JWT private key in env vars	보안 C+	2일 (KMS 마이그레이션)
CR-002	N+1 query in IdolService	성능 저하	1일 (DataLoader 패턴)
CR-003	Cache stampede 위험	부하 급증	1일 (확률적 만료)
CR-004	Token revocation 없음	보안 취약	2일 (Redis blacklist)
📚 문서화 계획 (docs-architect)
4개 신규 ADR 작성:
ADR-011: MCP Server Architecture
ADR-012: Service Layer DI Pattern
ADR-013: Custom OAuth 2.0 Implementation
ADR-014: Widget UX A/B Testing Framework
8개 기존 문서 업데이트:
Roadmap.md v3.5 → v3.6
PRD v3.1 → v3.2
SystemArchitecture v2.0.0 → v2.1.0
DesignSystem v2.3 → v2.4
(나머지 4개는 회의록 참조)
🔄 Next Steps
Manager Action Required:
📋 회의록 검토: P4-T-000_Meeting_Minutes_2025-11-16.md
✅ 5개 긴급 결정 승인 (OAuth/예산/RAG/Service Layer/타임라인)
🚀 승인 후 P4-T-001 (Phase 0 Go/No-Go) 시작
개발팀 Standby:
P4-T-002 (MCP Server MVP) — Track 1
P4-T-003 (Service Layer 리팩토링) — Track 2
Critical Issues 해결 계획 수립 대기
https://mzsaju.co.kr
✶ Insight ───────────────────────────────────── 이번 에이전트 회의는 멀티 에이전트 오케스트레이션의 모범 사례를 보여줍니다:
병렬 실행으로 효율 극대화: Round 1과 2에서 독립적인 에이전트를 동시 실행하여 4개 에이전트 작업을 절반 시간에 완료했습니다.
의존성 기반 순차 실행: architect-reviewer와 docs-architect는 이전 에이전트 결과를 입력으로 필요하므로 순차 실행하여 품질 높은 감리와 문서화 전략을 도출했습니다.
비동기 의사결정 패턴: Manager는 실시간 참여 없이 회의록을 통해 검토하고 결정할 수 있으며, 긴급도에 따라 5개 결정 사항을 우선순위화했습니다. ───────────────────────────────────

앞으로의 계획이 있다면 들려주세요.

AI 도구들하고 많은 대화를 해보고, 어떤것이 가장 최선인지 고민해보고, 결정을 해야 할 것 같습니다.

3
5개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요