← 목록
기타 2026-05-27 4KB 읽기 4분

『I love crowny! Ti』 — Gemini 대필 8챕터 완성

개요

같은 날(2026-05-27) v0.4 통합 직후, Gemini API 키를 받아 한선씨 진입점(gemini-api.한선)에서 Gemini 2.5 Flash 실호출을 검증하고, Ti권 8챕터 모두를 자동 대필했다. 책빌더로 정적 사이트 재빌드까지 마쳐 읽기 가능한 책 한 권이 완성됐다.

무엇을 했는지

  1. gemini-api.한선 두 가지 버그 수정 + 재컴파일
- 버그 ①: 체계() 함수가 curl stdout을 변수로 캡처하지 못함 → 임시 파일 경유로 우회 (/tmp/gemini-api-resp.json) - 버그 ②: 요청 본문 조립이 내장 맵생성/맵넣어를 써서 JSON생성()이 빈 [] 반환 (v0.3 발견 함정 재발) → JSON 호환 맵 ([]/JSON설정)으로 교체 - 두 수정 후 curl direct ≡ 한선씨 호출 동일 응답 확인
  1. 핑 검증 — "안녕하세요!" 1줄 응답 정상
  2. 8챕터 일괄 대필 — Ti권 모든 챕터(공통-1~4 + 해보기/결정하기/생각하기/왜?)를 Gemini 2.5 Flash로 대필
  3. 챕터 메타 갱신 — 8개 모두 상태: 대필완료, 초안경로 자동 등록
  4. 책빌더 재실행 — 본문이 리서치 자료 → 산문으로 자동 교체. 정적 HTML 9개 재생성.

결과 (8챕터 대필 결과)

n챕터초안 크기HTML 크기
1공통-1. 크라우니코드의 탄생3,950 B4,264 B
2공통-2. 53분의 규칙5,770 B5,106 B
3공통-3. 6561명을 위한 지침서4,454 B4,461 B
4공통-4. 크라우니달러 계산법5,006 B4,779 B
5해보기7,907 B6,228 B
6결정하기4,989 B4,784 B
7생각하기5,578 B4,966 B
8왜?2,423 B3,468 B
합계40,077 B38,056 B

검증된 한 줄 (재현 가능)

bashexport GEMINI_API_KEY="…"
PROMPT_FILE=/tmp/prompt-ti-1.txt \
  /Users/ef/CrownyOS/crownyc/crownyc run /Users/ef/crowny-agent/스크립트/gemini-api.toau \
  > /Users/ef/crowny-agent/data/초안/ilcrowny-ti_1.md

한선씨 진입점에서 Gemini HTTPS 호출까지 한 줄. Node·Python·LangChain 의존 0.

핵심 발견 (메모리 적용)

한선씨 맵 2종 함정(feedback_hanseon_two_map_types.md)이 도구 3개 연속 재발:

  1. v0.3 책프로젝트.한선 (수정 완료)
  2. v0.4 오케스트레이터.한선 (수정 완료)
  3. v0.4 gemini-api.한선 (이번 수정 — JSON 직렬화 실패가 Google 400 에러로 표면화)
→ 향후 한선씨 모듈 작성 시 내장 맵생성 사용 즉시 의심. 직렬화 흐름이 있으면 무조건 []/JSON설정.

체계() 함수 한계 — 신규 함정 등록 후보: curl의 stdout을 한선씨 변수로 캡처하지 못함. 임시 파일 경유 패턴이 표준.

잔여 이슈

  1. 검증 패스(A단계) — 8챕터 모두 대필완료 상태. Claude 사실확인(클로드사실확인)을 한번 더 돌려 검토중까지 진행
  2. 헤더 일관성 후처리 — 챕터 6 본문 첫 줄이 # 결정하기 인지 등 일괄 확인 후 미일치 시 sed/python 일괄 보정 (소량)
  3. Om/Ta/Um 권 — 같은 패턴으로 4부작 완성 가능. gemini-api.한선 + 책빌더.한선 그대로 재사용
  4. 마켓 한선씨 재빌드 — server.js 5개 라우트가 운영에 반영되려면 별도 세션이 market.toau 재컴파일

다음 한 줄 (Om권 시작 시)

bashecho "새책|ilcrowny-om|I love crowny! Om|김프린|일반인+시니어용 — 게임/스타트업/라이프스타일/문화&신앙" \
  | /Users/ef/CrownyOS/crownyc/crownyc run /Users/ef/crowny-agent/메인.toau