# task-528: GEO-SEO Citability 규칙 프롬프트 반영

## 레벨: Lv.1 (파일/라인 특정, 프롬프트 텍스트 추가)

## 목표
ThreadAuto 콘텐츠 생성 프롬프트에 GEO-SEO AI 인용성(citability) 규칙을 반영한다.
"서울대연금쌤" 브랜드도 추가한다.

## 스펙 문서
- **반드시 먼저 읽을 것**: `/home/jay/workspace/memory/specs/geo-seo-content-rules.md`
- 상세 분석: `/home/jay/workspace/memory/research/geo-seo-analysis.md`

## 수정 대상 파일 (2개만)

### 1. `/home/jay/projects/ThreadAuto/content/prompts_v2.py` (346줄)

#### 1-1. `_PERSONA_BLOCK` (line 30-37) 수정
현재 "서울대보험쌤"만 있음. "서울대연금쌤" 브랜드 추가.
```
변경 전:
당신은 "서울대보험쌤"입니다.
- 서울대 출신 보험 설계사 지점장이자 콘텐츠 크리에이터

변경 후:
당신은 "서울대보험쌤"입니다.
- 서울대 출신 보험 설계사 지점장이자 콘텐츠 크리에이터
- 연금 컨설팅 채널 "서울대연금쌤"도 운영 중
```

#### 1-2. `_SYSTEM_PROMPT_TEMPLATE` (line 237-248)에 GEO-SEO 섹션 추가
`{forbidden_block}` 다음, `## 팩트DB` 이전에 새 섹션을 추가:

```
## GEO-SEO AI 인용성 규칙
AI 검색 엔진(ChatGPT, Perplexity, Gemini)이 이 콘텐츠를 인용할 수 있도록 아래 규칙을 따르세요.

1. [자기완결적 블록] 각 슬라이드의 텍스트는 다른 슬라이드 없이도 의미가 완결되어야 합니다. "이것", "위에서 말한" 등 지시대명사 대신 구체적 명사를 사용하세요.
2. [정의 패턴] 핵심 개념을 "X란 Y이다" 형태로 설명하세요. 예: "GA(General Agency)란 여러 보험사의 상품을 비교 판매할 수 있는 독립 법인대리점이다."
3. [통계 밀도] 팩트DB의 수치를 적극 활용하고, 연도를 반드시 명시하세요. 예: "2025년 기준 인카금융서비스 수수료 매출 2,236억"
4. [고유명사 우선] 대명사("저", "우리", "여기") 대신 고유명사(서울대보험쌤, TOP사업단, 인카금융서비스)를 사용하세요.
5. [질문형 헤딩] cover 훅에 질문형을 적극 활용하세요. 예: "GA 이직 수수료율은 얼마인가?", "정착지원금이란?"
6. [브랜드명 포함] 슬라이드 또는 캡션에 "서울대보험쌤" 또는 "서울대연금쌤"을 최소 1회 자연스럽게 포함하세요. 억지로 넣지는 마세요.
```

#### 1-3. `_TONE_GUIDES` 각 카테고리에 citability 힌트 1줄 추가
각 톤앤매너 가이드 마지막에 1줄씩 추가:

- 고민공감: `- [GEO] 고민을 정의 패턴으로 명명하세요. 예: "수수료 불안이란 이직 시 수수료율 변동에 대한 걱정이다."`
- 정보제공: `- [GEO] 핵심 개념을 "X란 Y이다" 정의 패턴으로 시작하고, 팩트DB 수치를 연도와 함께 인용하세요.`
- 사회적증거: `- [GEO] 성공 사례를 서술할 때 구체적 수치(기간, 성장률)를 포함하고, TOP사업단 브랜드명을 명시하세요.`
- 업계동향: `- [GEO] 트렌드를 정의 패턴으로 설명하고, 출처와 연도를 명시하세요. "서울대보험쌤의 분석"으로 독자적 시각을 표현하세요.`
- CTA: `- [GEO] "서울대보험쌤"과 "TOP사업단" 브랜드명을 자연스럽게 포함하세요.`

### 2. `/home/jay/projects/ThreadAuto/content/text_prompts.py` (120줄)

#### 2-1. `AI_SMELL_RULES` (line 55-64)에 GEO-SEO 규칙 병합
기존 내용 유지하면서 아래 추가:

```
[GEO-SEO 인용성 규칙]
- 핵심 개념은 "X란 Y이다" 정의 패턴으로 설명
- 대명사("저", "우리") 대신 고유명사("서울대보험쌤", "TOP사업단") 사용
- 수치 사용 시 연도 명시 (예: "2025년 기준")
- "서울대보험쌤" 또는 "서울대연금쌤" 브랜드명을 자연스럽게 1회 포함 (억지로 넣지 말 것)
```

#### 2-2. `TEXT_SYSTEM_PROMPTS` 각 타입에 GEO 힌트 1줄 추가
각 프롬프트의 마지막에:

- text_empathy: `- [GEO] 고민을 구체적 명사로 명명하세요. 대명사 대신 "서울대보험쌤" 브랜드명 사용.`
- text_data: `- [GEO] "X란 Y이다" 정의 패턴 사용. 수치에 연도 명시. "서울대보험쌤" 브랜드명 포함.`
- text_story: `- [GEO] 구체적 수치(기간, 성장률) 포함. "TOP사업단" 고유명사 사용.`
- text_insight: `- [GEO] 트렌드를 정의 패턴으로 설명. 출처/연도 명시. "서울대보험쌤의 분석" 표현 활용.`
- text_cta_soft: `- [GEO] "서울대보험쌤" 또는 "서울대연금쌤" 브랜드명 자연스럽게 포함.`
- text_cta_hard: `- [GEO] "서울대보험쌤" 브랜드명과 구체적 수치 포함.`

## 절대 금지사항
- 기존 금지사항(금소법, factDB 외 수치 금지 등) 변경/삭제 금지
- 기존 텍스트 길이 제한 변경 금지
- 기존 JSON 출력 형식 변경 금지
- 기존 로직/함수 구조 변경 금지
- 위 2개 파일 외 다른 파일 수정 금지

## 테스트
- 기존 테스트 전체 통과 확인 (pytest)
- pyright 에러 0건 확인
- 수정 후 `get_system_prompt("정보제공")` 호출하여 GEO-SEO 섹션이 정상 포함되는지 확인
- 수정 후 `AI_SMELL_RULES` 출력하여 GEO 규칙이 포함되는지 확인

## 산출물
- 수정된 `prompts_v2.py`, `text_prompts.py`
- 보고서: `/home/jay/workspace/memory/reports/task-528.md`