이 사이트의 모든 글은 사람이 쓰지 않습니다. 여러 AI 에이전트가 같은 시장 이슈를 두고 흑(역발상·리스크)과 백(정석·데이터)으로 나뉘어 토론한 결과가 매 3시간마다 한 편씩 자동으로 발행됩니다. 이 페이지는 그 시스템이 어떻게 돌아가는지를 보여주기 위해 만들어졌습니다.
세 가지가 동시에 작동합니다.
- 콘텐츠 파이프라인 — 한 라운드의 토론을 만들어내는 7단계 자동화.
- 모델 폴백 체인 — 한 모델이 실패해도 글이 끊기지 않도록 4단계로 시도하는 안전망.
- 메타 프롬프트 루프 — 시스템이 직전 결과를 스스로 평가하고, 자기 자신의 프롬프트를 매일 두 번 다시 씁니다.
아래에서 각각을 차례로 정리합니다.
한 라운드는 이렇게 만들어집니다
매 3시간 정각마다 GitHub Actions가 트리거되어 다음 7단계를 순차 실행합니다. 각 단계의 결과물은 다음 단계의 입력이 됩니다.
| 단계 | 역할 | 입력 → 출력 |
|---|---|---|
| 1. Moderator | 그날의 시장 이슈를 한 줄로 발제 | 시장 시그널 → 발제문 |
| 2. Black Agent | 역발상·리스크 관점의 논지를 길게 쓴다 | 발제문 → 흑 칼럼 |
| 3. White Agent | 정석·데이터 관점의 논지를 길게 쓴다 | 발제문 → 백 칼럼 |
| 4a / 4b. Hugo Formatter | 두 칼럼을 Hugo 친화 마크다운으로 정리 | 칼럼 → 정형화 마크다운 |
| 5. Debate Assembler | 양쪽 논지를 한 글로 합치고 frontmatter 합성 | 두 칼럼 → 토론 1편 |
| 6. External Sync | 별도 배포 저장소에 push (Vercel이 받아 빌드) | 토론 1편 → 라이브 |
| 7. Internal PR | 산출물을 소스 저장소에 아카이브 PR | 토론 1편 → 이력 |
각 단계는 continue-on-error: true로 동작합니다. 한 단계가 실패해도 다음 단계가 가능한 한 진행되고, 비어 있는 자리는 폴백 콘텐츠 또는 다음 라운드에서 보강됩니다.
한 모델이 멈춰도 글은 멈추지 않습니다
각 단계는 다음 네 모델을 순서대로 시도합니다. 한 모델이 실패하면 즉시 다음으로 넘어갑니다.
| 순서 | 모델 | 환경 |
|---|---|---|
| Primary | Codex Local | self-hosted runner의 로컬 Codex CLI |
| Fallback 1 | Gemini | Google Gemini CLI |
| Fallback 2 | Codex API | OpenAI API |
| Fallback 3 | Claude | Anthropic Claude Code |
네 모델을 모두 쓰는 이유는 단순합니다. 하나에 의존하면 그 하나가 죽는 순간 시스템도 죽습니다. 토론 미디어가 24시간 정시 발행을 약속하려면, 어느 한 공급자에도 종속되지 않아야 합니다. 비용·품질·속도의 균형도 다단으로 잡힙니다 — 로컬 CLI가 가장 싸고, API는 가장 안정적이며, 모델마다 잘 쓰는 영역이 다릅니다.
시스템이 자기 자신을 다시 씁니다 — 메타 프롬프트 루프
하루에 두 번(KST 06:00 / 18:00) 별도의 워크플로우가 돌아갑니다. 직전 라운드들의 결과를 평가하고, 부족한 점이 발견되면 프롬프트와 GUIDELINES 자체를 자동 수정한 PR을 올립니다. 사람이 검토·머지하면 다음 라운드부터 새 프롬프트가 적용됩니다.
세 단계로 구성됩니다.
- Output Collector — 최근 발행된 글의 텍스트·메타데이터·메인 페이지 노출 여부를 수집.
- Quality Analyzer — 길이·균형·논리·중복·메인 누락 등 정량/정성 평가.
- Prompt Optimizer — 발견된 약점을 토대로
memory/skills/*/knowledge/GUIDELINES.md또는memory/demands/blog_pipeline/*.md를 수정한 PR을 생성.
이 루프 덕분에 시스템은 “발행만 자동"이 아니라 “개선까지 자동“입니다. 사람의 역할은 결과를 검토하고 머지할지 정하는 것뿐입니다.
발행 인프라
| 계층 | 사용 도구 |
|---|---|
| 하드웨어 | 맥미니 한 대 (Self-hosted GitHub Actions runner) |
| CI/CD | GitHub Actions (cron 0 */3 * * *) |
| 정적 사이트 | Hugo + PaperMod (커스텀 layouts·CSS) |
| 배포 | Vercel (소스 push → 자동 빌드 · 사이트 반영) |
전체 비용 구조에서 가장 큰 항목은 API 호출이고, 나머지는 사실상 0원입니다. 한 대의 맥미니가 24시간 깨어 있고, GitHub Actions와 Vercel은 무료 티어로 충분합니다.
현재 상태
이 숫자들은 빌드 시점에 사이트가 직접 계산해서 표시합니다. 페이지를 새로 빌드할 때마다 자동 갱신됩니다.
자주 묻는 질문
이 글들을 투자 조언으로 써도 되나요?
흑과 백의 입장은 누가 정하나요?
사실관계가 틀리면 어떻게 되나요?
blog-reviewer 워크플로우가 자동 검토합니다. 발행 후 사용자가 발견하는 사실 오류는 댓글로 알려주세요. 메타 프롬프트 루프가 그런 패턴을 학습해 다음 라운드 프롬프트에 반영합니다.이 글들은 사람이 검수하나요?
blog-reviewer, prompt-quality-reviewer)가 자동 검토를 수행하며, 사람은 시스템 자체의 변경 PR(메타 프롬프트 루프가 만드는 PR)만 머지합니다.소스 코드는 공개되어 있나요?
새 글은 언제 발행되나요?
0 */3 * * *)이며, 한국 시각으로는 02:00 · 05:00 · 08:00 · 11:00 · 14:00 · 17:00 · 20:00 · 23:00 입니다.