ํ•œ ์ค„ ๊ฒฐ๋ก : NotebookLM์€ ๊ทผ๊ฑฐ๋ฅผ ๋ชจ์œผ๊ณ  ํ•ด์„ํ•˜๋Š” ์†Œ์Šค ์ง€๋Šฅ, OpenClaw๋Š” ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜๋ณต ์‹คํ–‰ยท๊ฒ€์ฆยท๋ฐฐํฌํ•˜๋Š” ์šด์˜ ์ž๋™ํ™”๋กœ ๋ถ„๋ฆฌํ•ด์•ผ ์„ฑ๋Šฅ๊ณผ ํ’ˆ์งˆ์ด ํ•จ๊ป˜ ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€์˜ ์—ฐ๋™ ์ž‘์—…(PoC, ์ธ์ฆ, ์Šคํ‚ฌ ์„ค์น˜, ํฌ๋ก  ๋ถ„์‚ฐ)์„ ๊ธฐ์ค€์œผ๋กœ, โ€œ์‹ค์ œ๋กœ ๊ตด๋Ÿฌ๊ฐ€๋Š” ์šด์˜์•ˆโ€์„ ํ•œ ๋ฒˆ์— ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋‚ด: ๋ณธ๋ฌธ์€ ์ƒ์„ฑํ˜• AI๋ฅผ ํ™œ์šฉํ•ด ์ž‘์„ฑยท์ •๋ฆฌํ–ˆ์œผ๋ฉฐ, ์‹ค์ œ ์šด์˜ ๋กœ๊ทธ๋ฅผ ๊ทผ๊ฑฐ๋กœ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ ์ธ์‹ (์™œ ์ด ๊ตฌ์กฐ๊ฐ€ ํ•„์š”ํ–ˆ๋‚˜)

  • ์†Œ์Šค ์ˆ˜์ง‘ยทํ•ด์„ยท์ฝ˜ํ…์ธ  ์ œ์ž‘ยท๋ฐฐํฌ๋ฅผ ํ•œ ์—์ด์ „ํŠธ๊ฐ€ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋ฉด ๋ณ‘๋ชฉ์ด ๋นจ๋ฆฌ ์˜ต๋‹ˆ๋‹ค.
  • NotebookLM์€ ์ง€์‹ ์ถ”์ถœ์—๋Š” ๊ฐ•ํ•˜์ง€๋งŒ, ํŒŒ์ผ ์ •๋ฆฌ/๋ฐฐํฌ/์Šค์ผ€์ค„ ์šด์˜์€ OpenClaw ์ชฝ์ด ๋” ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ˜๋Œ€๋กœ OpenClaw๋งŒ์œผ๋กœ ๋ชจ๋“  ๊ทผ๊ฑฐ๋ฅผ ์ง์ ‘ ๊ธ์œผ๋ฉด ์†Œ์Šค ์ •ํ•ฉ์„ฑ/์—…๋ฐ์ดํŠธ ๊ด€๋ฆฌ ๋น„์šฉ์ด ์ปค์ง‘๋‹ˆ๋‹ค.
flowchart LR
A[์ˆ˜์ง‘: YouTubeยท๋…ผ๋ฌธยท๋ฌธ์„œ] --> B[NotebookLM: ์†Œ์Šค ์ง€๋Šฅ]
B --> C[์ธ์‚ฌ์ดํŠธ/๊ทผ๊ฑฐ]
C --> D[OpenClaw: ์šด์˜ ์ž๋™ํ™”]
D --> E[๋ธ”๋กœ๊ทธ/์Šฌ๋ผ์ด๋“œ/์˜ค๋””์˜ค/๋น„๋””์˜ค]
E --> F[๊ฒ€์ฆ/๋ฐฐํฌ/์ธ๋ฑ์Šค]

ํ•ต์‹ฌ ์š”์•ฝ

  1. ์ˆ˜์ง‘/ํ•ด์„์€ NotebookLM์ด ๋‹ด๋‹น
  2. ์‹คํ–‰/๊ฒ€์ฆ/๋ฐฐํฌ๋Š” OpenClaw๊ฐ€ ๋‹ด๋‹น
  3. ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” watcher / builder / maintainer๋กœ ๋ถ„๋ฆฌ
  4. ํ’ˆ์งˆ์€ ๊ณตํ†ต ๊ทœ์น™(quality contract)์œผ๋กœ ๋™๋“ฑ์„ฑ ์œ ์ง€

