$

케이스 04 · 에이전트

휘발성 요약 거부 — AI를 위한 제2의 뇌

트렌드는 축적된 데이터에서만 보이는데, 일일 요약은 다음 날이면 휘발한다. 그래서 뉴스레터 대신 LLM이 누적형 위키를 키운다. 다중소스 수집과 가중치 큐레이션, 그리고 트렌드를 피드가 아니라 관점으로 읽는 에이전트들.

  • Agent
  • Knowledge
  • Curation
  • Generation
  • Tool Comparison
  • Video · TTS

$

문제의식·가설

"트렌드는 축적된 데이터에서만 보인다. 휘발성 요약으로는 드러낼 수 없다." 그 생각이 Karpathy의 LLM 위키 패턴과 Vannevar Bush의 Memex로 이어졌다.

설계

여러 소스를 쓴다. arXiv(채널 3개), 공식 블로그, 검색으로 가져오는 X. 여기에 가중치 큐레이션을 더한다(interests.md에서 Karpathy는 1.5 같은 식). 사람이 큐레이션하고 LLM이 관리한다. 에이전트는 4+1개다. ingest, brief("why it matters"를 강제), lint(health score), synthesize, 그리고 query인데, 좋은 Q&A는 다시 위키에 쌓인다.

에이전트 흐름

  1. Sources

    arXiv·블로그·X

  2. ingest

    수집·중복제거

  3. wiki

    누적 갱신

  4. brief

    가중치·Why

  5. Slack

    일일 푸시

배달 — 매일 아침 Slack으로 푸시

Daily AI Trend Brief notification in the #ai-trend-notifier Slack channel
에이전트 흐름은 정작 의미 있는 지점에서 끝난다. 매일 아침 브리프가 파일로만 남는 게 아니라 팀 #ai-trend-notifier Slack으로 푸시된다. 실제 런(2026-06-23)이다. 훑어볼 세 줄, 새 위키 페이지 코드스팬, 브리프 경로, 그리고 자동으로 펼쳐진 출처 글. 폰으로 세 줄만 읽고, 가치 있을 때만 위키를 연다.

배달 채널이 하나에서 셋으로

같은 푸시가 이제 원하는 사람 모두에게 퍼진다. 채널마다 규칙은 같다 — 훑을 세 줄, 위키로 가는 링크 하나. 팀에는 Slack, 피드 리더를 쓰는 독자에게는 RSS, 나머지 모두에게는 옵트인 이메일 브리프다. 스팸이 아니라 받은편지함에 꽂히도록 DKIM/SPF/DMARC를 직접 세팅한 도메인에서 보낸다. 매일의 git push가 트리거하는 GitHub Action 하나가 셋을 다 처리하고, 뉴스레터는 더블 옵트인(HMAC 서명 확인 링크)이라 구독으로 남에게 메일을 보낼 수 없다.

배달 — 받은편지함에 꽂힌 옵트인 이메일 브리프

The daily AI Trend Brief email, delivered to the inbox with headline bullets and a read-more button
뉴스레터 절반이 DKIM 인증 발신 도메인에서 Gmail 받은편지함에 실제로 꽂힌 모습(스팸 아님) — 같은 세 줄 훑기, 같은 링크 하나, 그리고 1클릭 해지. 더블 옵트인 흐름을 처음부터 끝까지 연결한 다음 날 아침의 첫 실전 발송이다.

반복 · 실패 · 전환

  1. 한국어 → 영문 우선

    소스 대부분이 영문이고 글로벌 공유성도 원해서, 7커밋짜리 리팩터를 했다. 한국어는 자동 번역 UI 토글로 남겼다.

  2. 이중언어 토글 → 영어 단일

    토글은 측정이 걷어냈다. 한국어 미러는 6주 전에 조용히 멈춰 있었고, 두 언어를 한 DOM에 실어 페이지 무게만 두 배인데 크롤러는 어느 쪽도 랭킹하지 못했다. 토글을 내리고(미러는 repo에 보존) 아카이브 페이지는 192KB → 105KB.

  3. query 에이전트 추가

    ingest·brief·lint·synth만으로는 상호작용이 안 돼서, 저장 여부를 판단하는 @wiki 질문을 추가했다. 좋은 Q&A는 그대로 지식으로 쌓인다.

리더 — 지도를 전면에

위키가 사이트의 정문이 됐다. 일일 브리프는 휘발성 절반이라(수집 지연 중앙값 +6일), 홈은 다른 어디에도 없는 것으로 연다. 링크 그래프 자체 — 90페이지, 300+ 엣지, 모든 노드가 크롤 가능한 실제 링크 — 그리고 뒤를 릴리스 타임라인과 주간 종합이 받친다. 같은 작업에서 원칙 하나가 더 떨어졌다. 파이프라인의 장부(지각 배지·랭킹 점수)는 운영자용이고, 독자 지면에서는 전부 걷어냈다. DKIM 인증 도메인의 더블 옵트인 이메일 브리프가 푸시에서 받은편지함까지 루프를 닫는다.

콘텐츠 확장: 트렌드 위키에서 자동 렌더 영상으로

