도시아재
도시아재
🗡️ AI 레전드
🚀 SNS 챌린지 달성자
🏅 베스트오브베스트

NotebookLM CLI × Claude Code로 "4시간 만에 시장 리서치 → 사업 전략서" 자동화하기

✨😃😎
NotebookLM CLI × Claude Code로 "시장 리서치 → 사업 전략서" 자동화하기 — 공인중개사 1인의 실험

카테고리: 에이전트 / 노코드 자동화 · 작성: 신화(ShinHwa) · 일자: 2026-05-27 태그: NotebookLM, Claude Code, nlm CLI, MCP, 자동화 워크플로, 부동산, 사업 전략

한국어로 된 문서
[신화 AI Academy — 공인중개사를 위한 AI 교육 사업 전략 보고서 표지]

소개 — 왜 이 실험을 시도했는가

저는 공인중개사로 일하면서 동시에 신화 AI Academy라는 1인 교육 사업을 준비 중입니다. gpters 22기 강의자동화 클래스를 듣다가 "NotebookLM을 Claude Code에서 자동화해서 보고서 한 편을 통째로 끌어내는" 유튜브 영상에서 아이디어와 영감을 받았습니다.

유튜브 영상의 흐름을 그대로 따라가되, 저의 상황(부동산 도메인 + 1인 사업자 + 한정된 주말 시간)에 대입했을 때 어디까지 가능한가가 궁금했습니다.

가설은 단순했습니다.

주말 쉬는 동안, 영상 3개를 소스로 한 시장 리서치 → 후속 분석 → 도메인 적용 사업 전략서 한 편 → 브랜드 PDF까지를 한 세션 안에 닫을 수 있는가?

종래 같은 과제를 사람 손으로 진행한다면 영상 시청·전사·교차분석·시장 데이터 수집·문서 작업·디자인까지 보수적으로 잡아도 20~30시간입니다. 자동화로 압축할 때 질이 떨어지지 않는 구간이 어디까지인가를 직접 측정해 보고 싶었습니다.

결과를 먼저 적습니다. 약 4시간(실제 2시간) 만에 마크다운 보고서 5편 + PDF 4편 + 신화 AI Academy 브랜드 전략 보고서 1편이 나왔고, 마지막 PDF는 자체 브랜드 CSS(딥 네이비 + 테크 틸 + 헤리티지 골드)까지 적용된 형태였습니다.

그 과정을 강의자동화 클래스의 다른 분들이 자기 도메인에 그대로 갈아끼울 수 있도록 정리한 글입니다.


진행 방법 — 6단계 워크플로

한국어의 다양한 단계를 보여주는 다이어그램
[NotebookLM CLI × Claude Code 워크플로 6단계 — 설치/인증 → 노트북+소스 → 딥리서치 → 후속 질의 → PDF 변환 → 도메인 적용]

전체는 6단계로 정리됩니다. 단계별로 실제 사용한 명령어시행착오 메모를 같이 적습니다. 명령어는 모두 제 환경의 audit 로그에서 그대로 가져온 것이라 재현 시 그대로 복사·붙여넣기 하시면 됩니다.

Step 1. 설치와 인증 — uv tool install 한 줄로 끝납니다

핵심 도구는 두 개입니다. nlm CLI(NotebookLM 명령어 인터페이스)와 Claude Code 자체. nlmjacob-bd/notebooklm-mcp-cli 패키지로 배포되는데, CLI와 MCP 서버를 하나의 패키지로 묶어 줍니다(MIT 라이선스, 제가 설치한 시점 기준 v0.6.12, 2026-05-24 릴리스). 즉 같은 노트북 조작을 Claude Code 슬래시 명령으로도 Bash 한 줄로도 양쪽에서 호출할 수 있습니다.

uv tool install notebooklm-mcp-cli
nlm --help
nlm login          # 브라우저가 열리고 Google 로그인
nlm doctor         # 인증/세션 상태 진단