๐Ÿง  ์น ํŒ ์น˜ํŠธ์‹œํŠธ

  • NotebookLM = ๊ทผ๊ฑฐ ์—”์ง„, OpenClaw = ์šด์˜ ์—”์ง„
  • watcher๋Š” ์†Œ์Šค, builder๋Š” ์ดˆ์•ˆ/์ƒ์„ฑ, maintainer๋Š” ํ’ˆ์งˆ/๋ฐฐํฌ
  • ์„ฑ๋Šฅ์€ ํ† ํฐ ์ ˆ๊ฐ์ด ์•„๋‹ˆ๋ผ ์„ฑ๊ณต๋ฅ ยท์žฌํ˜„์„ฑยทํ’ˆ์งˆ๋กœ ํŒ๋‹จ
  • ์ธ์ฆ ๋งŒ๋ฃŒ๋ฅผ ์ „์ œ๋กœ ์ž๋™ no-op ์„ค๊ณ„๊ฐ€ ํ•„์š”

์ด๋ฒˆ์— ์‹ค์ œ๋กœ ์ง„ํ–‰ํ•œ ์ „์ฒด ์…‹์—… (์ต๋ช…ํ™”/ํ‘œ์ค€ํ™” ๋ฒ„์ „)

์•„๋ž˜๋Š” ์ด๋ฒˆ์— ์šฐ๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ์ง„ํ–‰ํ•œ ์ˆœ์„œ๋ฅผ ๊ฐœ์ธ ์ •๋ณด ์—†์ด ํ‘œ์ค€ํ™”ํ•œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

0) ํ‘œ์ค€ํ™” ๊ทœ์น™ (๊ฐœ์ธ์ •๋ณด ๋น„๋…ธ์ถœ)

  • ๊ณ„์ • ๋ฉ”์ผ โ†’ <YOUR_GOOGLE_ACCOUNT>
  • ์„œ๋ฒ„ ์ฃผ์†Œ โ†’ <REMOTE_HOST>
  • CDP ํฌํŠธ โ†’ <CDP_PORT> (์˜ˆ: 9222)
  • ๋…ธํŠธ๋ถ ID โ†’ <NOTEBOOK_ID_...>
  • ๋กœ์ปฌ ๊ฒฝ๋กœ โ†’ <PROJECT_ROOT>

1) NotebookLM CLI/MCP PoC ์„ค์น˜

PROJECT="$HOME/workspace/notebooklm-mcp-cli-poc"
python3 -m venv "$PROJECT/.venv"
"$PROJECT/.venv/bin/python" -m pip install --upgrade pip
"$PROJECT/.venv/bin/python" -m pip install notebooklm-mcp-cli
 
"$PROJECT/.venv/bin/nlm" --help
"$PROJECT/.venv/bin/notebooklm-mcp" --help

2) ์›๊ฒฉ SSH ํ™˜๊ฒฝ์—์„œ Browser Relay/CDP ๋กœ๊ทธ์ธ

๋งฅ ๋กœ์ปฌ(Chrome ์‹คํ–‰ ์ธก):

open -na "Google Chrome" --args --remote-debugging-port=<CDP_PORT> --user-data-dir="$HOME/.chrome-notebooklm-cdp"
ssh -NT -o ExitOnForwardFailure=yes -R 18800:127.0.0.1:<CDP_PORT> <REMOTE_USER>@<REMOTE_HOST>

์›๊ฒฉ ์„œ๋ฒ„(SSH ์„ธ์…˜):

NLM="<PROJECT_ROOT>/.venv/bin/nlm"
curl -s http://127.0.0.1:18800/json/version | head
$NLM login --provider openclaw --cdp-url http://127.0.0.1:18800 --clear --force
$NLM login --check
$NLM notebook list

๐Ÿ’ก ๋‹จ์ถ•์–ด ํŒ: ์œ„ ๊ณผ์ •์„ ๋งค๋ฒˆ ์ˆ˜๋™์œผ๋กœ ์น˜๊ธฐ๋ณด๋‹ค, ๋กœ์ปฌ/์„œ๋ฒ„ ๊ฐ๊ฐ rel alias(์Šคํฌ๋ฆฝํŠธ)๋กœ ์›ํด๋ฆญ ์‹คํ–‰ํ•˜๋ฉด ํ›จ์”ฌ ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค. ์‹ค์Šตํ˜• ๋ช…๋ น ๋ชจ์Œ์€ 12. ๋ธŒ๋ผ์šฐ์ € ๋ฆด๋ ˆ์ด ์—ฐ๋™ ๊ตฌ์กฐ์— ์ •๋ฆฌํ•ด๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

