---
task_id: task-1936
type: plan
scope: task
created: 2026-04-18
updated: 2026-04-18
status: completed
---

# 계획서: task-1936

**task**: task-1936
**목표**: 네이버 블로그 글 생성 시 LLM 모델 선택 기능 추가 — API 직접 호출을 CLI 방식으로 전환
**근거**: task 지시서의 절대 규칙 "API 호출 절대 금지, 모든 LLM 호출은 CLI 방식으로만"

---

## 목표

1. blog_writer.py에서 GPT/GLM provider의 API 직접 호출을 CLI 방식으로 전환
2. `import openai` 제거
3. 기존 프론트엔드 UI + 백엔드 routes_post.py는 이미 완성 → 수정 불필요 확인
4. E2E 테스트 통과 확인

## 범위

### 포함
- blog_writer.py: GPT provider → CLI(codex CLI 기반) 전환
- blog_writer.py: GLM provider → subprocess로 glm-call.py 호출 방식 전환
- blog_writer.py: `import openai` 제거
- 테스트 실행 및 검증

### 제외 (다음 페이즈 이후)
- 프론트엔드 UI 변경 (이미 완성됨)
- routes_post.py 변경 (이미 완성됨)
- 실제 모델별 글 품질 비교 테스트 (비용 발생, 이번 작업에서는 코드 정합성만 확인)
- 디자인 작업

## 위임 계획

- GPT/GLM CLI 전환 코딩: **토르(백엔드)** — CLI subprocess 호출 로직 구현
- E2E 테스트: **헤임달(테스터)** — 기존 테스트 + 모델 검증 테스트

## 검증 기준

- blog_writer.py에 `import openai` 없음: `grep "import openai" blog_writer.py` → 0건 ✅
- blog_writer.py에 `openai.OpenAI()` 없음: `grep "openai\." blog_writer.py` → 0건 ✅
- blog_writer.py에 `requests.post` (GLM API 호출) 없음: `grep "requests.post\|requests.get" blog_writer.py` → 0건 ✅
- E2E 테스트 (TC-3: 잘못된 모델 에러 처리) 통과 ✅