시행착오: 저는 nlm login 후 약 20분이 지나니 세션이 만료돼 다른 명령에서 "Authentication expired" 에러가 떨어졌습니다. README에도 명시돼 있는 사양인데("NotebookLM sessions last approximately 20 minutes") 처음엔 당황했습니다. 장시간 작업 전에 nlm login --check로 먼저 확인하는 습관이 권장됩니다.

Step 2. 노트북 생성 + 영상 3개 적재 — 별칭(alias)이 생산성을 바꿉니다

영상 3개(머스크 × Nikhil Kamath, 알트만 × CNBC, 아모데이 × WSJ)를 한 노트북에 적재합니다. 노트북 ID는 UUID라 매번 치기 번거로워서 별칭을 설정해 두면 이후 모든 명령이 ai-ceo 한 단어로 끝납니다.

nlm notebook create "AI CEO 인터뷰 분석"
# → notebook id: f1b3de75-aba7-408a-8a0b-f12b01a65d2d

nlm alias set ai-ceo f1b3de75-aba7-408a-8a0b-f12b01a65d2d

nlm source add ai-ceo --url "https://www.youtube.com/watch?v=Rni7Fz7208c"
nlm source add ai-ceo --url "https://www.youtube.com/watch?v=bQITwmqogo8"
nlm source add ai-ceo --url "https://www.youtube.com/watch?v=K7F6ohcBJus"
nlm source list ai-ceo

시행착오: YouTube URL을 처음 nlm source add에 던졌더니 "Could not add url source. Hint: Check the URL is accessible." 가 연달아 5번 떨어졌습니다. 알고 보니 동일 영상을 짧은 간격으로 반복 호출했을 때 NotebookLM 측에서 일시 거부하는 패턴이었고, 살짝 간격을 두고 다른 영상부터 차례로 추가하니 정상적으로 처리됐습니다. "실패하면 1~2초 쉬고 다른 URL부터" 가 실용적인 회피 방법이었습니다.

Step 3. 딥리서치 — 한 줄 명령이 43개 소스를 수집·요약합니다

이 부분이 본 워크플로의 진짜 무기입니다. 그냥 LLM에게 "AI agent trends 2026" 라고 묻는 것과 NotebookLM의 Deep Research는 결이 다릅니다. 후자는 외부에서 자료를 직접 모아 와서 노트북에 통째로 적재한 뒤 요약합니다. 명령은 한 줄입니다.

nlm research start ai-ceo "AI agent trends 2026"
# → task id: 73bf91ff-0882-4497-a0d5-26cd4d0e204b

nlm research status ai-ceo --task-id 73bf91ff-... --max-wait 0
nlm research import ai-ceo 73bf91ff-... --timeout 600

리서치가 끝나면 결과를 노트북에 import해 두는 게 핵심입니다. 그래야 이후 후속 질문이 그 자료에 근거해서 나옵니다. 제 작업에서는 약 10분 만에 43개의 외부 소스가 수집됐고, 그것을 NotebookLM이 정리한 Briefing Doc이 곧 보고서 골격이 됐습니다.

배운 점 #1. 일반 LLM이 "지식을 가공해 주는" 도구라면, NotebookLM은 "소스를 강제로 고정한 채 가공해 주는" 도구입니다. 강의 자료를 만들 때 내가 통제한 소스만 쓰게 한다는 점이 결정적인 차이고, 부동산 도메인처럼 정확한 근거 인용이 필수인 영역에서는 거의 별개 카테고리의 도구라고 느꼈습니다.

보너스 — 오디오 브리핑까지 한 줄로: 같은 노트북에서 한국어 Deep Dive 오디오 브리핑도 한 줄로 생성됩니다. 출퇴근 시간에 들으면서 보고서를 머리에 넣기 좋아서, 저는 같은 자료로 텍스트와 오디오를 양쪽 다 만들어 두는 습관이 생겼습니다.

nlm audio create ai-ceo --format deep_dive --language ko \
  --focus "AI CEO 3인 비교 — 안전, 비즈니스 모델, 사회 영향"
nlm studio status ai-ceo --full   # 생성 완료 여부 확인