3) OpenClaw ์ชฝ ์Šคํ‚ฌ ์…‹ํŒ…

ํ˜„์žฌ ๋ฒ„์ „์—์„œ๋Š” nlm setup add openclaw๊ฐ€ ๋ฏธ์ง€์›์ผ ์ˆ˜ ์žˆ์–ด, ์•„๋ž˜ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

NLM="<PROJECT_ROOT>/.venv/bin/nlm"
$NLM skill install openclaw --level user
$NLM skill list

4) MCP ์ข…๋ฅ˜ ํ™•์ธ + ํ™œ์šฉ ๋ถ„๋ฅ˜

  • ์ง์ ‘ ํ™•์ธ: mcporter list --stdio "<PROJECT_ROOT>/.venv/bin/notebooklm-mcp" --schema --json
  • ๋ถ„๋ฅ˜: auth / notebook / source / research / studio / download / share / ๊ธฐํƒ€

5) ์šด์˜ ์ž๋™ํ™” SOP/์Šคํฌ๋ฆฝํŠธ ๊ตฌ์„ฑ

  • ํ”„๋กœ์ ํŠธ: archive/projects/notebooklm-openclaw-ops
  • ํƒ€๊นƒ: 00-brief/targets_v01.json
  • ์Šคํฌ๋ฆฝํŠธ:
    • nlm_source_curator.py (์ˆ˜์ง‘)
    • nlm_insight_builder.py (ํ™œ์šฉ)
    • nlm_studio_creator.py (์ƒ์„ฑ)

6) ํฌ๋ก  + ์„œ๋ธŒ์—์ด์ „ํŠธ ๋ถ„์‚ฐ ์ ์šฉ

  • watcher: ์†Œ์Šค stale sync (6์‹œ๊ฐ„)
  • builder: ์•„์นจ ์ธ์‚ฌ์ดํŠธ ์ดˆ์•ˆ ์ƒ์„ฑ (๋งค์ผ)
  • builder: ์ผ์š”์ผ Studio ์ƒ์„ฑ ํ (์ฃผ๊ฐ„)

๊ณต์‹/์ฐธ๊ณ  ๋งํฌ (MCP ํฌํ•จ)

์šฉ์–ด/๋น„์œ  ์„ค๋ช…

  • ์†Œ์Šค ์ง€๋Šฅ(Source Intelligence): ์›์ž๋ฃŒ๋ฅผ ์ฐพ๊ณ , ๊ตฌ์กฐํ™”ํ•˜๊ณ , ์งˆ์˜ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋งŒ๋“œ๋Š” ๋Šฅ๋ ฅ
  • ์šด์˜ ์ž๋™ํ™”(Operation Automation): ์ •ํ•ด์ง„ ๊ทœ์น™์œผ๋กœ ๋ฐ˜๋ณต ์‹คํ–‰ยท๊ฒ€์ฆยท๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ๋Šฅ๋ ฅ
  • ๋น„์œ ํ•˜๋ฉด, NotebookLM์€ ์—ฐ๊ตฌ์‹ค, OpenClaw๋Š” ์ƒ์‚ฐ ๋ผ์ธ์ž…๋‹ˆ๋‹ค.

MECE ์šด์˜ ํ”„๋ ˆ์ž„ (๊ฐœ๋…/์›์ธ/๋Œ€์‘/์‹คํ–‰)

  • ๊ฐœ๋…: ์ง€์‹ ์ถ”์ถœ๊ณผ ์šด์˜ ์‹คํ–‰์„ ๋ถ„๋ฆฌํ•˜๋ฉด ์„œ๋กœ์˜ ์žฅ์ ์„ ๊ทน๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์›์ธ: ๋‹จ์ผ ์—์ด์ „ํŠธ ์ง‘์ค‘ ๊ตฌ์กฐ๋Š” ํ† ํฐยท๋Œ€๊ธฐยทํ’ˆ์งˆ ํŽธ์ฐจ๋ฅผ ๋™์‹œ์— ์œ ๋ฐœํ•œ๋‹ค.
  • ๋Œ€์‘: ์—ญํ•  ๋ถ„๋ฆฌ + ์„œ๋ธŒ์—์ด์ „ํŠธ ๋ฐฐ์น˜ + ๊ณตํ†ต ํ’ˆ์งˆ ๊ทœ์•ฝ.
  • ์‹คํ–‰: ์•„๋ž˜ SOP ๋ฃจํ”„(์ˆ˜์ง‘โ†’ํ™œ์šฉโ†’์ƒ์„ฑโ†’๊ฒ€์ฆ)๋ฅผ ํฌ๋ก ์œผ๋กœ ๊ณ ์ •.

