DAY 07작업 7일째
AI가 초안까지만 쓰게 길을 좁혔다
로컬 AI가 블로그 초안을 바로 넣는 MCP 서버를 만들고, Claude Code와 Codex가 같은 기준으로 쓰게 했다.
로컬에서 같이 작업한 AI가 블로그 초안을 바로 넣을 수 있게 MCP 서버를 붙였다. 첫날에는 Claude Code만 연결했고, 사흘 동안 Codex 연결과 그림 올리기를 더했다. 마지막 날에는 두 AI가 같은 가이드와 같은 절차를 읽게 정리했다.
초안까지만 쓸 수 있게 했다
어드민에도 메모를 넘기면 초안을 써 주는 기능이 있다. 그래도 작업을 같이 한 세션이 그 맥락을 가장 잘 안다. 그래서 그 세션이 직접 초안을 넣는 길을 따로 열었다.
대신 할 수 있는 일을 좁혔다. 도구는 가이드 읽기, 글 목록과 원문 읽기, 초안 저장, 그림 올리기뿐이다. 발행, 삭제, 발행된 글 고치기는 도구로 만들지 않았다. 저장하면 머리말이 draft: true로 고정되고, 공개는 어드민에서 사람이 한다. 기존 초안을 고칠 때는 읽을 때 받은 sha를 같이 넘겨야 해서, 그사이 어드민에서 고친 글을 덮어쓰지 않는다.
Codex도 같은 길로 들어오게 했다
10월 3일에 Codex를 연결했다. 토큰은 환경 변수, macOS 키체인 순서로 찾고 있었는데, 윈도우에서도 쓰려고 세 번째 자리를 더했다. 이 사용자만 풀 수 있게 DPAPI로 암호화한 파일이다. 초안에 넣을 화면 캡처는 blog_upload_image로 글 폴더에 올린다. 어드민의 이미지 올리기와 같은 검사를 거치고, 발행된 글에는 올릴 수 없다.
누가 썼는지는 연결할 때 AI가 보내는 이름(clientInfo)으로 정한다.
/codex/i.test(clientName) ? { source: 'codex', label: 'Codex' } : { source: 'claude-code', label: 'Claude Code' };
이 값이 머리말 source와 커밋 메시지 끝의 (Codex)로 남는다. 어드민의 출고 기록은 이 값으로 AI별 숫자를 센다.
기준은 한 파일에 모았다
AI가 둘이 되니 규칙이 도구마다 흩어질 수 있었다. 글쓰기 기준은 블로그 저장소의 ai/style-guide.md 하나로 두고, 어드민의 초안 생성과 다듬기, MCP의 blog_guide가 모두 이 파일을 읽게 했다. 검토하면서 정한 기준도 이 파일에 더한다. 긴 대시를 쓰지 않는다는 규칙이 그렇게 들어갔다.
절차도 같은 방식으로 정리했다. ai/skills/blog-draft/SKILL.md를 원본으로 두고, Claude Code 쪽 스킬 파일에는 그 원본을 읽으라는 안내만 남겼다. AGENTS.md에는 초안 작성 요청이 공개 권한이 아니라는 규칙을 적었다.