diff --git "a/app.py" "b/app.py" new file mode 100644--- /dev/null +++ "b/app.py" @@ -0,0 +1,2098 @@ +# ========================================================= +# DSCR 프롬프트 코칭 시스템 (Complete Learning Edition) +# 허깅페이스 배포용 app.py +# ========================================================= + +import gradio as gr +import re +from typing import List + +# ========================================================= +# 2. 확장된 데이터 구조 (모든 누락 항목 추가) +# ========================================================= + +ALL_TECHS = [ + "Persona Prompting","Few-shot Prompting","Self-consistency Prompting","Output Formatting", + "Chain-of-Thought (CoT)","Constrained Prompting","RAG Prompting","Step-back Prompting","Role Prompting", +] + +# 확장된 기술 설명 +TECH_DETAILED = { + "Persona Prompting": { + "desc": "대상 역할/세그먼트의 언어·KPI·관심사와 메시지를 정렬해 반응률·공감도를 높이는 기술", + "purpose": "누구에게 말하는지 분명히 해 가치가 '그들의 언어'로 전달되게 함", + "when_to_use": "타겟 오디언스가 명확하고, 그들만의 고유한 관심사나 업무 용어가 있을 때", + "mechanics": [ + "역할/권한/관심 KPI 명시 (예: Sales Leader = 파이프라인·승률·리드타임)", + "톤/금칙어/선호 표현 정의 (직설·간결·숫자/ROI 중심, 모호어 금지)", + "페르소나별 문장 매핑 (문제→가치→증거→CTA 흐름)" + ], + "real_example": """ +**Before (일반적)**: "저희 솔루션을 소개하고 싶습니다" +**After (CEO 페르소나)**: "이번 분기 운영비 15% 절감으로 EBITDA 개선에 기여할 방안을 제안드립니다" +**After (개발자 페르소나)**: "API 응답시간 40% 단축과 에러율 0.1% 달성한 아키텍처를 공유드립니다" + """, + "tips": "페르소나 조사 시 LinkedIn, 업계 리포트, 고객 인터뷰를 활용해 실제 사용 언어를 파악하세요", + "avoid": "가정에 의존한 페르소나 설정, 과도한 일반화, 업계 트렌드 무시" + }, + "Few-shot Prompting": { + "desc": "소수의 고성과 예시를 제공해 톤·구조·리듬을 모사하는 기술", + "purpose": "검증된 패턴 복제로 일관성 확보 및 품질 편차 최소화", + "when_to_use": "특정 스타일이나 형식을 정확히 따라야 할 때, 브랜드 톤 일관성이 중요할 때", + "mechanics": [ + "고성과 샘플 2~3개를 헤드라인/오프닝/근거/CTA 패턴으로 제공", + "구조적 요소별 예시 (제목 스타일, 문장 길이, 어조 등)", + "'이 톤을 모사해 3개 변형' 같은 다변량 후보 생성" + ], + "real_example": """ +**제공 예시**: +[예시 1] "Re: Q3 매출 18% 증가 달성 방법 - 15분 논의 가능할까요?" +[예시 2] "참고: 유사 업계 ROI 240% 사례 - 간단한 질문 있습니다" + +**AI 생성 결과**: +"Re: 연말 목표 달성률 95% 전략 - 10분 상담 요청드립니다" + """, + "tips": "업계 최고 성과 콘텐츠를 수집하고, A/B 테스트 승리 버전을 예시로 활용하세요", + "avoid": "예시가 너무 많아 혼란 야기, 맥락이 다른 예시 혼용, 오래된 예시 사용" + }, + "Self-consistency Prompting": { + "desc": "여러 후보안 생성 후 자체 채점으로 최적안을 선택하는 기술", + "purpose": "A/B 테스트를 내장하여 품질 향상 및 최적 선택지 도출", + "when_to_use": "중요한 커뮤니케이션에서 최고 품질이 필요할 때, 객관적 평가가 어려울 때", + "mechanics": [ + "제목 5개·바디 3개·CTA 3개 등 다변량 생성", + "체크리스트 기반 채점 (개인화/명료성/가치/스팸 회피/CTA 강도)", + "점수 매기기 → Top 1~2안 선택" + ], + "real_example": """ +**생성된 제목 후보들**: +1. "매출 증대를 위한 새로운 기회" (점수: 6/10) +2. "이번 달 파이프라인 25% 확대 방법" (점수: 9/10) ✓ +3. "혁신적인 비즈니스 솔루션 제안" (점수: 4/10) + +**채점 기준**: 구체성(3점) + 긴급성(2점) + 가치 명확성(3점) + 클릭 유도(2점) + """, + "tips": "명확한 채점 기준표를 만들고, 타겟 오디언스 관점에서 평가하세요", + "avoid": "주관적 채점 기준, 너무 많은 후보안으로 인한 혼란, 일관성 없는 평가" + }, + "Output Formatting": { + "desc": "산출물의 형식/섹션/필드를 고정하여 속도·가독성·재사용성을 확보하는 기술", + "purpose": "승인 루프 단축, 표준화를 통한 효율성 극대화", + "when_to_use": "반복적인 문서 작업, 팀 협업, 승인 프로세스가 복잡할 때", + "mechanics": [ + "유형별 템플릿 강제 (이메일/카피/보고서/PRD/API 문서)", + "필수·선택 필드 명시 및 길이 제��", + "JSON 스키마나 마크다운 구조 활용" + ], + "real_example": """ +**이메일 포맷**: +- 제목: [긴급도][카테고리] 핵심 메시지 (30자 이내) +- 오프닝: 상대방 성과/관심사 언급 (1문장) +- 가치제안: 구체적 혜택 (2-3문장) +- 증거: 데이터/사례 (1-2개) +- CTA: 명확한 다음 단계 (1문장) +- PS: 추가 가치/긴급성 (선택) + """, + "tips": "조직의 기존 템플릿을 분석하고, 가장 성과 좋은 형식을 표준화하세요", + "avoid": "과도한 제약으로 창의성 저해, 맥락을 무시한 획일적 적용" + }, + "Chain-of-Thought (CoT)": { + "desc": "목표→지표→대안→선택→실행의 단계적 추론으로 논리 비약을 최소화하는 기술", + "purpose": "분석/전략 문서의 논리 일관성 확보 및 의사결정 품질 향상", + "when_to_use": "복잡한 문제 분석, 전략 수립, 논리적 설득이 필요한 상황", + "mechanics": [ + "각 단계별 가정/근거/대안/리스크 체크 질문 부여", + "연역적/귀납적 추론 구조 명시", + "중간 결론과 최종 결론의 연결고리 확인" + ], + "real_example": """ +**단계별 추론 예시**: +1. **현황**: 고객 이탈률 15% (업계 평균 12%) +2. **원인 분석**: 온보딩 기간 평균 4주 (경쟁사 2주) +3. **가설**: 온보딩 기간 단축 → 이탈률 감소 +4. **검증**: A/B 테스트로 2주 온보딩 그룹의 이탈률 8% 확인 +5. **결론**: 온보딩 프로세스 개선으로 이탈률 50% 감소 가능 + """, + "tips": "각 단계에서 '왜?'라는 질문을 3번 이상 던지고, 반대 의견도 고려하세요", + "avoid": "논리적 비약, 확인 편향, 단순한 인과관계 가정" + }, + "Constrained Prompting": { + "desc": "길이·금칙어·필수필드·JSON 스키마 등 명확한 제약 조건을 설정하는 기술", + "purpose": "브랜드/법무/심의 리스크 최소화 및 일관성 보장", + "when_to_use": "규제 산업, 브랜드 가이드라인 준수, 대외 커뮤니케이션", + "mechanics": [ + "제목 ≤ 30자, 본문 ≤ 200단어 등 명확한 길이 제한", + "사용 금지 단어 리스트 제공", + "필수 포함 요소 체크리스트" + ], + "real_example": """ +**제약 조건 예시**: +- 길이: 제목 25자 이내, 본문 150단어 이내 +- 금지어: "보장", "확실한", "무조건", "최고의" +- 필수 포함: 회사명, 연락처, 법적 고지사항 +- 톤: 전문적이되 친근함, 과장 금지 + +**결과물 검증**: ✓ 길이 준수 ✓ 금지어 없음 ✓ 필수 요소 포함 + """, + "tips": "업계 규제 사항을 미리 조사하고, 과거 이슈 사례를 참고하여 제약 조건을 설정하세요", + "avoid": "과도한 제약으로 메시지 효과 저해, 불분명한 가이드라인" + }, + "RAG Prompting": { + "desc": "외부 보고서/DB/문서의 근거를 주입하여 최신성·신뢰성을 확보하는 기술", + "purpose": "추정/환각 방지, 출처 기반 서술로 신뢰도 향상", + "when_to_use": "최신 데이터가 중요한 상황, 정확성이 핵심인 보고서, 근거 기반 설득", + "mechanics": [ + "'문서에 없는 내용은 추정 금지, 출처 명시' 지시", + "인용/각주/링크 표기 의무화", + "여러 소스 간 일치성 검증" + ], + "real_example": """ +**참고 자료 주입**: +"다음 자료를 바탕으로 분석하세요: +- Gartner MQ 2024 (시장 현황) +- 회사 2024 Q3 실적 (내부 데이터) +- McKinsey Global Survey 2024 (트렌드) + +**결과물**: 모든 주장에 출처 표기 +"시장 성장률 23% (Gartner, 2024)" +"당사 점유율 15% 증가 (내부 실적, Q3)" + """, + "tips": "신뢰할 수 있는 1차 자료를 우선하고, 정보의 발행 날짜를 확인하세요", + "avoid": "출처 불분명한 정보 활용, 편향된 자료만 선택, 맥락 무시한 데이터 인용" + }, + "Step-back Prompting": { + "desc": "상위 목적/원칙에서 출발하여 의미 중심으로 재해석하는 기술", + "purpose": "'왜 중요한가'에 먼저 답해 경영 시사점 강화", + "when_to_use": "전략적 의사결정, 근본적 문제 해결, 조직 차원의 변화 관리", + "mechanics": [ + "상위 목표 → 핵심 원칙 → 현재 선택의 정합성 검증", + "5 Whys 기법으로 근본 원인 탐구", + "비즈니스 임팩트와 전략적 의미 연결" + ], + "real_example": """ +**Step-back 사고 과정**: +표면적 문제: "마케팅 비용이 너무 높다" +↓ +Step back: "왜 마케팅을 하는가?" → 고객 획득 +↓ +더 깊이: "왜 고객 획득이 중요한가?" → 성장 전략 +↓ +핵심 질문: "지속 ��능한 성장 방법은?" → 고객 생애가치 최적화 + """, + "tips": "문제의 증상이 아닌 근본 원인에 집중하고, 장기적 관점에서 접근하세요", + "avoid": "표면적 해결책에만 매몰, 현실성 없는 이상론, 과도한 추상화" + }, + "Role Prompting": { + "desc": "'당신은 PM/전략가/UX 라이터...'처럼 특정 관점을 고정하여 목적 적합성을 높이는 기술", + "purpose": "직무별 언어/판단 기준/우선순위 일치", + "when_to_use": "전문 분야별 결과물, 특정 직무의 관점이 필요한 상황", + "mechanics": [ + "역할별 KPI·권한·리스크 관점 명시", + "해당 직무의 전문 용어와 프레임워크 활용", + "역할별 의사결정 기준과 제약사항 반영" + ], + "real_example": """ +**PM 관점**: "사용자 스토리 형태로 요구사항을 정리하고, 우선순위는 비즈니스 가치와 개발 복잡도를 고려하여 설정하세요" + +**CFO 관점**: "ROI, EBITDA 영향, 현금흐름 관점에서 분석하고, 재무 리스크를 수치로 정량화하세요" + +**UX 디자이너 관점**: "사용자 여정과 접점별 페인포인트를 식별하고, 사용성 테스트 기준을 제시하세요" + """, + "tips": "각 역할의 실제 업무 방식과 고민을 깊이 이해하고, 해당 직무의 전문가와 검증하세요", + "avoid": "표면적 역할 이해, 직무별 차이 무시, 고정관념에 의존한 역할 설정" + } +} + +# 완전한 Pain Points 설명 +PAIN_DETAILED = { + "반응률 저조": { + "definition": "이메일 개봉률, 클릭률, 응답률이 업계 평균이나 목표치보다 현저히 낮은 상황", + "symptoms": [ + "이메일 개봉률 15% 미만 (B2B 평균 21%)", + "클릭률 2% 미만 (업계 평균 3-4%)", + "콜드 아웃리치 응답률 1% 미만", + "소셜미디어 참여도 지속적 하락" + ], + "root_causes": [ + "타겟 오디언스 불일치", + "제목/헤드라인의 매력도 부족", + "가치 제안의 모호함", + "타이밍과 채널 전략 오류" + ], + "business_impact": "고객 획득 비용 증가, 매출 목표 달성 어려움, 마케팅 ROI 하락", + "real_examples": [ + "SaaS 회사: 기능 중심 메시지 → ROI 중심으로 변경 후 응답률 3배 증가", + "컨설팅 펌: 일반적 제안 → 업계별 맞춤 사례로 개봉률 40% 개선" + ], + "measurement": "Google Analytics, 이메일 마케팅 툴, CRM 데이터로 추적" + }, + "메시지 불일치": { + "definition": "채널, 팀, 시점별로 브랜드 메시지나 톤이 일관되지 않아 브랜드 신뢰도가 저하되는 상황", + "symptoms": [ + "채널별 다른 톤앤매너 (이메일은 격식, SNS는 캐주얼)", + "팀별 상이한 가치 제안 설명", + "시기별 메시지 변화로 혼란 야기", + "브랜드 가이드라인 무시" + ], + "root_causes": [ + "명확한 브랜드 가이드라인 부재", + "팀 간 소통 부족", + "콘텐츠 검토 프로세스 미비", + "외부 에이전시와의 조율 부족" + ], + "business_impact": "브랜드 인지도 혼란, 고객 신뢰도 하락, 마케팅 효율성 저하", + "real_examples": [ + "스타트업: 창업자와 마케팅팀의 다른 메시지로 고객 혼란 → 통합 메시지 하우스 구축", + "글로벌 기업: 지역별 다른 포지셔닝 → 글로벌 브랜드 가이드라인 수립" + ], + "measurement": "브랜드 추적 조사, 소셜 미디어 멘션 분석, 고객 피드백 분석" + }, + "작성 시간 과다": { + "definition": "콘텐츠나 문서 작성에 과도한 시간이 소요되어 다른 업무에 지장을 주는 상황", + "symptoms": [ + "이메일 하나 작성에 30분 이상 소요", + "보고서 작성으로 인한 야근 빈번", + "콘텐츠 승인 과정에서 무한 수정", + "창의적 아이디어 부족으로 고민 시간 증가" + ], + "root_causes": [ + "템플릿이나 가이드라인 부재", + "명확한 목표 설정 부족", + "완벽주의 성향", + "피드백 루프의 비효율성" + ], + "business_impact": "생산성 저하, 기회비용 증가, 직원 스트레스 증가, 프로젝트 지연", + "real_examples": [ + "마케팅팀: 이메일 템플릿 도입으로 작성 시간 70% 단축", + "세일즈팀: 영업 제안서 자동화로 하루 3시간 절약" + ], + "measurement": "작업 시간 추적, 생산성 지표, 직원 만족도 조사" + }, + "A/B 테스트 부담": { + "definition": "A/B 테스트 설계, 실행, 분석에 과도한 리소스가 투입되어 부담이 되는 상황", + "symptoms": [ + "테스트 설계에 일주일 이상 소요", + "통계적 유의성 확보를 위한 긴 테스트 기간", + "결과 분석의 복잡성", + "테스트 버전 관리의 어려움" + ], + "root_causes": [ + "테스트 도구 부족 또는 복잡성", + "통계 지식 부족", + "명확한 가설 설정 실패", + "표본 크기 부족" + ], + "business_impact": "의사결정 지연, 테스트 비용 증가, 기회비용 발생", + "real_examples": [ + "이커머스: 자동화 도구 도입으로 테스트 설정 시간 80% 단축", + "SaaS: 간단한 A/B 테스트로 전환율 25% 개선" + ], + "measurement": "테스트 완료율, 평균 테스트 기간, 테스트 ROI" + }, + "경쟁사 정보 부족": { + "definition": "경쟁사의 전략, 제품, 가격 등에 대한 정보 부족으로 전략 수립에 어려움을 겪는 상황", + "symptoms": [ + "경쟁사 가격 정책 파악 불가", + "경쟁사 신제품 출시 후 뒤늦은 대응", + "시장 포지셔닝 전략 부재", + "고객 이탈 원인 분석 부족" + ], + "root_causes": [ + "체계적인 모니터링 체계 부재", + "정보 수집 리소스 부족", + "경쟁 분석 전문성 부족", + "정보 공유 시스템 미비" + ], + "business_impact": "시장 기회 상실, 경쟁력 약화, 고객 이탈 증가", + "real_examples": [ + "핀테크: 경쟁사 모니터링 도구 도입으로 신속한 시장 대응", + "리테일: 가격 비교 시스템으로 동적 가격 전략 수립" + ], + "measurement": "시장 점유율, 경쟁사 대비 성과 지표, 고객 만족도 비교" + }, + "고객 요구 불명확": { + "definition": "고객의 실제 니즈와 기대사항을 정확히 파악하지 못해 제품/서비스 개선 방향을 설정하기 어려운 상황", + "symptoms": [ + "고객 이탈 원인 불명", + "신기능 출시 후 사용률 저조", + "고객 지원 문의 증가", + "고객 만족도 점수 정체" + ], + "root_causes": [ + "체계적인 고객 조사 부재", + "고객 세분화 부족", + "피드백 수집 채널 한계", + "데이터 분석 역량 부족" + ], + "business_impact": "제품 개발 방향성 오류, 고객 이탈 증가, R&D 투자 효율성 저하", + "real_examples": [ + "B2B SaaS: 고객 인터뷰를 통해 핵심 기능 우선순위 재정립", + "이커머스: 사용자 행동 분석으로 개인화 추천 시스템 개선" + ], + "measurement": "고객 만족도, Net Promoter Score, 고객 생애가치" + }, + "출처/기간 누락": { + "definition": "리서치나 분석 문서에서 데이터 출처와 수집 기간이 명확하지 않아 신뢰성이 떨어지는 상황", + "symptoms": [ + "보고서에 '최근 조사에 따르면'과 같은 모호한 표현", + "데이터 출처 미표기로 신뢰성 의심", + "과거 데이터와 최신 데이터 혼재", + "정보의 유효기간 불분명" + ], + "root_causes": [ + "체계적인 자료 관리 부재", + "출처 표기 가이드라인 미비", + "시간에 따른 데이터 변화 간과", + "검증되지 않은 2차 자료 의존" + ], + "business_impact": "의사결정 오류, 신뢰도 하락, 법적 리스크 증가", + "real_examples": [ + "컨설팅 회사: 출처 표기 표준화로 클라이언트 신뢰도 30% 향상", + "투자 회사: 데이터 검증 프로세스 도입으로 투자 의사결정 정확도 개선" + ], + "measurement": "자료 검증률, 고객 신뢰도 조사, 의사결정 정확도" + }, + "리서치 작성 부담": { + "definition": "시장 조사나 분석 보고서 작성에 과도한 시간과 노력이 투입되는 상황", + "symptoms": [ + "단일 보고서 작성에 2주 이상 소요", + "데이터 수집과 분석의 중복 작업", + "형식 통일과 품질 관리의 어려움", + "리서치 결과의 재활용성 부족" + ], + "root_causes": [ + "효율적인 리서치 프로세스 부재", + "분석 툴과 템플릿 미비", + "팀 내 역할 분담 불명확", + "과거 자료 재활용 시스템 부족" + ], + "business_impact": "리서치 비용 증가, 의사결정 지연, 기회비용 발생", + "real_examples": [ + "전략 컨설팅: 리서치 템플릿 표준화로 작성 시간 50% 단축", + "스타트업: 자동화된 시장 분석 도구 도입으로 주간 리포트 체계 구축" + ], + "measurement": "리서치 완료 시간, 비용 대비 효과, 재활용률" + }, + "요구사항 언어화 난항": { + "definition": "제품 개발에 필요한 요구사항을 명확하고 구체적인 언어로 표현하기 어려운 상황", + "symptoms": [ + "모호하고 추상적인 요구사항 문서", + "개발팀과 기획팀 간 이해 격차", + "요구사항 변경으로 인한 잦은 재작업", + "검수 기준의 불명확성" + ], + "root_causes": [ + "도메인 지식과 기술 이해 부족", + "체계적인 요구사항 정의 방법론 부재", + "이해관계자 간 소통 부족", + "사용자 관점의 검증 프로세스 미비" + ], + "business_impact": "개발 지연, 예산 초과, 최종 제품 품질 저하", + "real_examples": [ + "핀테크: 사용자 스토리 방식 도입으로 요구사항 명확성 80% 개선", + "이커머스: 프로토타입 기반 요구사항 검증으로 개발 재작업 60% 감소" + ], + "measurement": "요구사항 변경률, 개발 완료율, 사용자 만족도" + }, + "UX 카피 불일치": { + "definition": "사용자 인터페이스 내 텍스트가 일관되지 않아 사용자 경험이 혼란스러운 상황", + "symptoms": [ + "같은 기능에 대한 서로 다른 용어 사용", + "페이지별 톤앤매너 차이", + "에러 메시지의 일관성 부족", + "브랜드 보이스와 UX 카피 불일치" + ], + "root_causes": [ + "UX 라이팅 가이드라인 부재", + "디자이너와 카피라이터 간 협업 부족", + "용어집(Glossary) 미정립", + "다국어 번역에서의 일관성 관리 미흡" + ], + "business_impact": "사용자 혼란 증가, 이탈률 상승, 브랜드 신뢰도 하락", + "real_examples": [ + "SaaS 플랫폼: UX 라이팅 시스템 구축으로 사용자 완료율 25% 향상", + "모바일 앱: 일관된 용어 체계 도입으로 고객 지원 문의 40% 감소" + ], + "measurement": "사용자 완료율, 이탈률, 고객 지원 문의 빈도" + }, + "의사결정 기준 불명확": { + "definition": "제품이나 기능 개발 시 우선순위나 방향성 결정 기준이 애매하여 효율적인 의사결정이 어려운 상황", + "symptoms": [ + "기능 우선순위 설정의 주관성", + "이해관계자별 상이한 판단 기준", + "데이터 기반 의사결정 체계 부재", + "의사결정 지연과 반복적 논의" + ], + "root_causes": [ + "명확한 제품 전략과 목표 부재", + "정량적 평가 지표 미설정", + "의사결정 프로세스 표준화 부족", + "역할과 권한의 모호함" + ], + "business_impact": "개발 효율성 저하, 기회비용 증가, 팀 내 갈등", + "real_examples": [ + "스타트업: RICE 프레임워크 도입으로 의사결정 시간 70% 단축", + "대기업: OKR 기반 우선순위 설정으로 제품 개발 효율성 향상" + ], + "measurement": "의사결정 소요 시간, 기능 개발 완료율, 팀 만족도" + } +} + +# 완전한 Output 설명 +OUTPUT_DETAILED = { + "콜드메일": { + "definition": "이전 접점이 없는 잠재 고객에게 비즈니스 목적으로 발송하는 첫 연락 이메일", + "purpose": "신규 고객 발굴, 비즈니스 관계 구축, 세일즈 파이프라인 확장", + "key_components": [ + "매력적인 제목줄 (개봉률 결정)", + "개인화된 오프닝 (연결점 구축)", + "명확한 가치 제안 (관심 유발)", + "구체적인 CTA (다음 단계 유도)" + ], + "success_metrics": [ + "개봉률: 20-30% (B2B 기준)", + "응답률: 5-10%", + "미팅 전환율: 1-3%", + "스팸 신고율: 1% 미만" + ], + "best_practices": [ + "발송 전 타겟 리서치 필수", + "3-5개 이메일 시퀀스 설계", + "A/B 테스트로 지속 최적화", + "법적 규제 (GDPR, CAN-SPAM) 준수" + ], + "common_mistakes": [ + "과도한 자기소개", + "모호한 가치 제안", + "너무 긴 내용", + "일방적인 판매 메시지" + ], + "real_examples": """ +**IT 컨설팅 → CFO**: +제목: Re: Q4 IT 예산 20% 절감 사례 - 15분 논의 가능할까요? + +안녕하세요 김CFO님, + +최근 [회사명]의 디지털 전환 투자 소식을 봤습니다. + +저희는 유사 규모 제조업체 3곳의 IT 운영비를 평균 23% 절감하며 +동시에 시스템 안정성을 99.9%로 향상시킨 경험이 있습니다. + +다음 주 화요일 오전 11시, 15분간 간단한 사례 공유가 가능할까요? + +[구체적 ROI 계산서 첨부] + """ + }, + "광고 카피": { + "definition": "유료 광고 매체를 통해 타겟 오디언스의 관심을 끌고 행동을 유도하는 짧고 강력한 메시지", + "purpose": "브랜드 인지도 제고, 트래픽 유도, 전환율 증대, 매출 증가", + "key_components": [ + "임팩트 있는 헤드라인 (주목 끌기)", + "감정적 연결고리 (공감대 형성)", + "명확한 혜택 (가치 전달)", + "강력한 CTA (행동 유도)" + ], + "platform_specific": { + "Google 검색광고": "키워드 연관성, 문자 수 제한 고려", + "Facebook/Instagram": "비주얼과 조화, 소셜 맥락 활용", + "LinkedIn": "전문적 톤, B2B 가치 제안 중심", + "YouTube": "스토리텔링, 감정적 어필" + }, + "success_metrics": [ + "CTR (클릭률): 2-5%", + "전환율: 1-3%", + "CPA (획득 비용): 목표 LTV 대비 1:3 이상", + "ROAS (광고 수익률): 4:1 이상" + ], + "real_examples": """ +**B2B SaaS - LinkedIn 광고**: +헤드라인: "엑셀로 2시간 걸리던 보고서, 이제 5분이면 끝" +바디: 300+ 기업이 선택한 자동 대시보드 +CTA: "무료 데모 신청하기" + +**이커머스 - Facebook 광고**: +헤드라인: "10만원으로 침실 완전 변신" +바디: 24시간 한정 특가 + 무료배송 +CTA: "지금 쇼핑하기" + """ + }, + "시장조사 보고서": { + "definition": "특정 시장의 규모, 성장률, 트렌드, 경쟁 구도 등을 체계적으로 분석한 문서", + "purpose": "전략적 의사결정 지원, 투자 유치, 신사업 기회 발굴, 리스크 평가", + "key_sections": [ + "Executive Summary (핵심 요약)", + "시장 정의 및 세분화", + "시장 규모 및 성장률 분석", + "경쟁 구도 및 주요 플레이어", + "트렌드 및 성장 동력", + "기회와 위험 요인", + "결론 및 권고사항" + ], + "methodology": [ + "Primary Research (설문, 인터뷰, FGD)", + "Secondary Research (공개 자료, 보고서)", + "데이터 분석 및 모델링", + "전문가 검증" + ], + "credibility_factors": [ + "데이터 출처의 신뢰성", + "분석 방법론의 타당성", + "객관적 시각 유지", + "한계점 명시" + ], + "real_examples": """ +**핀테크 페이먼트 시장 보고서**: + +Executive Summary: +- 국내 모바일 결제 시장 규모 85조원 (2024년) +- 연평균 성장률 15.3% (2020-2024) +- 주요 성장 동력: 비대면 결제 증가, 간편결제 확산 + +Key Findings: +- 20-30대가 전체 거래량의 67% 차지 +- O2O 서비스 연계 결제 급성장 (전년 대비 45% 증가) +- 보안 기술 발전이 시장 확장의 핵심 요인 + """ + }, + "PRD": { + "definition": "Product Requirements Document - 제품 개발의 목표, 기능, 요구사항을 상세히 정의한 문서", + "purpose": "개발팀 가이드, 이해관계자 정렬, 프로젝트 범위 정의, 성공 기준 수립", + "essential_sections": [ + "문제 정의 (Problem Statement)", + "목표 및 성공 지표 (Goals & Success Metrics)", + "사용자 스토리 (User Stories)", + "기능 요구사항 (Functional Requirements)", + "비기능 요구사항 (Non-functional Requirements)", + "제약사항 및 가정 (Constraints & Assumptions)", + "우선순위 (Prioritization)", + "타임라인 (Timeline)" + ], + "stakeholder_alignment": [ + "Engineering: 기술적 실현 가능성", + "Design: 사용자 경험 일관성", + "Business: 비즈니스 가치 연결", + "QA: 테스트 가능성" + ], + "success_criteria": [ + "명확성: 모호함 없는 요구사항", + "완전성: 누락된 요구사항 없음", + "실현가능성: 기술적 제약 고려", + "측정가능성: 정량적 성공 지표" + ], + "real_examples": """ +**모바일 앱 알림 기능 PRD**: + +Problem Statement: +사용자의 70%가 중요한 업데이트를 놓치고 있으며, 이로 인해 +사용자 참여도가 업계 평균 대비 30% 낮음 + +Success Metrics: +- 알림 열람률: 현재 15% → 목표 35% +- 7일 리텐션: 현재 45% → 목표 60% +- 사용자 만족도: 현재 3.2/5 → 목표 4.0/5 + +User Stories: +- 사용자로서, 내가 관심 있는 카테고리의 알림만 받고 싶다 +- 사용자로서, 알림을 받을 시간대를 설정하고 싶다 + """ + }, + "보도자료": { + "definition": "언론매체를 통해 기업의 뉴스나 정보를 공식적으로 발표하는 문서", + "purpose": "미디어 노출 확보, 브랜드 인지도 제고, 공식적 입장 전달, 위기 대응", + "key_components": [ + "뉴스가치 있는 헤드라인", + "5W1H 기반 리드 문단", + "배경 정보와 맥락", + "인용문 (경영진, 전문가)", + "회사 소개 (Boilerplate)", + "연락처 정보" + ], + "success_metrics": [ + "언론 보도율: 발송 대비 10-20%", + "주요 매체 픽업률", + "온라인 언급량 증가", + "웹사이트 트래픽 증가" + ], + "best_practices": [ + "기자 관점에서 뉴스가치 검토", + "간결하고 명확한 문체", + "사실 기반 정보 제공", + "적절한 발송 타이밍" + ], + "real_examples": """ +**스타트업 투자 유치 보도자료**: + +[헤드라인] ○○테크, 시리즈A 100억원 투자 유치… AI 헬스케어 사업 확장 + +[리드] 인공지능 기반 헬스케어 솔루션 전문기업 ○○테크(대표 김○○)가 +시리즈A 라운드에서 100억원 규모의 투자를 유치했다고 15일 발표했다. + +[본문] 이번 투자는 ○○○캐피털이 주도하고 ○○○벤처스, ○○○인베스트먼트가 +참여했다. 조달된 자금은 AI 진단 솔루션 고도화와 해외 진출에 사용될 예정이다. + """ + }, + "랜딩페이지 섹션": { + "definition": "특정 마케팅 캠페인의 목적에 맞춰 방문자를 전환시키기 위한 웹페이지의 구성 요소", + "purpose": "방문자 전환율 극대화, 명확한 행동 유도, 캠페인 ROI 향상", + "key_components": [ + "강력한 헤드라인과 서브헤드라인", + "명확한 가치 제안 (Value Proposition)", + "사회적 증명 (고객 후기, 로고)", + "혜택 중심의 기능 설명", + "강력한 CTA 버튼", + "신뢰 요소 (보안, 인증마크)" + ], + "conversion_optimization": [ + "단일 목표에 집중", + "산만한 요소 제거", + "모바일 최적화", + "로딩 속도 최적화", + "A/B 테스트 지속 실행" + ], + "success_metrics": [ + "전환율: 2-5% (업종별 차이)", + "이탈률: 70% 이하", + "페이지 체류시간: 2분 이상", + "CTA 클릭률: 5-15%" + ], + "real_examples": """ +**SaaS 무료체험 랜딩페이지**: + +[Hero Section] +헤드라인: "엑셀 대신 3분만에 완성하는 매출 대시보드" +서브헤드: "1,000+ 기업이 선택한 No-code 분석 툴" +CTA: "14일 무료로 시작하기" + +[Social Proof] +"매출 분석 시간이 80% 단축됐어요" - ○○기업 마케팅팀장 +삼성, LG, 현대 등 고객사 로고 + +[Features] +✓ 드래그&드랍으로 5분만에 대시보드 완성 +✓ 실시간 데이터 자동 업데이트 +✓ 20+ 채널 연동 지원 + """ + }, + "경쟁사 분석": { + "definition": "시장 내 주요 경쟁사의 전략, 제품, 성과를 체계적으로 분석한 보고서", + "purpose": "경쟁 우위 요소 식별, 시장 포지셔닝 전략 수립, 벤치마킹 기회 발굴", + "key_sections": [ + "경쟁사 개요 및 포지셔닝", + "제품/서비스 비교 분석", + "가격 정책 및 수익 모델", + "마케팅 전략 및 채널", + "강점과 약점 (SWOT)", + "시장 점유율 및 성과 지표", + "향후 전략 예측", + "우리의 대응 방안" + ], + "analysis_framework": [ + "직접 경쟁사 vs 간접 경쟁사", + "제품 기능 비교 매트릭스", + "가격-성능 포지셔닝 맵", + "고객 리뷰 감성 분석" + ], + "data_sources": [ + "공개 재무 정보", + "제품 웹사이트 및 앱", + "고객 리뷰 및 평점", + "소셜미디어 활동", + "채용 공고 분석", + "언론 보도 자료" + ], + "real_examples": """ +**클라우드 스토리지 경쟁 분석**: + +[Executive Summary] +Dropbox, Google Drive, OneDrive 3강 구도에서 +보안과 협업 기능이 차별화 포인트로 부상 + +[제품 비교] +- 저장 용량: Dropbox(2GB) < Google Drive(15GB) < OneDrive(5GB) +- 협업 기능: OneDrive > Google Drive > Dropbox +- 보안: Dropbox > OneDrive > Google Drive + +[가격 전략] +Dropbox: 프리미엄 전략 (월 $12) +Google: 통합 서비스 전략 (월 $6) +Microsoft: 번들링 전략 (Office 365 포함) + """ + }, + "페르소나": { + "definition": "실제 고객 데이터를 바탕으로 만든 가상의 대표 고객 프로필", + "purpose": "고객 중심 제품 개발, 마케팅 메시지 개인화, 팀 내 고객 이해 통일", + "key_components": [ + "인구통계학적 정보", + "행동 패턴 및 선호도", + "목표와 동기 (Goals & Motivations)", + "고충과 해결 과제 (Pain Points)", + "정보 습득 채널", + "구매 의사결정 프로세스", + "선호하는 커뮤니케이션 스타일" + ], + "creation_process": [ + "고객 인터뷰 및 설문 조사", + "사용자 행동 데이터 분석", + "고객 지원팀 인사이트 수집", + "세그멘테이션 및 클러스터링", + "페르소나 검증 및 업데이트" + ], + "validation_methods": [ + "실제 고객과의 검증 인터뷰", + "A/B 테스트를 통한 효과 측정", + "마케팅 캠페인 성과 분석", + "제품 사용 패턴 추적" + ], + "real_examples": """ +**SaaS 마케팅 툴 페르소나**: + +[Sarah, 마케팅 매니저, 32세] + +Demographics: +- 직급: 마케팅 매니저 (경력 5년) +- 회사: B2B SaaS (직원 50-200명) +- 연봉: 5,500만원 +- 거주지: 서울 강남 + +Goals: +- 마케팅 ROI 개선 (주요 KPI) +- 리드 품질 향상 +- 팀 생산성 증대 + +Pain Points: +- 분산된 마케팅 데이터 통합의 어려움 +- 실시간 성과 모니터링 불가 +- 보고서 작성에 소요되는 시간 + +Preferred Channels: +- LinkedIn (업계 트렌드) +- 이메일 뉴스레터 +- 웨비나 및 온라인 세미나 + """ + }, + "VOC 요약": { + "definition": "고객의 소리(Voice of Customer)를 수집하고 분석하여 핵심 인사이트를 요약한 보고서", + "purpose": "고객 만족도 개선, 제품 개발 방향 설정, 서비스 품질 향상", + "key_sections": [ + "조사 개요 및 방법론", + "주요 발견사항 (Key Findings)", + "고객 만족도 현황", + "주요 불만사항 및 개선 요청", + "긍정적 피드백 및 만족 요인", + "고객 세그먼트별 차이점", + "개선 우선순위 및 액션 플랜" + ], + "data_collection_methods": [ + "고객 만족도 설문조사", + "심층 인터뷰 (FGI)", + "고객 지원팀 티켓 분석", + "온라인 리뷰 및 소셜 미디어", + "사용자 행동 데이터" + ], + "analysis_techniques": [ + "텍스트 마이닝 및 감성 분석", + "테마별 키워드 클러스터링", + "만족도-중요도 매트릭스", + "고객 여정별 터치포인트 분석" + ], + "real_examples": """ +**이커머스 VOC 분석 요약**: + +[주요 발견사항] +- 전체 고객 만족도: 7.2/10 (목표 8.0) +- NPS(Net Promoter Score): +15 (업계 평균 +8) + +[Top 3 불만사항] +1. 배송 지연 (37% 언급) +2. 반품/교환 절차 복잡 (24%) +3. 고객센터 응답 지연 (19%) + +[Top 3 만족요인] +1. 상품 품질 (42% 언급) +2. 가격 경쟁력 (31%) +3. 웹사이트 사용 편의성 (28%) + +[즉시 개선 필요 영역] +우선순위 1: 배송 프로세스 개선 (만족도 영향 최대) +우선순위 2: 고객센터 응답시간 단축 + """ + }, + "유스케이스": { + "definition": "사용자가 시스템을 통해 달성하고자 하는 목표와 그 과정을 구체적으로 기술한 문서", + "purpose": "요구사항 명확화, 개발 가이드 제공, 테스트 시나리오 기반 제공", + "key_components": [ + "액터 (Actor) - 시스템 사용자", + "전제조건 (Preconditions)", + "주요 시나리오 (Main Flow)", + "대안 시나리오 (Alternative Flows)", + "예외 상황 (Exception Flows)", + "후조건 (Postconditions)", + "비즈니스 규칙" + ], + "writing_guidelines": [ + "사용자 관점에서 작성", + "구체적이고 측정 가능한 결과", + "기술적 세부사항보다 비즈니스 가치 중심", + "예외 상황까지 포괄적 커버" + ], + "validation_criteria": [ + "실제 사용자 시나리오와 일치", + "개발팀이 구현 가능", + "테스트 케이스 도출 가능", + "비즈니스 목표 달성에 기여" + ], + "real_examples": """ +**온라인 쇼핑몰 주문 유스케이스**: + +[UC-001: 상품 주문하기] + +Actor: 로그인한 고객 + +Preconditions: +- 고객이 회원 가입 및 로그인 완료 +- 장바구니에 1개 이상 상품 존재 + +Main Flow: +1. 고객이 장���구니 페이지에서 "주문하기" 클릭 +2. 시스템이 배송지 정보 입력 페이지 표시 +3. 고객이 배송지 정보 입력 및 확인 +4. 시스템이 결제 방법 선택 페이지 표시 +5. 고객이 결제 방법 선택 및 결제 정보 입력 +6. 시스템이 주문 정보 확인 페이지 표시 +7. 고객이 최종 주문 확인 +8. 시스템이 결제 처리 및 주문 완료 안내 + +Exception Flow: +- 3a. 배송 불가 지역인 경우 + 3a1. 시스템이 배송 불가 메시지 표시 + 3a2. UC 종료 + """ + }, + "UX 카피": { + "definition": "사용자 인터페이스에서 사용자 경험을 향상시키기 위한 모든 텍스트 요소", + "purpose": "사용자 이해도 증진, 행동 유도, 브랜드 톤 전달, 에러 상황 안내", + "key_components": [ + "내비게이션 및 메뉴 라벨", + "버튼 텍스트 및 CTA", + "안내 메시지 및 도움말", + "에러 및 성공 메시지", + "폼 라벨 및 플레이스홀더", + "툴팁 및 설명문" + ], + "writing_principles": [ + "명확성: 간단하고 이해하기 쉬운 언어", + "일관성: 동일한 기능에는 동일한 용어", + "도움이 되는 톤: 친근하되 전문적", + "실행 가능성: 사용자가 다음에 할 일 명확히 제시" + ], + "testing_methods": [ + "사용자 테스트 및 A/B 테스트", + "완료율 및 이탈률 분석", + "고객 지원팀 문의 빈도 추적", + "사용자 피드백 정성 분석" + ], + "real_examples": """ +**모바일 뱅킹 앱 UX 카피**: + +[Before - 애매한 표현] +- 버튼: "처리" +- 에러: "오류가 발생했습니다" +- 안내: "정보를 확인해주세요" + +[After - 명확한 UX 카피] +- 버튼: "이체하기" +- 에러: "비밀번호가 일치하지 않습니다. 다시 입력해주세요" +- 안내: "계좌번호 14자리를 정확히 입력해주세요" + +[톤앤매너 일관성] +- 성공: "이체가 완료되었습니다" +- 진행: "이체 중입니다. 잠시만 기다려주세요" +- 안내: "이체 한도는 일일 500만원입니다" + """ + }, + "릴리스 노트": { + "definition": "제품의 새로운 버전 출시 시 변경사항과 개선사항을 사용자에게 알리는 문서", + "purpose": "사용자 교육, 신기능 홍보, 투명한 커뮤니케이션, 사용자 만족도 향상", + "key_components": [ + "버전 정보 및 출시일", + "주요 신기능 소개", + "기존 기능 개선사항", + "버그 수정 내역", + "알려진 이슈 및 제한사항", + "업그레이드 가이드", + "지원 및 문의 정보" + ], + "writing_style": [ + "사용자 친화적 언어 사용", + "기술적 용어보다 혜택 중심 설명", + "시각적 요소 (스크린샷, GIF) 활용", + "감사 표현 및 긍정적 톤" + ], + "distribution_channels": [ + "앱 스토어 업데이트 설명", + "이메일 뉴스레터", + "인앱 알림 및 팝업", + "웹사이트 및 블로그", + "소셜 미디어" + ], + "real_examples": """ +**프로젝트 관리 툴 릴리스 노트 v2.4**: + +🎉 새로운 기능 +• **팀 대시보드**: 팀 전체 진행률을 한눈에 확인하세요 +• **자동 알림**: 마감일 3일 전 자동으로 알림을 받으세요 +• **템플릿 갤러리**: 업종별 프로젝트 템플릿 20개 추가 + +🔧 개선사항 +• 파일 업로드 속도 50% 향상 +• 모바일 앱 UI 개선으로 터치 반응성 증대 +• 검색 기능 정확도 개선 + +🐛 버그 수정 +• 댓글 알림이 오지 않던 문제 해결 +• 엑셀 파일 다운로드 오류 수정 + +💝 피드백을 보내주신 500+ 사용자분들께 감사드립니다! + """ + } +} + +# 완전한 User 설명 +USER_DETAILED = { + "세일즈": { + "definition": "제품이나 서비스를 잠재 고객에게 판매하는 역할을 담당하는 직무", + "primary_goals": [ + "매출 목표 달성", + "신규 고객 확보", + "기존 고객 관계 유지", + "파이프라인 관리" + ], + "key_metrics": [ + "매출 달성률 (%)", + "신규 고객 수", + "평균 딜 사이즈", + "세일즈 사이클", + "전환율 (Lead → Opportunity → Close)" + ], + "daily_challenges": [ + "리드 발굴 및 검증", + "고객 관계 구축", + "제안서 작성", + "협상 및 클로징", + "CRM 업데이트" + ], + "communication_style": [ + "결과 중심적 언어", + "숫자와 데이터 선호", + "신속한 의사결정 요구", + "구체적인 혜택 강조" + ], + "content_needs": [ + "고객 사례 연구", + "ROI 계산기", + "경쟁사 비교 자료", + "가격 정책 가이드", + "이메일 템플릿" + ], + "personas": { + "BDR (Business Development Rep)": "신규 리드 발굴 및 초기 접촉 전담", + "AE (Account Executive)": "기회 발굴부터 계약 체결까지 전체 세일즈 프로세스 담당", + "AM (Account Manager)": "기존 고객 관리 및 업셀/크로스셀 담당", + "Sales Leader": "팀 관리 및 전략 수립, 목표 설정" + } + }, + "마케팅팀": { + "definition": "브랜드 인지도 제고, 리드 생성, 고객 유치를 위한 마케팅 활동을 기획하고 실행하는 직무", + "primary_goals": [ + "브랜드 인지도 향상", + "양질의 리드 생성", + "고객 획득 비용 최적화", + "마케팅 ROI 극대화" + ], + "key_metrics": [ + "리드 생성 수 및 품질", + "CAC (Customer Acquisition Cost)", + "LTV (Customer Lifetime Value)", + "마케팅 ROI/ROAS", + "브랜드 인지도 지표" + ], + "specialized_roles": { + "퍼포먼스 마케팅": "유료 광고 운영 및 최적화, 데이터 기반 의사결정", + "콘텐츠 마케팅": "블로그, 영상, 소셜미디어 콘텐츠 기획 및 제작", + "브랜드 마케팅": "브랜드 아이덴티티 구축 및 일관성 유지", + "그로스 마케팅": "실험적 접근으로 빠른 성장 동력 발굴" + }, + "communication_preferences": [ + "창의적이고 트렌디한 표현", + "시각적 요소 중요시", + "스토리텔링 선호", + "감정적 연결 추구" + ], + "tool_ecosystem": [ + "Google Analytics, Adobe Analytics", + "Facebook Ads Manager, Google Ads", + "HubSpot, Marketo (마케팅 자동화)", + "Canva, Figma (디자인 툴)" + ] + }, + "PM": { + "definition": "제품의 전략, 기획, 개발, 출시까지 전체 라이프사이클을 관리하는 역할", + "core_responsibilities": [ + "제품 전략 수립", + "시장 및 고객 요구사항 분석", + "제품 로드맵 작성", + "크로스팩셔널 팀 조율", + "제품 성과 모니터링" + ], + "key_skills": [ + "데이터 분석 및 해석", + "사용자 중심 사고", + "기술적 이해도", + "비즈니스 센스", + "커뮤니케이션 및 리더십" + ], + "decision_framework": [ + "Impact vs Effort 매트릭스", + "RICE 스코어링 (Reach, Impact, Confidence, Effort)", + "OKR (Objectives and Key Results)", + "데이터 기반 의사결정" + ], + "stakeholder_management": [ + "Engineering: 기술적 실현가능성 논의", + "Design: 사용자 경험 최적화", + "Sales: 시장 요구사항 및 피드백", + "Leadership: 전략 정렬 및 리소스 확보" + ], + "career_levels": { + "Jr PM": "1-3년 경력, 특정 기능 담당, 멘토링 필요", + "Sr PM": "3-7년 경력, 독립적 제품 영역 담당", + "Group PM": "7+ 경력, 여러 제품/팀 총괄, 전략 수립" + } + }, + "전략팀": { + "definition": "기업의 장기적 방향성 설정, 신사업 기회 발굴, 경영진 의사결정 지원을 담당하는 직무", + "primary_functions": [ + "시장 분석 및 경쟁 인텔리전스", + "신사업 기회 평가", + "M&A 및 파트너십 검토", + "경영 전략 수립", + "성과 모니터링 및 분석" + ], + "analytical_frameworks": [ + "Porter's Five Forces", + "SWOT Analysis", + "BCG Matrix", + "McKinsey 7S Model", + "Blue Ocean Strategy" + ], + "deliverables": [ + "시장 분석 보고서", + "경쟁사 벤치마킹", + "비즈니스 케이스", + "전략 프레젠테이션", + "실행 계획서" + ], + "communication_style": [ + "논리적이고 구조화된 사고", + "데이터와 사실 기반", + "전략적 함의 중시", + "장기적 관점" + ], + "career_paths": { + "Corp Strategy": "기업 전체 차원의 전략 수립", + "Biz Ops": "운영 효율성 및 프로세스 개선 중심" + } + }, + "PR팀": { + "definition": "기업의 대외 이미지 관리와 언론 관계, 커뮤니케이션 전략�� 담당하는 직무", + "primary_goals": [ + "브랜드 이미지 관리 및 향상", + "미디어 관계 구축 및 유지", + "위기 상황 대응 및 관리", + "기업 메시지 일관성 확보" + ], + "key_metrics": [ + "언론 보도량 및 톤", + "브랜드 멘션 증가율", + "미디어 도달율 (Reach)", + "위기 대응 시간", + "브랜드 인지도 지표" + ], + "core_activities": [ + "보도자료 작성 및 배포", + "기자 관계 관리", + "이벤트 및 기자간담회 기획", + "위기 커뮤니케이션 대응", + "내부 커뮤니케이션 지원" + ], + "communication_style": [ + "정확하고 신뢰할 수 있는 정보 전달", + "브랜드 메시지 일관성 유지", + "타이밍과 맥락 고려", + "투명하고 진정성 있는 소통" + ], + "specialized_roles": { + "코퍼레이트 PR": "기업 전체 이미지 및 경영진 커뮤니케이션", + "프로덕트 PR": "제품/서비스 관련 홍보 및 런칭 지원" + } + }, + "창업자": { + "definition": "새로운 비즈니스를 시작하고 이끌어가는 기업의 설립자 및 최고 의사결정자", + "primary_goals": [ + "비전 구현 및 회사 성장", + "자금 조달 및 투자 유치", + "핵심 인재 확보", + "제품-시장 궁합(PMF) 달성", + "지속 가능한 비즈니스 모델 구축" + ], + "key_challenges": [ + "제한된 리소스 내 우선순위 결정", + "불확실성 하에서의 빠른 의사결정", + "다양한 이해관계자 관리", + "개인적 스트레스 및 고독감 관리" + ], + "communication_needs": [ + "투자자를 위한 피칭 자료", + "직원들을 위한 비전 전달", + "고객을 위한 가치 제안", + "파트너를 위한 협력 제안" + ], + "decision_criteria": [ + "장기적 비전과의 정렬성", + "빠른 실행 가능성", + "리소스 효율성", + "시장 임팩트 잠재력" + ], + "stage_characteristics": { + "Seed": "아이디어 검증, 초기 제품 개발, 팀 구성", + "Series A+": "성장 가속화, 조직 확장, 시장 점유율 확대", + "부트스트랩": "자체 자금으로 성장, 수익성 중심 운영" + } + }, + "기획팀": { + "definition": "조직의 중장기 계획 수립과 프로젝트 기획, 성과 관리를 담당하는 직무", + "primary_functions": [ + "사업 계획 수립 및 관리", + "프로젝트 기획 및 추진", + "성과 지표 설정 및 모니터링", + "조직 운영 효율성 개선", + "신사업 기회 발굴" + ], + "key_skills": [ + "체계적 사고 및 분석 능력", + "프로젝트 관리 역량", + "데이터 분석 및 인사이트 도출", + "이해관계자 조율", + "문서화 및 커뮤니케이션" + ], + "deliverables": [ + "사업 계획서", + "프로젝트 기획서", + "성과 보고서", + "시장 분석 자료", + "정책 제안서" + ], + "communication_style": [ + "논리적이고 체계적인 구성", + "데이터 기반 근거 제시", + "명확한 목표 및 일정 명시", + "리스크와 대안 함께 제시" + ] + }, + "컨설턴트": { + "definition": "기업의 문제 해결과 성과 개선을 위해 전문적 조언과 솔루션을 제공하는 전문가", + "primary_goals": [ + "고객 문제의 정확한 진단", + "효과적인 솔루션 설계", + "변화 관리 및 실행 지원", + "측정 가능한 성과 창출" + ], + "expertise_areas": [ + "전략 컨설팅 (Strategy)", + "운영 컨설팅 (Operations)", + "조직/HR 컨설팅", + "IT/디지털 컨설팅", + "재무 컨설팅" + ], + "methodology": [ + "문제 정의 및 현황 분석", + "가설 설정 및 검증", + "솔루션 설계 및 제안", + "실행 계획 수립", + "성과 측정 및 개선" + ], + "communication_characteristics": [ + "구조화된 논리 전개", + "프레임워크 기반 분석", + "액션 중심의 제안", + "경영진 언어로 소통" + ], + "key_deliverables": [ + "현황 진단 보고서", + "문제 분석 및 원인 규명", + "솔루션 제안서", + "실행 로드맵", + "성과 측정 대시보드" + ] + }, + "IR/투자준비팀": { + "definition": "투자자 관계 관리와 자금 조달, 기업 가치 제고를 담당하는 전문 조직", + "primary_functions": [ + "투자자 관계 관리 (Investor Relations)", + "자금 조달 전략 수립 및 실행", + "기업 가치 평가 및 제고", + "재무 정보 공시 및 커뮤니케이션", + "시장 동향 분석 및 보고" + ], + "key_stakeholders": [ + "기관 투자자 (VC, PE 등)", + "개인 투자자", + "애널리스트 및 신용평가사", + "경영진 및 이사회", + "규제 기관" + ], + "core_materials": [ + "투자 제안서 (IR Deck)", + "사업 계획서", + "재무 모델링", + "기업 개요서", + "실적 발표 자료" + ], + "communication_focus": [ + "재무적 성과와 전망", + "비즈니스 모델의 지속가능성", + "경쟁 우위 및 차별화 요소", + "리스크 요인 및 대응 방안", + "ESG 경영 성과" + ], + "success_metrics": [ + "투자 유치 성공률", + "기업 가치 상승률", + "투자자 만족도", + "시장 인지도", + "자금 조달 비용" + ] + }, + "UX 디자이너": { + "definition": "사용자 경험을 연구하고 설계하여 사용하기 쉽고 만족스러운 제품을 만드는 전문가", + "primary_goals": [ + "사용자 중심의 경험 설계", + "사용성 및 접근성 향상", + "비즈니스 목표와 사용자 니즈 균형", + "데이터 기반 디자인 의사결정" + ], + "key_processes": [ + "사용자 리서치 및 인사이트 도출", + "사용자 여정 맵핑", + "와이어프레임 및 프로토타입 제작", + "사용성 테스트 및 검증", + "디자인 시스템 구축 및 관리" + ], + "core_deliverables": [ + "사용자 리서치 보고서", + "페르소나 및 사용자 여정", + "와이어프레임 및 플로우차트", + "인터랙티브 프로토타입", + "디자인 가이드라인" + ], + "collaboration_focus": [ + "PM과의 요구사항 정의", + "개발팀과의 구현 가능성 검토", + "마케팅팀과의 사용자 이해 공유", + "경영진과의 비즈니스 임팩트 논의" + ], + "specialized_roles": { + "UX Writer": "사용자 인터페이스 텍스트 및 마이크로카피 전문", + "Product Designer": "제품 전반의 사용자 경험 설계 담당" + } + }, + "개발팀": { + "definition": "소프트웨어 제품의 설계, 개발, 테스트, 배포를 담당하는 기술 전문가 그룹", + "primary_goals": [ + "안정적이고 확장 가능한 시스템 구축", + "사용자 요구사항의 기술적 구현", + "코드 품질 및 보안 유지", + "개발 효율성 및 배포 속도 향상" + ], + "key_responsibilities": [ + "기능 요구사항 분석 및 설계", + "코드 작성 및 리뷰", + "테스트 코드 작성 및 품질 보증", + "배포 및 운영 모니터링", + "기술 부채 관리" + ], + "communication_needs": [ + "기술 명세서 및 API 문서", + "아키텍처 설계 문서", + "코드 리뷰 가이드라인", + "배포 및 운영 매뉴얼", + "장애 대응 보고서" + ], + "decision_criteria": [ + "기술적 실현 가능성", + "성능 및 확장성", + "보안 및 안정성", + "개발 및 유지보수 비용", + "팀 역량 및 학습 곡선" + ], + "specialized_roles": { + "FE (Frontend)": "사용자 인터페이스 개발 전담", + "BE (Backend)": "서버 및 데이터 처리 로직 개발", + "ML (Machine Learning)": "AI/ML 모델 개발 및 데이터 분석", + "Infra": "인프라 구축 및 DevOps 담당" + } + }, + "QA": { + "definition": "소프트웨어 제품의 품질을 보장하기 위해 테스트를 설계하고 실행하는 품질 관리 전문가", + "primary_goals": [ + "결함 조기 발견 및 예방", + "사용자 관점의 품질 검증", + "릴리즈 품질 기준 확보", + "테스트 프로세스 개선" + ], + "key_activities": [ + "테스트 계획 수립 및 케이스 작성", + "수동/자�� 테스트 실행", + "결함 발견 및 재현", + "품질 지표 모니터링", + "테스트 자동화 구축" + ], + "testing_types": [ + "기능 테스트 (Functional Testing)", + "성능 테스트 (Performance Testing)", + "보안 테스트 (Security Testing)", + "사용성 테스트 (Usability Testing)", + "회귀 테스트 (Regression Testing)" + ], + "communication_focus": [ + "명확하고 재현 가능한 결함 보고", + "테스트 결과의 정량적 제시", + "리스크 기반 우선순위 제안", + "품질 개선을 위한 제안사항" + ], + "career_levels": { + "QA 엔지니어": "테스트 실행 및 결함 발견 중심", + "QA 리드": "테스트 전략 수립 및 팀 관리" + } + } +} + +# ========================================================= +# 3. 로직 함수들 +# ========================================================= + +def uniq(xs: List[str]) -> List[str]: + if not xs: return [] + s=set(); out=[] + for x in xs: + if x not in s: + s.add(x); out.append(x) + return out + +AUTO_RULES_PAIN = { + "반응률": ["Persona Prompting", "Few-shot Prompting", "Self-consistency Prompting"], + "불일치": ["Output Formatting", "Constrained Prompting"], + "작성": ["Output Formatting", "Few-shot Prompting"], + "경쟁": ["RAG Prompting", "Chain-of-Thought (CoT)"], + "요구": ["Persona Prompting", "Step-back Prompting"], +} +AUTO_RULES_OUTPUT = { + "이메일": ["Persona Prompting", "Output Formatting", "Few-shot Prompting", "Self-consistency Prompting"], + "카피": ["Few-shot Prompting", "Self-consistency Prompting", "Output Formatting"], + "보고서": ["RAG Prompting", "Chain-of-Thought (CoT)", "Output Formatting"], + "PRD": ["Role Prompting", "Constrained Prompting", "Chain-of-Thought (CoT)"], +} +AUTO_RULES_USER = { + "세일즈": ["Persona Prompting", "Few-shot Prompting", "Self-consistency Prompting"], + "마케팅": ["Few-shot Prompting", "Self-consistency Prompting"], + "전략": ["Chain-of-Thought (CoT)", "Step-back Prompting", "RAG Prompting"], + "PM": ["Role Prompting", "Constrained Prompting"], + "데이터": ["RAG Prompting", "Constrained Prompting"], +} + +def auto_recommend(domain_key, pains, outs, users): + rec=[] + if not domain_key: return [], "" + + if domain_key=="1 외부 커뮤니케이션": + rec+=["Persona Prompting","Few-shot Prompting","Self-consistency Prompting","Output Formatting"] + if domain_key=="2 시장·고객 리서치": + rec+=["RAG Prompting","Chain-of-Thought (CoT)","Output Formatting","Step-back Prompting"] + if domain_key=="3 제품·UX 문서": + rec+=["Role Prompting","Constrained Prompting","Chain-of-Thought (CoT)","Output Formatting"] + + for p in pains or []: + for k,ts in AUTO_RULES_PAIN.items(): + if k in p: rec+=ts + for o in outs or []: + for k,ts in AUTO_RULES_OUTPUT.items(): + if k in o: rec+=ts + for u in users or []: + for k,ts in AUTO_RULES_USER.items(): + if k in u: rec+=ts + + rec.append("Output Formatting") + + unique_rec = uniq(rec) + + rationale_md = "### 🔮 자동 추천 기술 및 핵심 근거\n\n" + if not unique_rec: + rationale_md += "선택된 항목에 대한 자동 추천 기술이 없습니다. 직접 기술을 선택해주세요." + else: + for tech in unique_rec: + g = TECH_DETAILED.get(tech, {}) + desc = g.get("desc", "설명 없음") + rationale_md += f"- **{tech}**: {desc}\n" + + return gr.update(value=unique_rec, choices=uniq(ALL_TECHS + unique_rec)), rationale_md + +def reason_from_pain(tech: str, pains: List[str], pain_subs: List[str]) -> List[str]: + R=[] + jp=" ".join(pains or []) + " " + " ".join(pain_subs or []) + if "반응률" in jp: + if tech=="Persona Prompting": R.append("반응률 저조 → 세그먼트 맞춤 어휘/어조로 **체감 가치** 상승") + if tech=="Few-shot Prompting": R.append("반응률 저조 → 고성과 예시 패턴 복제") + if tech=="Self-consistency Prompting": R.append("반응률 저조 → 다변량 후보 생성→자체 채점으로 **Top-1**") + if "불일치" in jp or "톤/보이스" in jp or "포맷" in jp: + if tech=="Output Formatting": R.append("메시지 불일치 → 형식/섹션 고정으로 정합성↑") + if tech=="Constrained Prompting": R.append("메시지 불일치 → 금칙/길이/필수필드 강제") + if "작성 시간" in jp or "예시 부족" in jp: + if tech in {"Few-shot Prompting","Output Formatting"}: R.append("작성시간 과다/예시 부족 → 템플릿 + 예시 기반으로 속도↑") + if "경쟁사 정보" in jp: + if tech=="RAG Prompting": R.append("경쟁사 정보 부족 → 외부 데이터 근거 주입(최신성/신뢰��)") + if tech=="Chain-of-Thought (CoT)": R.append("경쟁사 분석 구조화(CoT)로 인사이트 명료화") + if "요구 불명확" in jp: + if tech in {"Persona Prompting","Step-back Prompting"}: R.append("고객 요구 불명확 → 상위 목적/JTBD 정렬") + return R + +def reason_from_output(tech: str, outs: List[str], out_subs: List[str]) -> List[str]: + R=[] + jo=" ".join(outs or []) + " " + " ".join(out_subs or []) + if "메일" in jo or "카피" in jo or "랜딩" in jo: + if tech=="Output Formatting": R.append("카피/메일 계열 → **헤드라인/서브/바디/CTA** 고정이 성과 좌우") + if tech=="Self-consistency Prompting": R.append("메시지 후보 다변량 생성→최적안 선택 필요") + if tech=="Few-shot Prompting": R.append("채널별 톤/길이 차이를 예시로 빠르게 적응") + if "보고서" in jo or "분석" in jo: + if tech=="RAG Prompting": R.append("보고서/분석 → 수치·출처 최신성 보장") + if tech=="Chain-of-Thought (CoT)": R.append("보고서/분석 → 단계적 구조(CoT)로 논리 강화") + if "PRD" in jo or "API" in jo: + if tech in {"Constrained Prompting","Role Prompting"}: R.append("PRD/API → JSON/필드 강제 + 직무 관점 고정 필요") + return R + +def reason_from_user(tech: str, users: List[str], user_subs: List[str]) -> List[str]: + R=[] + ju=" ".join(users or []) + " " + " ".join(user_subs or []) + if "세일즈" in ju: + if tech=="Persona Prompting": R.append("Sales는 파이프라인/승률 언어 선호 → 페르소나 톤 적용") + if tech=="Few-shot Prompting": R.append("영업 레퍼런스 사례 모사가 설득력↑") + if "전략" in ju: + if tech in {"Chain-of-Thought (CoT)","Step-back Prompting","RAG Prompting"}: + R.append("전략조직은 근거/논리/시사점 중시 → CoT+RAG+Step-back 적합") + if "PM" in ju or "UX" in ju: + if tech in {"Role Prompting","Constrained Prompting"}: + R.append("PM/UX는 필드/AC/톤 표준 필요 → 역할 고정 + 제약 강제") + return R + +# ========================================================= +# 4. 상세 정보 표시 함수들 +# ========================================================= + +def show_pain_details(selected_pains): + if not selected_pains: + return "Pain Point를 선택하면 상세 설명이 여기에 표시됩니다." + details_html = "
정의: {detail['definition']}
+주요 증상:
+근본 원인:
+비즈니스 임팩트: {detail['business_impact']}
+측정 방법: {detail['measurement']}
+정의: {detail['definition']}
+목적: {detail['purpose']}
+핵심 구성요소:
+성공 지표:
+{detail['real_examples']}
+ 정의: {detail['definition']}
+주요 목표:
+핵심 지표:
+커뮤니케이션 스타일:
+세부 역할:
+전문 분야:
+📖 정의: {detail['desc']}
+🎯 목적: {detail['purpose']}
+⏰ 언제 사용: {detail['when_to_use']}
+🔧 작동 원리:
+{detail['real_example']}
+ ✅ 활용 팁: {detail['tips']}
+⚠️ 주의사항: {detail['avoid']}
+