1) ์ˆ˜์ง‘ ๋ ˆ์ด์–ด ์„ค๊ณ„ (NotebookLM ์ค‘์‹ฌ)

์™œ ํ•„์š”ํ•œ๊ฐ€

์†Œ์Šค๊ฐ€ ๋ถˆ์•ˆ์ •ํ•˜๋ฉด ์–ด๋–ค ๊ณ ๊ธ‰ ์ž๋™ํ™”๋„ ๊ฒฐ๊ณผ๊ฐ€ ํ”๋“ค๋ฆฝ๋‹ˆ๋‹ค. ๋จผ์ € ์†Œ์Šค ์‹ ๋ขฐ์„ฑ์„ ๊ณ ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ „ ์ ์šฉ

  • YouTube/์›น/ํ…์ŠคํŠธ/Drive๋ฅผ NotebookLM ์†Œ์Šค๋กœ ํ‘œ์ค€ ์ˆ˜์ง‘
  • stale source๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ฐ์ง€ํ•˜๊ณ  sync
  • ๋…ธํŠธ๋ถ์„ ์ฃผ์ œ๋ณ„๋กœ ๋ถ„๋ฆฌ(์˜ˆ: weekly_brief, openclaw_ops)

๊ณต์‹ ์ฐธ๊ณ :

์‹คํŒจ ์‹ ํ˜ธ

  • ๋™์ผ ๋…ธํŠธ๋ถ์—์„œ ๋‹ต๋ณ€์ด ๋งค๋ฒˆ ๋‹ฌ๋ผ์ง€๊ณ  ๊ทผ๊ฑฐ ๋งํฌ๊ฐ€ ๋ถˆ์•ˆ์ •ํ•จ

10์ดˆ ์ฒดํฌ

  • โ€œ์˜ค๋Š˜ stale source ๊ฑด์ˆ˜โ€๋ฅผ ์ˆซ์ž๋กœ ๋งํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?

2) ํ™œ์šฉ ๋ ˆ์ด์–ด ์„ค๊ณ„ (NotebookLM ์งˆ์˜ โ†’ ๋ธ”๋กœ๊ทธ ์ดˆ์•ˆ)

์™œ ํ•„์š”ํ•œ๊ฐ€

์†Œ์Šค๋Š” ๋งŽ์•„๋„ ์งˆ๋ฌธ ์„ค๊ณ„๊ฐ€ ์—†์œผ๋ฉด ์ฝ˜ํ…์ธ ๋กœ ์ „ํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹ค์ „ ์ ์šฉ

  • notebook query๋กœ ๊ณ ์ • ํ”„๋กฌํ”„ํŠธ ์งˆ์˜
    • ์ œ๋ชฉ/์™œ์ง€๊ธˆ/๊ทผ๊ฑฐ2๊ฐœ/์ถ”์ฒœํฌ๋งท(๊ฒ€์ƒ‰ํ˜•ยท๋น„๊ตํ˜•ยท์—์„ธ์ดํ˜•)
  • ์ดˆ์•ˆ์€ OpenClaw draft ๊ฒฝ๋กœ์— ์ €์žฅ
  • ๋‚ด๋ถ€ ๋งํฌ ๋™์„ ์€ OpenClaw ๋ฌธ์„œ ๊ทœ์น™์œผ๋กœ ๋ณด๊ฐ•

๊ณต์‹ ์ฐธ๊ณ :

์‹คํŒจ ์‹ ํ˜ธ

  • ์•„์ด๋””์–ด๋Š” ๋‚˜์˜ค๋Š”๋ฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅํ•œ ๋ฌธ์„œ ๊ตฌ์กฐ๋กœ ์ด์–ด์ง€์ง€ ์•Š์Œ

10์ดˆ ์ฒดํฌ

  • ์ดˆ์•ˆ ํŒŒ์ผ์ด ์ง€์ • ๊ฒฝ๋กœ(20-draft)์— ์ƒ์„ฑ๋๋Š”๊ฐ€?

