
12개 모듈, 12주, 1개의 파이프라인: Agentic AI와 함께하는 석사 과정 공부
요약
석사 과정의 방대한 학습량을 소화하기 위해 Claude Code를 활용한 자동화 파이프라인을 구축한 사례를 소개합니다. 반복 가능한 스킬 프롬프트를 통해 PDF 리소스부터 복습 시트 생성까지 학습 전 과정을 에이전트 방식으로 관리합니다.
핵심 포인트
- 방대한 학습 콘텐츠 처리를 위한 Agentic AI 파이프라인 구축
- Claude Code의 스킬(Skill) 개념을 활용한 프롬프트 재사용성 확보
- 입력-가드레일-출력이 일관된 반복 가능한 학습 워크플로우 설계
- 단순 읽기를 넘어 평가 대비를 위한 체계적인 데이터 처리
저는 파트타임 직업을 유지하면서 소프트웨어 공학 및 AI 석사 과정을 이수하고 있습니다. 대학교는 플립 러닝 (flipped classroom) 방식을 운영합니다. 단 한 번의 수업이 시작되기 전에 모든 콘텐츠가 미리 제공됩니다. 그 후 수강 신청을 하면, 진짜 방대한 양이 몰려옵니다.
한 과목은 12주에 걸쳐 12개의 모듈로 구성됩니다. 매주 도입부(Introduction), 38개의 리소스 (교과서 챕터, 논문, 비디오, 팟캐스트), 그리고 14개의 활동 (포럼, 실습용 노트북, 퀴즈)이 있습니다. 평가는 대략 4주마다 한 번씩 찾아옵니다. 이번 학기에 저는 세 과목을 동시에 수강하고 있습니다.
그 모든 것을 다 읽을 수는 없습니다. 아무도 못 합니다. 여러분은 우선순위를 정해야 (triage) 합니다.
문제는 콘텐츠가 아니라 처리량 (throughput) 이었습니다.
그래서 저는 무식하게 밀어붙이는 것을 멈추고 대신 파이프라인 (pipeline) 을 구축했습니다. 원본 대학교 PDF 파일부터 직접 작성한 복습 시트와 제출된 평가서에 이르기까지, 여정의 각 단계를 담당하는 Claude Code 기술 세트입니다. 여러분이 복사해서 사용할 수 있도록 기술 프롬프트 (skill prompts) 를 포함한 전체 내용을 공개합니다.
방대한 양
3배로 늘리기 전, 단일 과목의 부하량은 다음과 같습니다.
| 과목당 (12주) | 개수 |
|---|---|
| 모듈 (주당 1개) | 12 |
| ... |
이를 계산해 보면, 본업을 유지하면서 한 학기 동안 100개 이상의 리소스와 9개의 평가를 마주하게 됩니다. 함정은 명확합니다. 모든 것을 훑어보지만 아무것도 기억하지 못하고, 결국 평가 시점에 빈 페이지를 마주하게 되는 것입니다.
플립 러닝 (flipped classroom) 방식은 여러분이 사전 학습을 스스로 할 것이라고 가정합니다. 좋습니다. 저는 단지 그것을 수동으로 하는 것을 거부했을 뿐입니다.
파이프라인
한 번의 영웅적인 학습 세션 대신, 저는 여정을 여러 단계로 나누고 각 단계에 제한된 계약 (contract)을 부여했습니다. Claude Code에서의 스킬 (skill)이란 동일한 입력을 해결하고, 동일한 가드레일 (guardrails)을 따르며, 일관된 종류의 결과를 생성하는 이름이 지정된 재사용 가능한 프롬프트 (prompt)를 의미합니다. 그 반복 가능성 (repeatability)이 핵심입니다. 저는 매주 "어떻게 공부하는지"를 다시 설명하는 것이 아니라, /study-mode BDA 5를 실행하여 매번 동일하고 절제된 결과를 얻습니다.
5단계로 구성됩니다. 대부분은 Claude Code 스킬이며, 평가 (assessment) 단계는 스킬과 반복 가능한 실행 패턴을 결합합니다. 각 단계는 특정한 종류의 고통을 제거합니다.
단계별 안내
1. 주제 매핑 (Map the subject) - /subject-scaffold
고통: 새로운 주제는 PDF 뭉치일 뿐입니다. 주제 개요, 플래너, 세 개의 평가 안내서 등이 흩어져 있고, 12주가 실제로 어떻게 진행되는지 알려주는 단일한 장소는 없습니다.
/subject-scaffold는 pdftotext를 사용하여 해당 PDF들을 읽고 주제 README.md를 구축합니다: 서론, 학습 결과 (learning outcomes), 주차별 강의 일정, 모듈 체크리스트, 그리고 평가 표가 포함됩니다. 이 계약은 정직함을 유지하는 데 매우 엄격합니다:
3. 오직 출처의 사실만을 바탕으로 README를 구축할 것.
- 출처 자료가 뒷받침되는 경우 다음 섹션들을 채우거나 업데이트할 것:
주제 서론, 주제 상세 정보, 주제 학습 결과 (SLO),
...
마지막 줄이 중요합니다. 스킬은 요약은 허용되지만, 마감일을 환각 (hallucinate)해서는 절대 안 됩니다. 출력물은 제가 학기 내내 탐색할 지도 역할을 합니다. 예를 들어, BDA601 평가가 4, 8, 12주 차에 진행되며 비중이 30 / 30 / 40이라는 것을 알려주는 강의 일정이 바로 그것입니다.
의의: 무엇인가를 공부하기 전에, 저는 전체 주제의 형태를 파악합니다. 분량에 대한 평면도를 갖게 되는 것입니다.
2. 리소스 요약 (Summarise the resources) - /study-mode
고충 (The pain): 모듈 2 하나만 해도 데이터 전략에 관한 교과서 한 장과 데이터 레이크 (Data Lakes)에 관한 두 장이 포함되어 있습니다. 이 세 장을 모두 면밀히 읽으려면 화요일에 도저히 낼 수 없는 90분이 필요합니다.
/study-mode는 각 리소스(pdftotext를 통한 PDF, fetch를 통한 웹 기사)를 읽고 moduleNN_notes.md에 구조화된 노트를 작성합니다. 모든 리소스에는 동일한 "핵심 하이라이트 (Key Highlights)" 프레임이 적용됩니다:
### N. 저자, A. (연도). 저작물 제목.
**목적 (Purpose):** 이 리소스가 무엇을 다루는지, 그리고 왜 중요한지에 대한 1~2문장의 요약.
...
BDA 모듈 2에 이 기능을 실행하면, 할 일 목록과 실제 출처가 명시된 하이라이트가 포함된 노트 파일이 생성됩니다:
### 1. Marr, B. (2021). Data Strategy - Chapter 6: Sourcing and Collecting
**목적 (Purpose):** 데이터로부터 *무엇*을 원하는지 결정한 후, 이 장에서는 ...를 다룹니다.
...```
이 기술은 각 리소스가 완료되었음을 상태 이모지로 표시하며, 이미 검토된 항목은 건드리지 않습니다. 이는 메모리(Memory)를 가진 요약기입니다.
**결과 (So what):** 90분의 독서가 제가 신뢰할 수 있는 10분간의 노트 스캔으로 바뀝니다. 모든 주장이 인용된 출처와 연결되어 있기 때문입니다.
### 3. 재독이 아닌 능동적 회상 (Active recall, not re-reading) - `/active-recall`
여기서부터 에이전트(Agent)는 나를 대신해 일을 하는 것을 멈추고, 내가 직접 일을 하게 만들기 시작합니다.
요약본은 그 자체로는 편안하지만 쓸모가 없습니다. 재독 (Re-reading)은 학습하는 것처럼 느껴지지만 실제로는 그렇지 않습니다. 따라서 `/active-recall BDA 5`는 `/study-mode`가 생성한 노트를 읽고, 내부적으로 5개의 질문을 만든 뒤, 하나씩 질문을 던집니다. 에이전트는 무언가를 가르치기 전에 나의 첫 번째 시도를 채점합니다:
- 질문 1만 묻고 멈출 것. 내부 정답 키를 절대 공개하지 말 것.
- 가르치거나 후속 질문을 하기 전에 첫 번째 시도를 0점에서 5점 사이로 채점할 것.
- 반환 값: 정답 (Right), 공백 (Gap), 교정 (Fix), 그리고 진정으로 도움이 될 때의 실용적인 앵커 (Anchor).
...
5점 만점에 1.6점은 쓰라립니다. 원래 그래야 합니다. 이 기술은 내가 답을 수정하더라도 원래 점수를 유지하며, 오직 부족한 부분(Gap)만을 가르치고, 추상적인 개념을 나의 실제 업무에 앵커링(Anchoring)합니다. 예를 들어, "스키마 온 라이트 (schema-on-write)는 당신의 웨어하우스(Warehouse)이고, 스키마 온 리드 (schema-on-read)는 레이크(Lake)가 될 것입니다"와 같은 식입니다. 이러한 연결 고리(Hook) 덕분에 지식이 머릿속에 박히게 됩니다.
**결론(So what):** AI는 정답을 건네줄 때가 아니라, 정답을 유보할 때 가장 가치 있습니다.
### 4. 원페이지 요약본 - `/one-pager`
이것이 이 시스템의 핵심 전시물입니다.
**문제점(The pain):** 노트가 너무 길어서 시험 전날 밤에 복습하기가 어렵습니다. 한 페이지가 필요합니다.
`/one-pager`는 모듈의 노트를 단 한 장의 A4 용지로 증류하며, 저는 이를 세 가지 색의 펜을 사용하여 **손으로 직접 씁니다(hand-write)**. 색상 코드가 곧 시스템입니다:
펜 범례: 검은색 = 뼈대 / 항상 참인 내용 · 파란색 = 정의 및 예시 · 빨간색 = 시험 + 평가 후크(assessment hooks)
핵심 아이디어 (박스 처리, 페이지 중앙)
...
BDA 모듈 2에 이를 적용하면, 추상적인 챕터가 5분 안에 기억만으로 다시 그려낼 수 있는 무언가로 압축됩니다:
핵심 아이디어 (박스 처리, 페이지 중앙)
STRATEGY에서 소스를 가져온 다음, 적절한 속도(SPEED)로 RAW 데이터를 레이크(lake)에 주입하라.
...
이 기술은 1단계에서 구축한 README로부터 평가 후크(assessment hook) — 배점, 마감일, 정확한 학습 결과(learning outcomes) — 를 직접 추출하므로, 복습 시트가 항상 평가 대상(graded thing)을 정확히 가리키게 합니다. 그런 다음 저는 이를 빈 A4 용지에 손으로 옮겨 적습니다. 손으로 쓰는 것은 향수에 젖기 위함이 아닙니다. 그것은 인코딩(encoding) 단계입니다. 에이전트(agent)가 대본을 생성하면, 제 손이 그것을 연기하며, 바로 그 순간 지식이 기억에 안착합니다.
**결론(So what):** 당신이 손으로 직접 쓰는 결과물(artifact)이 바로 당신이 기억하게 될 결과물입니다. AI는 대본을 작성하지만, 그것을 연기하는 것은 여전히 당신의 몫입니다.
### 5. 평가(Assessment) 공략하기
4주마다 읽은 내용은 반드시 결과물(deliverable)로 변환되어야 합니다. 세 가지 기술이 그 역할을 수행합니다.
**`/gh-issue-creator`**는 단 한 번의 명령으로 마크다운(markdown) 계획을 일련의 GitHub 이슈(GitHub issues) — 모듈 에픽(epics), 평가 과제, 마감일 — 로 변환합니다. 정교하게 짜인 이슈는 관료주의가 아니라, 통제 장치(leash)입니다. 목표(Goal)와 수락 기준(Acceptance) 섹션이 포함된 잘 정의된 이슈는 실행 에이전트(executor agent)가 경로를 벗어날 수 없는 경계가 정해진 작업(bounded task)이 됩니다. 저는 이 패턴에 대해 [How I keep LLMs on a tight leash](https://github.com/lfariabr/gh-issue-creator)에서 별도로 작성한 바 있습니다.
평가 자체는 **v2 실행 패턴 (v2 executed pattern)**을 따릅니다. `TBD` 플레이스홀더로 가득 찬 뼈대만 있는 것이 아니라, 항상 실제로 실행되는 노트북(notebook)을 제공합니다.
add dataset/ (다운로드 스크립트 + 커밋된 CSV 파일들), code/ (깔끔하고 실행 가능한 코드),
출력이 포함된 실행된 notebook/, 그리고 outputs/ (지표 + 도표).
그 다음 모든 플레이스홀더를 실제 실행된 수치로 교체합니다.
이 저장소(repo)는 학술적 증거이자 공개 포트폴리오의 역할을 겸하기 때문에, 모든 평가는 계획을 설명하는 것이 아니라 실제 데이터, 실제 도표, 실제 수치를 포함하여 전달됩니다. 예를 들어, PySpark MLlib을 사용한 통신사 이탈 모델(Telco churn model), 와인 품질 회귀(wine-quality regression), 감성 분류기(sentiment classifier) 등이 이에 해당합니다.
마지막으로, **`/assessment-checker`**는 제출 전 감사(audit)를 실행합니다. 요강에 따른 구조적 준수 여부, 허용 오차 범위 내의 단어 수, 모든 인라인 인용(inline citation)과 참고문헌의 일치 여부, 그리고 각 참고문헌이 실제 저자, 연도, 발표 장소(venue)를 가졌는지 웹에서 교차 검증합니다. 이 프로세스는 사람이 문서를 확인하기 전에 문제를 심각(critical), 경미(minor), 또는 확인됨(verified)으로 분류하여 표시합니다.
이 모든 과정을 바탕으로, **`/transcript-generator`**는 Apple Silicon 환경에서 `whisper.cpp`를 사용하여 강의 녹음본을 오프라인 텍스트 및 자막으로 변환합니다. 이를 통해 제가 수강한 수업은 검색 가능한 노트가 되어 다시 2단계로 흘러 들어갑니다.
**결론적으로:** 제출일이 되면 작업은 완료되어 있고, 검증되었으며, 재현 가능합니다. 그리고 에이전트(agent)는 모든 단계에서 가드레일(guardrails)을 갖추고 있었습니다.
## 중요한 분리
에이전트가 학습을 대신한다면 이 중 어느 것도 의미가 없습니다. 에이전트는 학습의 _물류(logistics)_를 담당합니다. 경계선이 어디에 그어져 있는지 보십시오:
| 에이전트가 하는 일 | 내가 하는 일 |
| --- | --- |
| PDF로부터 주제 README의 스캐폴딩(Scaffold) 구축 | 무엇을 우선순위에 둘지 결정 |
| ... | |
[](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm91g3l4ab5q1pp89m9fk.png)
에이전트는 처리량(throughput) 문제를 해결합니다. 이해(understanding)는 나의 것으로 남습니다. 이것이 이 시스템을 부정행위 기계가 아닌 정직한 도구로 만드는 유일한 분리 방식입니다.
## 교훈
1. **기술(Skills)이 프롬프트(prompts)를 이깁니다.** 일회성 프롬프트는 오늘을 해결합니다. 기술(Skill)은 스스로를 다시 설명할 필요 없이 3개 과목의 12개 모듈에 걸쳐 반복 실행할 수 있는 경계가 정해진 계약(bounded contract)입니다. 반복 가능성(Repeatability)이 핵심 기능입니다.
2. **긴 프롬프트보다 명확한 이슈(issues)가 더 나은 컨텍스트(context)입니다.** 에이전트(agent)에게 범위가 정해진 GitHub 이슈(목표, 범위, 수락 기준)를 전달하는 것이 한 단락의 지침을 주는 것보다 방향을 잃을 여지를 줄여줍니다. 코더(coder)가 LLM일 때 이러한 규율은 두 배의 효과를 발휘합니다.
3. **직접 손으로 쓰는 결과물(artifact)이 기억에 남습니다.** 에이전트가 원페이저(one-pager)의 초안을 작성하게 하되, 펜을 쥐게 하지는 마세요. 인코딩(encoding)은 당신의 손에서 일어납니다.
4. **정직한 채점이 아첨보다 낫습니다.** 당신에게 1.6/5점을 주고 부족한 부분을 가르쳐주는 기술(skill)이, 가짜 준비 상태를 느끼도록 축하만 해주는 기술보다 훨씬 가치 있습니다.
5. **학기(term)에 구애받지 않게 만드세요.** 나의 기술(skills)은 과목을 찾기 위해 `[0-9][0-9][0-9][0-9]-T[0-9]/*` 형식을 사용하므로, 학기가 바뀔 때마다 수정할 필요 없이 그대로 유지됩니다. 파이프라인(pipeline)을 한 번 구축하여 학기보다 더 오래 지속되게 하세요.
## 공개 빌딩 (Building in Public)
파트타임으로 일하면서 석사 과정을 공부한다는 것은, 엄청난 양의 학습량을 소화할 유일한 방법이 이를 체계화(systematise)하는 것임을 의미합니다. 처음부터 정교했던 것은 아닙니다. 1년 전, 이 리포지토리(repo)를 시작한 지 9일째 되던 날, 저는 [수동 일일 팔로업 시스템](https://luisfaria.dev/articles/how-i-created-a-daily-follow-up-system-to-dominate-my-masters-degree-assignments) — 구글 문서(Google Doc)와 추적 스프레드시트 — 에 대해 글을 썼습니다. 1년이 지나고 1,000개 이상의 커밋(commits)이 쌓인 지금, 그 동일한 본능이 위와 같은 에이전틱 파이프라인(agentic pipeline)으로 성장했습니다. 저는 기술(skills), 프롬프트(prompts), 그리고 그것들이 만들어내는 실제 결과물까지 모든 것을 공유합니다. 왜냐하면 플립 러닝(flipped classroom)은 이제 어디에나 존재하지만, 대부분의 학생은 여전히 이 모든 과정을 수동으로 하고 있기 때문입니다.
학위 과정, 부트캠프(bootcamp), 혹은 단순히 방대한 무언가를 독학하고 있다면, 이 방식을 복제할 수 있습니다: 지도를 설계(scaffold)하고, 인용된 노트로 요약하며, 정직하게 스스로를 테스트하고, 원페이저(one-pager)를 직접 작성한 다음, 실제 결과물(deliverable)을 만들어내세요.
- 저장소 (학습 내용, 노트, 실행 평가): [github.com/lfariabr/masters-swe-ai](https://github.com/lfariabr/masters-swe-ai)
- 이슈 생성 기능: [github.com/lfariabr/gh-issue-creator](https://github.com/lfariabr/gh-issue-creator)
## 연결하기 (Let's Connect)
- **GitHub:** [github.com/lfariabr](https://github.com/lfariabr)
- **LinkedIn:** [linkedin.com/in/lfariabr](https://www.linkedin.com/in/lfariabr/)
- **포트폴리오 (Portfolio):** [luisfaria.dev](https://luisfaria.dev)
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기