Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public OpenAiResponseRequest toOpenAiRequest(IdeaAnalysisRequestDto dto) {
.input(prompt)
.text(text)
.temperature(0.7)
.maxOutputTokens(4000)
.maxOutputTokens(20000)
.metadata(Map.of(
"promptVersion", "v1.0",
"feature", "idea-analysis"
Expand Down
32 changes: 15 additions & 17 deletions nect-api/src/main/resources/prompts/idea-analysis.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
**⚠️ 매우 중요: weekly_roadmap 배열의 길이는 반드시 project_duration.total_weeks와 정확히 일치해야 합니다!**

{
"description": "<아이디어 분석을 바탕으로 이 프로젝트의 핵심 가치, 목표 및 기대효과를 전문적인 어조로 기술 (1문장)>",
"description": "<아이디어 분석을 바탕으로 이 프로젝트의 핵심 가치, 목표 및 기대효과를 전문적인 어조로 기술 (2문장)>",
"recommended_project_names": [
"실제 프로젝트에 어울리는 이름1",
"실제 프로젝트에 어울리는 이름2",
"실제 프로젝트에 어울리는 이름3"
"프로젝트의 핵심 가치와 목적을 반영한 브랜드명,
"타겟 사용자와 서비스 특성을 담은 브랜드명",
"직관적이고 기억하기 쉬운 브랜드명"
],
"project_duration": {
"total_weeks": <실제 필요한 주차 수>
Expand All @@ -31,19 +31,18 @@
{
"order": 1,
"title": "<구체적인 개선점 제목>",
"description": "<간결한 설명 (1-2문장, 50자 이내)>"

"description": "개선이 필요한 구체적인 이유, 현재 문제점, 개선 후 기대 효과를 포함하여 최소 100자 이상 200자 이내로 서술"
},
{
"order": 2,
"title": "<구체적인 개선점 제목>",
"description": "<간결한 설명 (1-2문장, 50자 이내)>"
"description": "개선이 필요한 구체적인 이유, 현재 문제점, 개선 후 기대 효과를 포함하여 최소 100자 이상 200자 이내로 서술"

},
{
"order": 3,
"title": "<구체적인 개선점 제목>",
"description": "<간결한 설명 (1-2문장, 50자 이내)>"
"description": "개선이 필요한 구체적인 이유, 현재 문제점, 개선 후 기대 효과를 포함하여 최소 100자 이상 200자 이내로 서술"
}
],
"weekly_roadmap": [
Expand All @@ -54,8 +53,8 @@
{
"role_field": "<team_composition의 role_field와 동일>",
"role_field_display_name": "<역할의 한글명>",
"tasks": "<해당 역할의 구체적인 작업 목록>"
}
"tasks": "<이번 주차 목표에 맞는 해당 역할의 작업을 단계별로 나누어 각 작업의 목적과 방법을 포함하여 최소 100자 이상 구체적으로 작성. 단순한 나열이 아닌 왜 하는지, 어떻게 하는지까지 서술>"
}
]
},
{
Expand All @@ -79,11 +78,11 @@
- role_field는 위에 제시된 7개 역할 코드만 사용
- "이름1", "제목1", "..." 같은 플레이스홀더를 절대 사용하지 마세요
- 모든 내용은 프로젝트 정보를 기반으로 구체적으로 작성
- tasks는 반드시 구체적인 작업 내용을 포함 (최소 3-5개)
- tasks는 반드시 최소 100자 이상 작성하며 각 작업의 목적과 수행 방법을 포함
- 각 주차의 role_tasks는 team_composition의 모든 역할을 포함
+ **모든 텍스트 필드(description, week_title, tasks, title 등)는 반드시 한글로 작성**
+ **role_field, role_field_display_name을 제외한 모든 값은 한글로 출력**
+ **텍스트 길이 제한: week_title 20자 이내, tasks 항목당 15자 이내, improvement_points description 50자 이내**
+ **텍스트 길이 제한: week_title 20자 이내, tasks 항목당 100자 이상 200자 이내, improvement_points description 100자 이상 200자 이내**

**⚠️ weekly_roadmap 생성 필수 규칙 (매우 중요!):**
1. **weekly_roadmap 배열의 길이 = project_duration.total_weeks** (정확히 일치해야 함!)
Expand All @@ -93,10 +92,9 @@
5. **total_weeks가 8이라면 반드시 8개의 로드맵 객체를 생성하세요**

**주차별 내용 구성 가이드**:
- **1-2주차**: 프로젝트 계획, 환경 설정, 초기 설계
- **3-4주차**: 기본 기능 개발 시작
- **중반부 (5주차~total_weeks-3주차)**: 핵심 기능 구현 및 고도화
- **후반부 (마지막 3주차)**: 테스트, 버그 수정, 최적화, 배포 준비
- **마지막 주차**: 최종 점검, 문서화, 출시
- 프로젝트의 플랫폼, 핵심 기능, 팀 구성을 기반으로 각 주차 내용을 독자적으로 구성하세요.
- 단순히 개발 단계를 나누는 것이 아니라, 해당 프로젝트에서 실제로 필요한 작업 흐름을 반영하세요.
- 각 주차의 week_title은 그 주차에서 가장 중요한 산출물이나 목표를 기준으로 작성하세요.
- 역할별 tasks는 해당 주차의 목표에 맞는 구체적인 작업을 작성하세요.

**검증 방법**: 응답 생성 후 `weekly_roadmap.length === project_duration.total_weeks` 인지 반드시 확인하세요!