Phase H: 스토리라인 설계 기반 파이프라인 전환
H-1: KEI_PROMPT 재설계 - "꼭지 추출" → "슬라이드 스토리라인 설계" - 핵심 메시지(core_message) 먼저 파악 - 각 위치의 목적(purpose) 부여: 문제제기/근거사례/핵심전달/용어정의/결론강조/구조시각화 - 원본 텍스트 범위(source_hint) 명시 - 원본 보존 원칙 강조 H-2: EDITOR_PROMPT 수정 - "세련된 편집" → "원본 최대 보존, 약간만 축약" - "빈 슬롯 금지" 명시 - purpose 기반 텍스트 배치 H-3: STEP_B_PROMPT 보강 - purpose 기반 블록 선택 가이드 추가 (참고, 강제 아님) - 출력 JSON에 purpose 필드 추가 H-4: fill_content()에서 purpose 전달 - slot_requirements에 목적(purpose) 1줄 추가 코드 구조 변경 없음. 프롬프트만 수정. persona_agent 수정 0건. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -26,14 +26,17 @@ EDITOR_PROMPT = """당신은 도메인 전문가이자 콘텐츠 편집자이다
|
||||
원본 콘텐츠의 핵심 내용을 유지하면서 각 블록의 슬롯에 맞게 텍스트를 정리한다.
|
||||
|
||||
## 핵심 원칙
|
||||
- **내용의 의미와 정확성이 글자 수보다 우선한다**
|
||||
- **원본 텍스트를 최대한 보존한다.** 슬라이드 공간에 맞게 약간만 축약한다.
|
||||
- 의미를 바꾸거나 완전히 재작성하지 않는다.
|
||||
- 팀장이 제시한 글자 수 가이드는 참고. 의미를 살리려면 가이드를 초과해도 된다.
|
||||
- 디자인 실무자가 텍스트에 맞게 디자인을 조정할 것이므로, 텍스트를 억지로 자르지 않는다.
|
||||
- **모든 슬롯을 빠짐없이 채운다. 빈 슬롯 금지.**
|
||||
|
||||
## 편집 규칙
|
||||
- 전체 컨텍스트와 핵심 용어를 보존한다
|
||||
- 세련된 표현으로 편집한다 (원본 그대로가 아님)
|
||||
- 원본 표현을 살리되, 슬라이드에 맞게 약간만 다듬는다
|
||||
- 개조식(불릿, 번호)으로 작성한다. 줄글 금지.
|
||||
- 각 블록의 **목적(purpose)**을 보고 해당 목적에 맞는 텍스트를 원본에서 가져온다
|
||||
- **불릿 항목은 반드시 각각 별도 줄(\n)로 작성한다.** 한 줄에 여러 항목을 넣지 마라.
|
||||
- 올바른 예: "• 추진과제: 건설산업 디지털화\n• 실행과제: BIM 전면 도입\n• 출처: 국토교통부"
|
||||
- 잘못된 예: "• 추진과제: 건설산업 디지털화 • 실행과제: BIM 전면 도입 • 출처: 국토교통부"
|
||||
@@ -82,6 +85,7 @@ async def fill_content(
|
||||
topic_id = block.get("topic_id", i + 1)
|
||||
req_text = (
|
||||
f"블록 {i+1} ({block_type}, 영역: {block.get('area', '?')}, topic_id: {topic_id}):\n"
|
||||
f" 목적(purpose): {block.get('purpose', '미지정')}\n"
|
||||
f" 용도: {block.get('reason', '미지정')}\n"
|
||||
f" 크기: {block.get('size', 'medium')}\n"
|
||||
f" 필수 슬롯: {slots.get('required', [])}\n"
|
||||
|
||||
Reference in New Issue
Block a user