Content Digest
콘텐츠 → Quiz-First 학습 → 선택적 깊이 탐색 → 근본 개념 확장.
Task Agent 기반 설계: 긴 컨텍스트는 subagent가 처리하고, 메인 세션은 최종 결론만 소비
아키텍처 원칙
-
Context Separation: 긴 자막/본문은 Task agent가 처리, 메인 세션은 가벼운 md 파일만 Read
-
Clean Transcript: 자막에서 번호, 시간 제거 → 순수 영어 텍스트만 추출
-
Web Research Integration: 추출된 키워드로 자동 웹 리서치
-
Single Output: 모든 처리 결과는 단일 md 파일로 저장
지원 콘텐츠
타입 추출 방법 저장 경로
YouTube Task agent (yt-dlp + 정제) research/digests/youtube/
X/Twitter fetch-tweet 스킬 (api.fxtwitter.com) research/digests/tweet/
Webpage Task agent (browser + 정제) research/digests/web/
PDF Task agent (Read + 정제) research/digests/pdf/
핵심 원칙
-
Quiz-First: 요약 보기 전에 퀴즈부터 (Pretesting Effect → 9-12% 향상)
-
Knowledge Gap: 틀린 문제가 호기심을 만들고, 호기심이 기억을 강화
-
선택적 깊이: 사용자가 더 알고 싶은 부분만 깊게
-
근본 확장: 콘텐츠 너머의 기초 개념까지 웹 검색으로 확장
워크플로우 개요 (Task Agent 기반)
Phase 1: 콘텐츠 타입 감지 Phase 2: Task Agent 실행 (콘텐츠 추출 + 정제 + 웹 리서치 + md 저장) Phase 3: 메인 세션에서 결과 md Read Phase 4: Pre-Quiz (3문제) Phase 5: 선택적 콘텐츠 제공 Phase 6: 본 퀴즈 (9문제) Phase 7: Elaborative Interrogation Phase 8: Foundation Expansion Phase 9: 스키마 연결 Phase 10: 문서 업데이트 (퀴즈 결과 반영) Phase 11: 후속 선택
Phase 1: 콘텐츠 타입 감지
입력 패턴에 따라 콘텐츠 타입 자동 결정:
패턴 타입
youtube.com , youtu.be
YouTube
x.com , twitter.com
X/Twitter
http:// , https:// (기타) Webpage
.pdf 파일 경로 PDF
명확하지 않으면 사용자에게 확인:
AskUserQuestion: questions:
- question: "어떤 콘텐츠를 분석할까요?"
header: "Type"
options:
- label: "YouTube 영상" description: "URL을 알려주세요"
- label: "웹페이지/아티클" description: "URL을 알려주세요"
- label: "PDF 문서" description: "파일 경로를 알려주세요"
Phase 2: Task Agent 실행 (핵심)
메인 세션의 context를 보호하면서 긴 콘텐츠를 처리
2-1. Task Agent 호출 패턴
Task: subagent_type: "general-purpose" description: "콘텐츠 추출 및 분석" prompt: | ## 목표 {URL/파일경로}에서 콘텐츠를 추출하고 분석하여 md 파일로 저장
## 단계 (순서 중요)
1. 콘텐츠 추출 (타입별 방법 적용)
2. 텍스트 정제 (번호, 시간 제거 → 영어만 추출)
3. 핵심 키워드 추출 (5-10개)
4. 웹 리서치 (키워드별 WebSearch)
5. **핵심 요약 생성** (3-5문장)
6. **주요 인사이트 도출** (3개)
7. **퀴즈 재료 생성** (요약/인사이트 기반으로 핵심 주제만)
8. md 파일 저장
## 출력 경로
research/digests/{type}/{YYYY-MM-DD}-{sanitized-title}.md
2-2. X/Twitter 추출 (fetch-tweet 스킬 활용)
Task Agent 불필요 - fetch-tweet 스크립트로 직접 추출 (짧은 콘텐츠)
트윗 원문 + 인게이지먼트 데이터 추출
python3 .claude/skills/fetch-tweet/scripts/fetch_tweet.py "{URL}" --json
JSON 응답에서 활용할 필드:
-
tweet.text : 트윗 본문
-
tweet.author : 작성자 정보 (name, bio, followers)
-
tweet.likes/retweets/views : 인게이지먼트
-
tweet.quote : 인용 트윗 (있을 경우 동일 구조)
-
tweet.media : 첨부 이미지/영상
트윗은 짧으므로 Task Agent 없이 메인 세션에서 직접 처리. 인용 트윗이 있으면 함께 포함하여 분석. 저장 경로: research/digests/tweet/{YYYY-MM-DD}-{author}-{short-topic}.md
2-3. YouTube 추출 (Task Agent 내부)
1. 자막 추출
yt-dlp --write-auto-sub --sub-lang "en" --skip-download
--convert-subs vtt -o "%(title)s" "{URL}"
2. VTT → 순수 텍스트 변환
sed -E 's/^[0-9]+$//' | \ # 번호 제거 sed -E 's/[0-9]{2}:[0-9]{2}:[0-9]{2}.*//g' | \ # 타임스탬프 제거 sed -E 's/<[^>]+>//g' | \ # HTML 태그 제거 tr -s '\n' | \ # 빈 줄 정리 grep -v '^$' # 빈 줄 삭제
정제 결과: 순수 영어 텍스트만 남음 (시간, 번호, 중복 없음)
2-4. Webpage 추출 (Task Agent 내부)
- mcp__claude-in-chrome__tabs_context_mcp
- mcp__claude-in-chrome__tabs_create_mcp
- mcp__claude-in-chrome__navigate: url="{URL}"
- mcp__claude-in-chrome__get_page_text: tabId={tabId}
- 스크롤 후 추가 콘텐츠 확인
2-5. PDF 추출 (Task Agent 내부)
Read: file_path="{PDF 경로}"
2-6. 웹 리서치 (Task Agent 내부)
추출된 텍스트에서 핵심 키워드 5-10개 식별 후:
WebSearch (병렬 실행):
- "{키워드1} explained"
- "{키워드2} research"
- "{저자/발표자} {주제}"
- "{핵심개념} fundamentals"
2-7. 최종 md 파일 저장 (Task Agent 내부)
경로: research/digests/{type}/{YYYY-MM-DD}-{sanitized-title}.md
title: {콘텐츠 제목} type: {youtube|web|pdf} url: {URL 또는 파일경로} author: {저자/채널명} date: {발행 날짜} processed_at: {처리 일시} keywords: [{키워드1}, {키워드2}, ...]
{콘텐츠 제목}
핵심 요약
{3-5문장 요약}
주요 인사이트
- {인사이트1}: 설명
- {인사이트2}: 설명
- {인사이트3}: 설명
웹 리서치 결과
{키워드1}
- 발견 내용 요약
- 출처: {URL}
{키워드2}
- 발견 내용 요약
- 출처: {URL}
원문 (정제됨)
{번호/시간 제거된 순수 텍스트}
Quiz 재료 (Pre-Quiz + 본 Quiz용)
생성 순서: 반드시 위의 "핵심 요약"과 "주요 인사이트"를 먼저 작성한 후, 이를 기반으로 퀴즈 생성 출제 원칙: 핵심 주제만 출제. 날짜, 통계, 지엽적 세부사항 제외.
기본 레벨 (3문제 후보)
- Q1: {핵심 개념/메시지 관련}
- Q2: {주요 원칙 관련}
- Q3: {저자 핵심 주장 관련}
중급 레벨 (3문제 후보)
- Q4: {개념 간 관계}
- Q5: {근거와 논리 연결}
- Q6: {핵심 아이디어 비교}
심화 레벨 (3문제 후보)
- Q7: {실제 적용/응용}
- Q8: {핵심 원리의 확장}
- Q9: {저자 관점의 함의}
Phase 3: 메인 세션에서 결과 Read
Task Agent 완료 후:
Read: file_path="research/digests/{type}/{YYYY-MM-DD}-{sanitized-title}.md"
메인 세션은 정제된 md 파일만 읽음 → context 효율 극대화
Phase 4: Pre-Quiz (핵심)
목적: 정보 갭 생성 → 주의력 프라이밍 → 능동적 학습 유도
퀴즈 출제 원칙
핵심 주제만 질문: 사소한 세부사항이나 숫자가 아닌, 콘텐츠의 핵심 메시지와 직결되는 내용만 출제
-
✅ 핵심 개념, 주요 원칙, 저자의 핵심 주장
-
❌ 날짜, 통계 수치, 부수적 예시, 지엽적 세부사항
결과 md 파일의 "Quiz 재료" 섹션을 활용하여 3문제 출제:
AskUserQuestion: questions:
- question: "[Pre-Quiz] 이 콘텐츠에서 다룰 것 같은 핵심 개념은?" header: "PQ1" options: [4개 선택지]
- question: "[Pre-Quiz] 저자가 강조할 것 같은 메시지는?" header: "PQ2" options: [4개 선택지]
- question: "[Pre-Quiz] 이 주제에서 가장 중요한 원칙은?" header: "PQ3" options: [4개 선택지]
결과 처리:
-
정답/오답 즉시 표시
-
틀린 문제 → "이 부분을 콘텐츠에서 확인해보세요" 안내
-
Knowledge Gap 생성: "이제 콘텐츠를 보면 답을 찾고 싶어질 것입니다"
Phase 5: 선택적 콘텐츠 제공
Pre-Quiz 결과에 따라 사용자에게 선택지 제공:
AskUserQuestion: questions:
- question: "어떤 콘텐츠를 먼저 보시겠습니까?"
header: "Content"
options:
- label: "틀린 문제 관련 섹션만" description: "Pre-Quiz에서 틀린 부분의 답을 찾아보기"
- label: "핵심 인사이트 3개" description: "콘텐츠의 가장 중요한 포인트만"
- label: "전체 요약 + 인사이트" description: "종합적인 콘텐츠 분석"
- label: "바로 본 퀴즈로" description: "요약 없이 9문제 퀴즈 진행"
5-1. 틀린 문제 관련 섹션
Pre-Quiz 오답과 관련된 섹션만 추출:
-
YouTube: 해당 타임스탬프
-
Webpage: 관련 단락
-
PDF: 해당 페이지/섹션
5-2. 핵심 인사이트 (간결 모드)
핵심 인사이트 3개
- [키워드]: 1-2문장 설명
- [키워드]: 1-2문장 설명
- [키워드]: 1-2문장 설명
5-3. 전체 요약 + 인사이트
요약
{3-5문장}
인사이트
핵심 아이디어
적용 가능한 점
Phase 6: 본 퀴즈 (9문제)
3단계 × 3문제. AskUserQuestion으로 각 단계 진행.
출제 원칙: 모든 문제는 콘텐츠의 핵심 주제와 직결되어야 함. 지엽적 세부사항, 날짜, 통계 수치는 출제 금지.
단계 난이도 출제 기준
1 기본 핵심 메시지, 주요 개념
2 중급 개념 간 관계, 근거 연결
3 심화 사례 분석, 적용, 구체적 데이터
문제 유형 상세: references/quiz-patterns.md
즉각 피드백: 각 단계 완료 후 정답/해설 즉시 제공
Phase 7: Elaborative Interrogation
"왜?" 질문이 깊은 처리를 유발 (76% vs 69% 정답률 향상)
퀴즈 완료 후, 핵심 개념에 대해 심화 질문:
AskUserQuestion: questions:
- question: "다음 중 더 깊이 이해하고 싶은 개념은?"
header: "Deep Dive"
multiSelect: true
options:
- label: "{개념 A}" description: "왜 이것이 중요한지 탐구"
- label: "{개념 B}" description: "이것의 근본 원리 이해"
- label: "{개념 C}" description: "실제 적용 사례 확장"
- label: "바로 다음 단계로" description: "현재 이해 수준으로 충분"
선택된 개념에 대해:
-
"왜 이것이 사실인가?" 질문과 답변
-
콘텐츠 내 근거 위치 (타임스탬프/페이지/섹션)
-
웹 검색으로 추가 맥락 제공
Phase 8: Foundation Expansion (근본 확장)
콘텐츠 너머의 기초 지식 확장
8-1. 기초 개념 웹 검색 (WebSearch 병렬 3-5개)
검색 쿼리:
- "{핵심 개념} fundamentals explained"
- "{핵심 개념} 기초 원리"
- "{이론/방법론} research paper original"
- "{저자/발표자} other works recommendations"
8-2. 근본 지식 정리
Foundation Expansion
이 콘텐츠의 기초가 되는 개념들
| 개념 | 설명 | 출처 |
|---|---|---|
| {기초 개념 1} | 1줄 설명 | {URL} |
| {기초 개념 2} | 1줄 설명 | {URL} |
더 깊이 들어가려면
- 선수 지식: {이 콘텐츠를 완전히 이해하려면 알아야 할 것}
- 후속 학습: {이 콘텐츠 다음에 볼 만한 것}
- 관련 연구: {학술적 배경}
Phase 9: 스키마 연결 (이전 학습과 연결)
기존 지식과 연결할 때 학습 효과 극대화
research/digests/ 폴더의 기존 다이제스트 스캔:
관련 학습 기록
이 콘텐츠와 연결되는 이전 학습:
| 콘텐츠 | 타입 | 연결 포인트 | 날짜 |
|---|---|---|---|
| {이전 제목} | {youtube/web/pdf} | {공통 개념/대조되는 관점} | {날짜} |
지식 네트워크
graph LR
A[이번 콘텐츠] --> B[공통 개념]
C[이전 콘텐츠 1] --> B
D[이전 콘텐츠 2] --> B
---
## Phase 10: 문서 업데이트 (퀴즈 결과 반영)
Task Agent가 저장한 md 파일에 퀴즈 결과 추가:
```markdown
## Pre-Quiz 결과
{점수 및 Knowledge Gap 기록}
## 본 퀴즈 결과
{점수, 오답 노트}
## Elaborative Interrogation
{선택한 개념에 대한 심화 탐구}
기본 콘텐츠는 Phase 2에서 이미 저장됨. 여기서는 학습 결과만 추가.
Phase 11: 후속 선택
AskUserQuestion:
questions:
- question: "다음으로 무엇을 하시겠습니까?"
header: "Next"
options:
- label: "다른 문제로 재퀴즈"
description: "같은 콘텐츠, 새로운 9문제"
- label: "Deep Research"
description: "웹 심층 조사로 확장 (references/deep-research.md)"
- label: "관련 콘텐츠 추천"
description: "이 주제의 다른 콘텐츠 찾기"
- label: "종료"
description: "학습 완료"
필수: Quiz-First 모드
모드 선택 없음. 항상 Quiz-First로 진행.
연구에 따르면 학습 전 테스트가 9-12% 향상 효과를 가져오며,
요약을 먼저 보면 이 효과가 사라짐.
워크플로우 (고정):
1. 콘텐츠 타입 감지
2. Task Agent 실행 (추출 + 정제 + 웹 리서치 + md 저장)
3. 메인 세션에서 결과 md Read
4. Pre-Quiz (3문제) ← 반드시 먼저
5. 선택적 콘텐츠 제공
6. 본 퀴즈 (9문제)
7-9. 심화 학습 (Elaboration, Foundation, 스키마)
10. 문서 업데이트
11. 후속 선택
사용자가 "요약만", "퀴즈 없이" 등을 요청해도:
- "Quiz-First가 학습 효과가 9-12% 더 높습니다. 먼저 3문제만 풀어볼까요?"
- 강하게 요청 시에만 요약 제공, 단 퀴즈 권유 메시지 포함
콘텐츠 타입별 참고사항
YouTube
자막 언어 우선순위
- 한국어 수동 → 2. 영어 수동 → 3. 한국어 자동 → 4. 영어 자동
yt-dlp 옵션
- --list-subs
: 자막 목록 확인
- --cookies-from-browser chrome
: 로그인 필요 시
Webpage
항상 claude-in-chrome 사용. WebFetch 사용 금지.
claude-in-chrome 워크플로우
1. tabs_context_mcp로 탭 컨텍스트 확인
2. tabs_create_mcp로 새 탭 생성
3. navigate로 URL 이동
4. get_page_text로 텍스트 추출
5. scroll로 전체 콘텐츠 로드 (무한 스크롤 대응)
6. get_page_text 재호출로 추가 콘텐츠 확인
7. read_page로 구조 파악 (필요시)
장점
- 동적 콘텐츠 완벽 지원
- 페이월/로그인 콘텐츠 접근 가능
- 무한 스크롤 페이지 처리
- 본문 전체를 정확히 가져옴
PDF
Read 도구 특성
- 텍스트와 이미지를 동시에 인식
- 페이지별로 처리
- 표/차트 구조 인식 가능
대용량 PDF
- 페이지 범위 지정하여 분할 처리
- 목차 먼저 확인 후 관심 섹션 집중
리소스
- scripts/extract_metadata.sh
- YouTube 메타데이터 추출
- scripts/extract_transcript.sh
- YouTube 자막 추출
- references/quiz-patterns.md
- 퀴즈 문제 유형 상세
- references/deep-research.md
- Deep Research 워크플로우
- references/learning-science.md
- 학습 과학 연구 근거
학습 과학 근거
이 워크플로우는 다음 연구에 기반:
-
Pretesting Effect (Richland et al., Roediger & Karpicke)
- 학습 전 테스트 → 9-12% 향상, effect size g = 0.34-0.54
-
Information Gap Theory (Loewenstein, 1994)
- 지식 갭 인식 → 도파민 회로 활성화 → 기억 강화
-
Elaborative Interrogation (Dunlosky et al., 2013)
- "왜?" 질문 → 깊은 처리 → 76% vs 69% 정답률
-
PACE Framework (Gruber et al., 2019)
- 호기심 상태에서 무관한 정보도 기억력 향상
상세: references/learning-science.md