Step 4. 후속 질의 — 같은 노트북에서 5개 트렌드를 추가로 파고듭니다

Briefing Doc만으로는 강의자료 한 편을 채우기 부족합니다. 그래서 같은 노트북에 5개 후속 질문을 던졌습니다. 멀티 에이전트 vs 단일 에이전트, MCP/A2A 표준화 진행, ROI/HITL 분포, 데이터 주권 등. 이 부분은 nlm notebook query로 처리합니다.

nlm notebook query ai-ceo "2026년 AI 에이전트 시장에서 가장 중요한 기술적 돌파구는?"
nlm notebook query ai-ceo "멀티 에이전트 vs 단일 에이전트, 엔터프라이즈에서 어느 쪽이 우세?"
# ... (5회 반복)

같은 conversation id 를 유지하면 NotebookLM이 앞 질문의 맥락을 기억합니다. 즉 "앞 답변에서 언급한 LangGraph를 좀 더 깊게 설명해 줘" 같은 후속 질문이 사람 대화처럼 이어집니다.

Step 5. Markdown → PDF — weasyprint 한 번 설정해 두면 끝입니다

NotebookLM 보고서는 마크다운으로 다운로드되는데, 사례 발표·고객 전달용으로는 PDF가 필수입니다. 저는 weasyprint + markdown 두 패키지만으로 30줄 짜리 md2pdf.py를 두고 사용합니다. CJK 폰트만 지정하면 한글 PDF가 깨지지 않습니다.

# md2pdf.py (요지)
import markdown
from weasyprint import HTML, CSS
html_body = markdown.markdown(md_text, extensions=["extra","tables","fenced_code","toc"])
css = """ @page { size: A4; margin: 2cm } 
          body { font-family: 'Malgun Gothic', 'Apple SD Gothic Neo', 'Noto Sans CJK KR', sans-serif; }
          table { border-collapse: collapse; width: 100% } 
          th, td { border: 1px solid #bbb; padding: 4px 8px } """
HTML(string=f"<html><body>{html_body}</body></html>").write_pdf("out.pdf",
        stylesheets=[CSS(string=css)])

그리고 호출은 한 줄.

python md2pdf.py input.md output.pdf

Step 6. 도메인 적용 — 같은 워크플로를 내 사업에 갈아끼웁니다

여기까지 오면 남의 보고서입니다. 마지막 단계가 나의 보고서로 바꾸는 일이고, 이게 강의자동화에서 가장 중요합니다. 저는 Step 1~5에서 얻은 시장 리서치 결과를 공인중개사 대상 AI 교육 사업이라는 제 도메인 관점으로 재해석한 한 편의 전략 보고서를 추가로 작성했습니다.

동시에 신화 AI Academy 브랜드 가이드(컬러 팔레트, 타이포, 보이스)도 같이 정의해서 전략 + 브랜드 가이드가 한 문서에 들어가도록 묶었습니다.

PDF 변환 시에는 같은 md2pdf.py를 살짝 바꿔(md2pdf-brand.py) 브랜드 컬러를 입혔습니다. 표지·헤더·표·인용문·푸터 색이 다 정리되니 그대로 Founder's Strategy Brief 형태로 마감되더군요. 위쪽의 hero 이미지가 그 결과물의 표지입니다.


결과와 배운 점

한국 사업 계획서 템플릿 한국 사업 계획서 템플릿 한국 사업 계획서 템플릿 한국 사업 계획서 템플릿 kor
[자동 생성된 4개 PDF 산출물 — 딥리서치 한글본·후속 분석·딥리서치 원문·사업 전략 보고서]

정량 비교 — 종래 수작업 vs 오늘 자동화

작업 단계

종래 수작업 (추정)

오늘 자동화 (실측)

단축률

영상 3개 시청 + 전사

4~5시간

0시간 (NotebookLM이 자동 적재)

~100%

교차 분석 보고서 작성

8~10시간

~40분 (nlm research start + import)

~93%

후속 트렌드 분석

4~6시간

~30분 (5회 nlm notebook query)

~92%