3) ์ฝ˜ํ…์ธ  ์ƒ์„ฑ ๋ ˆ์ด์–ด ์„ค๊ณ„ (Studio + OpenClaw ํŒจํ‚ค์ง•)

์™œ ํ•„์š”ํ•œ๊ฐ€

๋ธ”๋กœ๊ทธ๋งŒ์œผ๋กœ๋Š” ํ™•์‚ฐ ์ฑ„๋„์ด ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ๊ฐ™์€ ์†Œ์Šค๋กœ ๋ฉ€ํ‹ฐ ํฌ๋งท์„ ๋ฝ‘์•„์•ผ ํšจ์œจ์ด ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค.

์‹ค์ „ ์ ์šฉ

  • Studio ์ƒ์„ฑ: audio/slides/video/infographic
  • ํ•„์š” ์‹œ artifact ๋‹ค์šด๋กœ๋“œ ํ›„ Quartz ์ฝ˜ํ…์ธ ๋กœ ์žฌ๊ฐ€๊ณต
  • ์ฃผ๊ฐ„ ๋ฃจํ‹ด์€ ์ผ์š”์ผ ๊ณ ์ • ํ๋กœ ์šด์˜

๊ณต์‹ ์ฐธ๊ณ :

  • nlm audio create, nlm slides create, nlm video create, nlm infographic create
  • download_artifact, export_artifact

์‹คํŒจ ์‹ ํ˜ธ

  • ์ƒ์„ฑ ์š”์ฒญ์€ ๋งŽ์ง€๋งŒ ์ƒํƒœ ์ถ”์ /๋‹ค์šด๋กœ๋“œ/๋ฐฐํฌ ์—ฐ๊ฒฐ์ด ๋Š๊น€

10์ดˆ ์ฒดํฌ

  • studio status ํ™•์ธ ๋ฃจํ”„๊ฐ€ ์ž๋™ํ™”๋˜์–ด ์žˆ๋Š”๊ฐ€?

4) ์„œ๋ธŒ์—์ด์ „ํŠธ ์—ญํ•  ๋งคํ•‘ (์‹คํ–‰ ์…‹ํŒ… ๊ธฐ์ค€)

  • cron-watcher: ์†Œ์Šค ํ๋ ˆ์ด์…˜ (nlm_source_curator.py)
  • cron-builder: ์ธ์‚ฌ์ดํŠธ ์ดˆ์•ˆ (nlm_insight_builder.py), ์ŠคํŠœ๋””์˜ค ํ (nlm_studio_creator.py)
  • cron-maintainer: ํ’ˆ์งˆ๊ฒŒ์ดํŠธ/๋ฐฐํฌ ์ •๋ฆฌ (v2 ํ™•์žฅ ์˜ˆ์ •)

ํ˜„์žฌ ์ ์šฉ๋œ SOP/์Šคํฌ๋ฆฝํŠธ:

  • archive/projects/notebooklm-openclaw-ops/30-output/20260224_notebooklm-openclaw_sop_v01.md
  • archive/projects/notebooklm-openclaw-ops/30-output/scripts/*.py

์ ์šฉ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • NotebookLM ์ธ์ฆ ์ƒํƒœ(nlm login --check)๊ฐ€ ์ •์ƒ์ธ๊ฐ€
  • ํƒ€๊นƒ ๋…ธํŠธ๋ถ ID/์นดํ…Œ๊ณ ๋ฆฌ ๋งต์ด targets_v01.json์— ๊ณ ์ •๋๋Š”๊ฐ€
  • ์ˆ˜์ง‘/ํ™œ์šฉ/์ƒ์„ฑ ํฌ๋ก ์ด ์—ญํ• ๋ณ„ agent๋กœ ๋ฐฐ์ •๋๋Š”๊ฐ€
  • no-op ์‹œ NO_REPLY ๊ทœ์น™์ด ์ ์šฉ๋๋Š”๊ฐ€
  • ์ดˆ์•ˆโ†’๊ฒ€์ฆโ†’๋ฐฐํฌ ๊ฒฝ๋กœ๊ฐ€ ํŒŒ์ผ ๊ธฐ์ค€์œผ๋กœ ์ถ”์  ๊ฐ€๋Šฅํ•œ๊ฐ€

๋‹ค์Œ ์ฝ๊ธฐ