축적이라는 같은 아이디어를 새로운 매체로 밀어붙였다. 실제 제품 UI를 코드로 재현해 워크스루 영상을 자동 렌더하는 것인데, 텍스트 지식 베이스를 '볼 수 있는' 것으로 바꾼 셈이다. 여기서 세 가지 별개의 문제가 갈라져 나왔다. 내레이션 보이스(생성), 저작권 없는 음악 베드(생성), 렌더 엔진(자동화). 이걸 두 가지 모션 디자인 언어로 탐구했다.

영상 렌더 파이프라인

  1. UI-as-code

    실제 UI를 코드로

  2. Motion

    Apple ⇄ Google

  3. Audio

    네이티브 TTS + 합성 BGM

  4. Render

    Remotion / Playwright

  5. Cuts

    8가지 변형

한국어 내레이션 — TTS 엔진 비교

같은 스크립트에 보이스만 바꿨다. 최종 컴포지션은 채택된 보이스로 렌더한 s1–s8을 쓴다. 흐름은 멀티링구얼에서 네이티브로, 다시 네이티브 HD로 갔다.

엔진 / 보이스방식한국어 처리판정
ElevenLabs · multilingual_v2 (Sarah)클라우드 · 다국어stability/similarity 튜닝해도 비원어민 억양1차 — 다국어 한 보이스, 한국어 억양 어색
Google · ko-KR-Neural2-A클라우드 · 네이티브 ko-KR자연스러운 네이티브 한국어, 다소 평탄한 톤도약 — 한국어엔 네이티브 ≫ 다국어
Google · ko-KR-Chirp3-HD · Aoede클라우드 · 네이티브 HD더 따뜻하고 표현력↑; pitch 파라미터 우회 필요최종 — 컴포지션에 탑재(s1–s8)

반복 · 실패 · 전환 (영상)

  1. 다국어 → 네이티브 한국어 보이스

    ElevenLabs 다국어는 한국어를 억양 있게 읽어서 Google 네이티브로 옮겼고, Google 안에서도 따뜻함을 위해 Neural2-A에서 Chirp3-HD Aoede로 바꿨다. 워크스루에 섹션이 늘면서 스크립트도 4비트에서 8비트로 늘었다.

  2. 저작권 음악 → 합성 BGM

    라이선스 트랙을 쓰는 대신 JS 신스를 직접 짰다(make-bgm.mjs). I–V–vi–IV(C–G–Am–F), 76 BPM, 패드에 아르페지오와 베이스, 핑퐁 딜레이, 로우패스와 페이드, tanh 소프트클립까지 보이스 아래 깔리도록 튜닝했다. 구조적으로 저작권에서 자유롭다.

  3. 두 렌더 엔진, 필요에 따라 선택

    Remotion(React를 영상으로, 결정론적)이 음성·자막·세로 컷을 맡는다. 자체 완결 GSAP 페이지를 Playwright로 녹화해 ffmpeg H.264로 넘기는 쪽이 무음 컷을 맡는다. 같은 워크스루, 두 파이프라인이다.

  4. 하나의 컴포지션 → 여덟 컷

    52.5초 컴포지션 하나에서 여덟 컷이 나왔다. 음성+음악, 자막 번인, voice-only, 16초 쇼트, 무음, 그리고 쇼츠용 9:16 리프레임(1080×1920). 내레이션은 모션 비트에 손으로 맞췄고, 자막 큐는 각 내레이션 시작에 프레임 단위로 맞췄다.

영상·음성 보기

실제로 자동 렌더된 워크스루다. 같은 내용을 두 가지 모션 디자인 언어(Apple vs Google)로, 그리고 한국어 내레이션 보이스까지.

  • Apple 스타일 · 미니멀·시네마틱 · 음성+음악

  • Google 스타일 · 브랜드 컬러·바운시 · 음성+음악

  • 한국어 내레이션 · TTS 보이스 샘플러

발견 (영상)

작은 기능 하나가 생성과 자동화 탐구로 번졌다. 보이스, 사운드트랙, 렌더러를 각각 하나의 도구 선택 문제로 다뤘다. 교훈은 위키가 가르쳐 준 것과 같다. 목적에 따라 도구를 고르면(보이스는 네이티브 한국어 TTS, 자막 컷은 결정론적 Remotion, 무음 컷은 브라우저와 Playwright) 하나의 소스가 여덟 가지 배포 가능한 포맷으로 펼쳐진다.

사고방식

"surprising results"나 "declining themes"를 데이터가 아니라 관점으로 읽는다. 예를 들어 prompt-engineering 갱신이 70% 줄어든 걸 "분야가 죽었다"가 아니라 "패턴이 합의로 안정됐다"로 읽는 식이다.

$

근거 · 깃·위키 인용

  • 위키 · CLAUDE.md 스키마 · ai-trend-notifier/CLAUDE.md
  • agents/*.md (4+1) · ai-trend-notifier/agents
  • 커밋 f67a813 (query) · git:f67a813
  • 웹 리더 — 그래프 히어로·타임라인·뉴스레터 · ai-trend-notifier/web
  • motion-demo · 내레이션(11Labs vs Google TTS) · ai-trend-notifier/motion-demo/remotion/scripts/gen-narration*.mjs
  • motion-demo · BGM 합성(make-bgm.mjs) · ai-trend-notifier/motion-demo/remotion/scripts/make-bgm.mjs
  • motion-demo · Remotion 컴포 + Playwright 캡처 · ai-trend-notifier/motion-demo/remotion/src/Walkthrough.tsx · _verify/render.js