도메인 적용 사업 전략서

6~8시간

~90분 (Claude Code와 대화하며 초안)

~80%

PDF/브랜드 디자인

4~5시간

~20분 (weasyprint CSS 1회 설정)

~93%

합계

26~34시간

약 4시간(실제 2시간 정도)

약 87%

산출물 갯수만 세도 마크다운 5편 + PDF 4편 + 브랜드 가이드 1편입니다. 자동화 압축률을 떠나, 각 단계가 명령어 한 줄에 해당한다는 점[자동 생성된 4개 PDF 산출물 — 딥리서치 한글본·후속 분석·딥리서치 원문·사업 전략 보고서이 진짜 의미라고 생각합니다.

배운 점 5가지 (재사용 가능한 인사이트)

① NotebookLM은 "소스 통제형" 도구다. 위에서 적었듯, 일반 LLM 검색과 결정적으로 다른 점이 내가 올린 자료 안에서만 답하게 만들 수 있다는 것입니다. 부동산처럼 정확한 근거가 생명인 분야에서는 환각(hallucination) 위험을 구조적으로 낮춥니다.

② CLI + MCP 듀얼 인터페이스의 가치는 "재현 가능성"이다. citizendev9c README"사용자 경험은 MCP와 완전히 동일합니다" 라는 말이 나오는데, 실제로 써 보니 의미가 큽니다. 같은 노트북을 Claude Code 슬래시 명령으로도 터미널 한 줄로도 다룰 수 있어서, 나중에 워크플로를 강의 수강생에게 재현시킬 때 환경 종속이 거의 없습니다.

③ 별칭(alias)과 명령 한 줄 스크립트가 생산성을 결정한다. nlm alias set 한 번으로 이후 모든 명령이 ai-ceo로 줄어들고, md2pdf.py 30줄로 4편의 PDF가 동일한 톤으로 마감됩니다. 반복 가능한 형태로 도구를 만들어 두는 30분 투자가 이후 모든 산출물의 품질을 결정했습니다.

④ 실패는 항상 발생한다. 핵심은 audit 로그를 남기는 것이다. 오늘 작업 중 인증 만료, YouTube URL 추가 실패, 권한 프롬프트 등이 수십 번 발생했습니다.

Claude Code의 audit 로그(.bkit/audit/<date>.jsonl)가 모든 명령과 결과를 기록해 줘서 어디서 막혔는지, 어떻게 우회했는지를 사례글에 그대로 인용할 수 있었습니다. 강의자동화의 진짜 가치는 "성공한 한 줄"이 아니라 "실패 → 우회 → 성공" 트레일을 통째로 남기는 데 있다고 느꼈습니다.

⑤ 자동화의 마지막 한 단계는 "내 도메인으로 갈아끼우기"다. Step 5까지는 사실상 누구나 같은 결과를 얻습니다. 진짜 차별화는 Step 6 — 남의 보고서를 받아서 내 사업의 언어로 다시 번역하는 단계에서 나옵니다. 이 단계는 자동화가 아니라 판단이고, 그래서 강의자동화 클래스에서 다뤄야 할 진짜 주제가 여기라고 생각합니다.

시행착오 — 솔직한 메모

  • nlm login 만료 → --check 습관화

  • 같은 YouTube URL을 너무 빠르게 반복 호출 → 짧은 대기 + 순서 분산

  • weasyprint 한글 폰트 미지정 시 PDF에서 한글 깨짐 → CSS에 font-family: 'Malgun Gothic', 'Apple SD Gothic Neo', 'Noto Sans CJK KR' 명시

  • 브랜드 PDF에서 monospace 박스 본문 한글 깨짐 (이미지 생성 스크립트에서도 동일) → family="monospace" 제거하거나 한글 가능 monospace(D2Coding 등) 지정

도움이 필요한 부분

다음 세 가지는 아직 답을 못 찾았습니다. 강의자동화 클래스 동료분들 중 비슷한 고민을 푸신 분이 있다면 댓글로 힌트 주시면 정말 감사하겠습니다.

  1. 오디오 브리핑 확장: 오디오 브리핑 자체는 한 줄 명령으로 만들어졌지만, 이걸 매물별 자동 브리핑 음성으로 확장하려면 매물 정보(주소·평수·시세·임대 조건) 같은 정형 데이터를 음성 대본에 자연스럽게 녹여야 합니다.

    NotebookLM의 한국어 오디오 출력 품질이 실제 고객에게 들려줄 수준인지, 정형 데이터를 사람처럼 풀어쓰게 만드는 프롬프트 패턴이 있는지가 핵심 의문입니다.

  2. MCP 도구 체이닝: 본 작업은 NotebookLM 한 도구로 끝났지만, 부동산 도메인에는 이미 mcp__real-estate__*(실거래가·공매), mcp__building-register__*(건축물대장), mcp__playmcp-AptInfo__*(단지 정보) 같은 MCP 서버가 다수 존재합니다. 한 명령에 여러 MCP 도구를 묶어서 매물 분석 파이프라인을 만들면 본 워크플로의 단축률이 한 단계 더 떨어질 텐데, 이 체이닝 패턴의 모범 예시를 찾고 있습니다.

  3. 세션 영구화: nlm login 세션이 20분 만료라는 사양이 자동화에서는 의외로 큰 마찰점입니다. 장시간 배치 작업을 돌리는 분들은 어떻게 우회하시는지 궁금합니다.

앞으로의 계획

이번 워크플로는 곧장 신화 AI Academy의 시그니처 워크샵 "공인중개사 MCP 입문 90분"의 라이브 데모 콘텐츠로 옮길 예정입니다. 강의 중 주소 한 줄 → 30분 안에 매물 브리핑 1페이지가 나오는 모습을 보여주면 학습 동기가 폭발한다는 가설을 검증해 보려고 합니다.

같은 흐름으로 부동산 시장 리서치 → 투자자용 사업 전략서까지 한 워크샵에 묶고, 멤버십 콘텐츠로는 월간 라이브 코칭 + 매물 자동화 회고를 운영하는 게 6개월 로드맵입니다. 이번 글의 작성 과정 자체도 gpters-case-study라는 project-local 스킬로 캡슐화해 뒀습니다. 다음 번 사례글은 이 스킬을 호출하기만 하면 골격이 1분 안에 완성됩니다.😉


도움 받은 글

  • jacob-bd/notebooklm-mcp-cli — 본 워크플로의 핵심 도구. "Programmatic access to Google NotebookLM via command-line interface (and MCP) server" 라는 설명대로 CLI와 MCP 서버를 통합 제공합니다. MIT 라이선스, 설치 시점 v0.6.12(2026-05-24). 단, README가 명시한 "This MCP and CLI use internal APIs that are undocumented and may change without notice" 경고를 항상 염두에 두는 게 좋습니다.

  • citizendev9c/yt-assets — notebooklm-claude-code-26-03-21 — 본 작업의 직접적인 가이드. 개요 / 핵심 개념 (MCP vs CLI) / 설치 가이드 / 활용 사례 / 주의사항·한계점의 5섹션 구조이며, "NotebookLM은 소스를 올려놓고 질문하고, 오디오 브리핑을 듣고" 라는 첫 문장이 이 도구의 본질을 가장 짧게 요약합니다.

  • 참고 영상: https://www.youtube.com/watch?v=BeSKY9jVwnQ — 본 실험의 영감 원천. 영상의 흐름을 그대로 가져온 게 아니라 제 도메인(공인중개사 + 1인 사업자)에 대입해 재구성한 결과가 위 6단계입니다.


이 사례글의 본문·이미지·재현 스크립트는 c:\Users\pc\notebook_claude\output\gpters-case-study\ 폴더에 함께 보관돼 있습니다. 이미지는 scripts\gen_images.py로 언제든 재생성 가능합니다. 같은 흐름을 다른 도메인(요리·법률·디자인 등)으로 옮기시는 분은 Step 6만 갈아끼우면 거의 그대로 동작할 거라 봅니다.

3
1개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.