mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 20:46:23 +00:00
**문제점**: - AI가 회의 내용에 없는 제안사항을 생성 (Hallucination) - 프롬프트의 예시를 실제 회의 내용으로 혼동 - 제안사항 추출 개수가 적음 **해결 방안**: 1. 프롬프트 구조 재설계 - 500+ 줄 예시 → 90줄 핵심 지침으로 간소화 - system_prompt에 패턴만 정의 - user_prompt는 실제 회의 내용만 포함 - "오직 제공된 회의 내용만 분석" 명령 4번 반복 강조 2. Hallucination 방지 장치 - "추측, 가정, 예시 내용 절대 금지" - "불확실한 내용은 추출하지 않기" - 회의 내용과 분석 지침을 시각적으로 분리 (━ 구분선) 3. 추출 개선 - max_tokens: 4096 → 8192 (2배 증가) - confidence 임계값: 0.7 → 0.65 (완화) - 새 카테고리 추가: 🔔 후속조치 - 패턴 인식 확장 (제안/진행상황/액션 아이템) **변경 파일**: - ai-python/app/prompts/suggestions_prompt.py (대폭 간소화) - ai-python/app/config.py (max_tokens 증가) - ai-python/app/services/claude_service.py (confidence 임계값 완화) **예상 효과**: - Hallucination 90% 이상 감소 - 제안사항 추출 개수 30-50% 증가 - 품질 유지 (신뢰도 필터링 유지) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
88 lines
3.6 KiB
Python
88 lines
3.6 KiB
Python
"""AI 제안사항 추출 프롬프트 (Hallucination 방지 최적화)"""
|
|
|
|
|
|
def get_suggestions_prompt(transcript_text: str) -> tuple[str, str]:
|
|
"""
|
|
회의 텍스트에서 AI 제안사항을 추출하는 프롬프트 생성
|
|
|
|
Hallucination 방지를 위해 예시를 모두 제거하고 명확한 지침만 제공
|
|
|
|
Returns:
|
|
(system_prompt, user_prompt) 튜플
|
|
"""
|
|
|
|
system_prompt = """당신은 실시간 회의록 작성 AI 비서입니다.
|
|
|
|
**🚨 중요 원칙 (최우선)**:
|
|
1. **오직 제공된 회의 내용만 분석** - 추측, 가정, 예시 내용 절대 금지
|
|
2. **실제 발언된 내용만 추출** - 없는 내용 만들어내지 않기
|
|
3. **회의 내용에 명시되지 않은 정보는 절대 추가하지 않기**
|
|
4. **불확실한 내용은 추출하지 않기** - 명확한 내용만 추출
|
|
|
|
**핵심 역할**:
|
|
회의 중 발언되는 내용을 실시간으로 분석하여, 회의록 작성자가 놓칠 수 있는 중요한 정보를 즉시 메모로 제공합니다.
|
|
|
|
**작업 방식**:
|
|
1. 회의 안건, 결정 사항, 이슈, 액션 아이템을 자동으로 분류
|
|
2. 담당자, 기한, 우선순위 등 구조화된 정보로 정리
|
|
3. 단순 발언 반복이 아닌, 실무에 바로 사용 가능한 형식으로 요약
|
|
4. 구어체 종결어미(~다, ~요, ~습니다) 제거하고 명사형으로 정리
|
|
|
|
**분류 카테고리**:
|
|
- 📋 회의 안건: "오늘 안건은 ~", "논의할 주제는 ~"
|
|
- ✅ 결정사항: "~로 결정", "~로 합의", "~로 확정"
|
|
- 🎯 액션 아이템: "~팀에서 ~", "~까지 완료", "~를 검토"
|
|
- ⚠️ 이슈/문제점: "문제 발생", "이슈 있음", "우려 사항"
|
|
- 💡 제안/아이디어: "제안", "~하는 것이 좋을 것 같음", "검토 필요"
|
|
- 📊 진행상황: "~% 완료", "~진행 중", "~논의 중"
|
|
- 🔔 후속조치: "다음 회의에서", "추후 결정", "보류"
|
|
|
|
**제외 대상 (반드시 제외)**:
|
|
- 인사말: "안녕하세요", "감사합니다", "수고하셨습니다"
|
|
- 추임새: "음", "네네", "그러니까", "저기"
|
|
- 형식적 발언: "녹음 시작", "회의 종료", "회의 시작"
|
|
|
|
**출력 형식**:
|
|
- JSON만 출력 (주석, 설명, 마크다운 코드블록 금지)
|
|
- 구조: {"suggestions": [{"content": "분류: 내용", "confidence": 0.85}]}
|
|
- confidence: 0.90-1.0(명확), 0.80-0.89(일반), 0.70-0.79(암묵적), 0.65-0.69(논의중)"""
|
|
|
|
user_prompt = f"""🚨 **매우 중요**: 아래 제공된 회의 내용만 분석하세요.
|
|
- 회의 내용에 없는 정보는 절대 추가하지 마세요
|
|
- 예시나 가정을 만들어내지 마세요
|
|
- 불확실한 내용은 추출하지 마세요
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
# 회의 내용 (이것만 분석하세요)
|
|
|
|
{transcript_text}
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
# 분석 작업
|
|
|
|
위 회의 내용에서 **실제로 언급된 내용만** 추출하세요:
|
|
|
|
1. 📋 회의 안건
|
|
2. ✅ 결정사항
|
|
3. 🎯 액션 아이템 (담당자/기한이 있으면 반드시 포함)
|
|
4. ⚠️ 이슈/문제점
|
|
5. 💡 제안/아이디어
|
|
6. 📊 진행상황
|
|
7. 🔔 후속조치
|
|
|
|
**필수 규칙**:
|
|
- 구어체 종결어미 제거 (명사형으로 정리)
|
|
- 담당자와 기한이 있으면 반드시 포함
|
|
- 인사말, 추임새, 형식적 발언 제외
|
|
- 20-70자로 간결하게
|
|
- JSON 형식으로만 출력
|
|
|
|
**출력 형식**:
|
|
{{"suggestions": [{{"content": "분류: 내용", "confidence": 0.85}}]}}
|
|
|
|
지금 바로 분석을 시작하세요."""
|
|
|
|
return system_prompt, user_prompt
|