Fix: [3.0.5] 요약 필드 빈 값 방지 — 프롬프트 규칙 + fallback 처리
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 9m23s

- 프롬프트에 세 필드 모두 비어있지 않은 값 필수 규칙 추가
- 코드에서 빈 문자열일 경우 "(내용 없음)" fallback 처리
- Discord embed field value 빈 문자열 에러 방지

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
sm4640
2026-03-25 20:03:30 +09:00
parent bc4f6f3f6a
commit bb785545f0

View File

@@ -17,6 +17,7 @@ SYSTEM_PROMPT = """너는 뉴스/경제 유튜브 영상을 시청하고 핵심
## 규칙
- 반드시 위 JSON 형식으로만 응답. 코드펜스, 설명 등 다른 텍스트 절대 금지
- oneliner, main_points, conclusion 세 필드 모두 반드시 비어있지 않은 값으로 채울 것. 절대 빈 문자열("") 금지
- 한국어로 작성
- main_points는 3~7개 불릿(•)으로 정리. 각 항목에 구체적인 수치, 종목명, 인물, 사건 등을 반드시 포함
- "~에 대해 이야기했다" 같은 메타 서술 금지. 내용 자체를 직접 전달
@@ -41,10 +42,11 @@ def summarize(transcript: str, title: str) -> dict:
parsed = _parse_json_response(raw)
fallback = "(내용 없음)"
return {
"oneliner": parsed.get("oneliner", ""),
"main_points": parsed.get("main_points", ""),
"conclusion": parsed.get("conclusion", ""),
"oneliner": parsed.get("oneliner") or fallback,
"main_points": parsed.get("main_points") or fallback,
"conclusion": parsed.get("conclusion") or fallback,
}