한국예술종합학교 융합예술센터 · 아트콜라이더 랩
프로그래밍은 몰라도
AI는 사용합니다만
AI와 함께 만드는 나의 작은 서비스
Day 1·질문에서 서비스 설계서까지
1부 · 무엇을 배우는가
오늘은 코딩보다 AI와 일하는 법을 익힙니다
01작업 흐름 이해AI와 함께 일하는 전 과정을 살펴봅니다
02도구 준비네 가지 도구를 내 노트북에서 직접 실행합니다
03서비스 설계서 완성내 프로젝트를 설명하는 서비스 설계서 한 장을 마칩니다
1부 · 무엇을 배우는가
나흘 동안 작은 서비스 하나를 끝까지 만듭니다
오늘은 그 첫 단계입니다. 나흘 뒤에는 기획부터 시연까지 한 번 완주하게 됩니다.
1부 · 무엇을 배우는가
먼저 4일 동안 만들 범위를 정합니다
규모
한 사람당 작은 서비스 하나를 만듭니다.
기본 기술과 배포
React·TypeScript 기본 템플릿으로 시작합니다. 필요한 기능만 추가하고 완성한 서비스는 Vercel로 배포합니다.
제외
Unity와 TouchDesigner는 이번 과정에서 다루지 않습니다.
MOVIOLA · STORYBOARD BOARD
SCENE 01 · 4 CUTS
CUT 01 · WIDE
CUT 02 · CLOSE UP
CUT 03 · CLOSE UP
CUT 04 · OTS
MOVIOLA 개발 과정의 실제 스토리보드 생성 결과
1부 · MOVIOLA 실제 사례
MOVIOLA는 시나리오를 촬영 전의 첫 편집본으로 바꾸는 도구입니다
- 시나리오를 넣으면 Scene과 Cut으로 나뉩니다
- 컷마다 촬영 사양과 스토리보드가 만들어집니다
- 수정하고 비교해 촬영 전에 첫 편집본까지 확인합니다
1부 · MOVIOLA 실제 사례
시작은 스토리보드 작가를 구하기 어렵다는 현실적인 문제였습니다
머릿속과 글 사이
감독의 머릿속 장면과 글로 된 시나리오 사이의 거리가 큽니다.
구하기 어려운 작가
스토리보드 작가는 구하기 어렵고, 시간과 비용이 많이 듭니다.
직접 만든 도구
그 간극을 줄이려고 프리프로덕션 도구를 직접 만들기로 했습니다.
1부 · MOVIOLA 실제 사례
바로 만들지 않고 무엇을 대신하고 무엇을 남길지부터 물었습니다
01사용자누가 사용하는가?
02입력무엇을 넣는가?
03범위어디까지 만들어줘야 유용한가?
04결정권AI가 정할 것과 감독이 결정할 것은 무엇인가?
05첫 흐름첫 버전에서 반드시 작동해야 하는 한 흐름은 무엇인가?
요청 예시 · “$grill-with-docs 바로 구현하지 말고 다섯 가지가 구체해질 때까지 한 번에 하나씩 물어봐.”
1부 · MOVIOLA 실제 사례
질문에 답하며 MOVIOLA를 설명하는 한 문장을 만들었습니다
“MOVIOLA는 스토리보드 초안이 필요한 감독이 시나리오를 넣으면, Scene과 Cut으로 나누고 컷별 촬영 사양과 스토리보드를 만든 뒤, 수정·비교하여 촬영 전 첫 편집본까지 확인하게 하는 프리프로덕션 도구입니다.”
핵심 흐름
무엇을 하나
Scene·Cut 분해 → 스토리보드 → 수정·비교
좋은 서비스 설명은 사용자 → 입력 → 핵심 흐름 → 눈으로 확인할 결과를 한 문장에 담습니다.
1부 · MOVIOLA 실제 사례
사람과 AI가 같은 뜻으로 쓰도록 용어를 정했습니다
포함 관계 · Project ⊃ Draft ⊃ Scene ⊃ Cut → 그림(CutImage) → 이어 붙인 첫 편집본(Animatic)
도메인 언어는 우리 서비스에서 사람과 AI가 같은 뜻으로 쓸 말입니다. 오후에는 각자 3–5개를 정합니다.
1부 · MOVIOLA 실제 사례
기획 문서를 정한 뒤 필요한 기술을 AI에게 물었습니다
1 · 조건 전달
확정한 핵심 흐름, 저장할 정보, 배포 조건을 그대로 보여줬습니다.
2 · 후보 비교
기술 구성 두 가지를 쉬운 말로 비교해 달라고 했습니다.
3 · 결정과 기록
왜 이 구성인지 확인한 뒤 선택 이유를 서비스 설계서에 남겼습니다.
서비스 설계서를 먼저 정하고, 그다음 필요한 기술 스펙을 AI에게 묻습니다.
1부 · MOVIOLA 실제 사례
서비스의 흐름을 먼저 그리고 각 단계에서 할 일을 정했습니다
01시나리오 입력감독이 시나리오를 입력해 새 작품을 시작한다
02Shot BreakdownAI가 시나리오를 Scene과 Cut으로 나눈다
03한 Scene의 StoryboardAI가 한 장면의 컷을 Storyboard로 만든다
04수정·확인감독이 촬영 사양을 고치고 결과를 확인한다
서비스의 시작부터 결과 확인까지 흐름을 그리고, 각 단계에서 필요한 작업을 정했습니다.
1부 · MOVIOLA 실제 사례
만들어보니 컷마다 따로 그리는 것만으로는 부족했습니다
처음 서비스 설계서
컷마다 촬영 사양을 주고 그림을 따로 만들면 충분하다고 봤습니다.
발견과 수정
컷을 이어 보자 같은 인물과 공간이 컷마다 달라졌습니다. 인물·공간 정보를 작품 차원에서 관리하도록 서비스 설계서와 구조를 고쳤습니다.
첫 서비스 설계서는 구현 결과를 보며 다시 고칩니다. 틀려서가 아니라, 만들어 봐야 보이는 사실이 있기 때문입니다.
1부 · MOVIOLA 실제 사례
MOVIOLA는 크지만 여러분은 핵심 흐름 하나만 완성합니다
MOVIOLA
여러 달 동안 여러 기능을 쌓아 온 큰 프로젝트입니다.
여러분의 4일
같은 방법으로, 입력부터 결과 확인까지 이어지는 핵심 흐름 하나를 완성합니다.
방법은 같습니다. 질문 → 서비스 설계서 → 작은 작업 → 구현 결과를 보고 수정.
1부 · 무엇을 배우는가
매일 시작·작업·마무리 세 구간을 거칩니다
1 · 시작
어제의 산출물을 열고 현재 결과를 실행합니다. 오늘 확인할 완료 기준을 한 줄로 쓰고 Git 복구 지점을 남깁니다.
2 · 작업 루프
Codex에 설명과 계획을 먼저 요청합니다. 내가 작업 하나를 고른 뒤 변경하고, 직접 실행·검토합니다.
3 · 마무리
결과를 동료나 멘토에게 보여줍니다. 완료 기준을 확인하고 남은 문제와 다음 날 첫 작업을 적습니다.
AI가 제안해도 작업 선택, 실행 승인, 완료 판단은 내가 맡습니다.
1부 · 무엇을 배우는가
진행 기록은 매일 같은 다섯 항목으로 남깁니다
01오늘의 결과오늘 끝날 때 어떤 화면과 동작을 확인할 것인가
02선택한 작업지금 한 번에 처리할 작업은 무엇인가
03확인한 결과직접 실행했을 때 무엇이 되었고 무엇이 달랐는가
04막힌 지점오류 원문과 다시 같은 문제를 만드는 순서는 무엇인가
05다음 첫 작업내일 시작하자마자 할 일을 한 줄로 쓴다
별도 워크북은 쓰지 않습니다. Codex와 대화하며 정리하고, 내가 확인한 내용만 프로젝트 문서에 남깁니다.
02
Vibe Coding은 자연어에서 시작합니다
자연어로 시작합니다. 결과를 읽고 판단하는 책임까지 넘길 수는 없습니다.
2부 · Vibe Coding에서 Agent Workflow로
AI는 대화를 넘어 프로젝트 안에서 직접 작업합니다
이제 AI에게 프로젝트 안에서 범위가 정해진 일을 맡깁니다.
2부 · Vibe Coding에서 Agent Workflow로
프롬프트 하나만으로는
좋은 결과를 만들 수 없습니다
01서비스 설계서무엇을 만들지
02규칙무엇을 지킬지
03도구무엇으로 할지
04실행어떻게 바꿀지
05검토무엇을 확인할지
다섯 요소가 같은 목표를 향해 이어질 때 좋은 결과가 나옵니다.
2부 · Vibe Coding에서 Agent Workflow로
AI 코딩의 설계 대상은
프롬프트에서 루프까지 넓어졌습니다
01
PROMPT
ENGINEERING
요청 설계
한 번의 요청에서 목표·조건·원하는 결과를 분명히 씁니다.
02
CONTEXT
ENGINEERING
맥락 설계
매 실행에서 서비스 설계서·관련 파일·이전 결정 중 무엇을 보여줄지 고릅니다.
03
HARNESS
ENGINEERING
실행 환경 설계
도구·권한·작업 공간·규칙·검증을 연결해 실제로 일하게 합니다.
04 · NEW
LOOP
ENGINEERING
반복 시스템 설계
작업을 언제 시작하고, 무엇으로 확인하며, 언제 반복하거나 멈출지 정합니다.
앞의 방식이 사라지는 순서가 아닙니다. 에이전트가 오래 일할수록 사람이 설계해야 할 범위가 바깥으로 넓어집니다.
2부 · Vibe Coding에서 Agent Workflow로
작업이 길어지자 좋은 프롬프트만으로는 부족해졌습니다
01
필요한 맥락을 보지 못합니다
중요한 결정이 대화와 문서, 사람의 머릿속에 흩어져 있으면 무엇을 따라야 할지 모릅니다.
02
도구가 없어 움직이지 못합니다
파일을 읽고 고치거나 명령을 실행할 수 없으면 답을 말할 뿐 실제 프로젝트를 바꾸지 못합니다.
03
작업을 이어가지 못합니다
긴 작업의 진행 상태가 남지 않으면 세션이 바뀔 때 같은 일을 되풀이하거나 중간에서 멈춥니다.
04
끝났는지 확인하지 못합니다
테스트, 로그, 실제 화면의 반응이 돌아오지 않으면 덜 된 결과도 완성했다고 판단하기 쉽습니다.
모델을 더 세게 시키는 대신, 모델이 일할 수 있는 환경을 설계하기 시작했습니다. 여기서 하네스 엔지니어링이 등장합니다.
2부 · Vibe Coding에서 Agent Workflow로
하네스는 모델이 실제 작업을 이어가도록
주변을 연결한 실행 시스템입니다
하네스는 모델이 필요한 정보를 받아 도구를 실행하고, 허용된 범위 안에서 작업 상태를 이어 가며, 실제 결과를 다시 받아 다음 행동을 결정하게 만드는 실행 구조입니다.
01목표와 완료 기준
무엇을 왜 끝내야 하는가
02맥락과 기억
서비스 설계서·관련 파일·이전 결정
03도구
읽기·수정·검색·실행
04작업 공간과 상태
저장소·세션·체크포인트
05권한과 안전장치
승인·샌드박스·작업 규칙
06피드백과 검증
테스트·로그·변경 내역·실제 화면
하네스는 모델 자체가 아닙니다. 모델이 프로젝트 안에서 보고, 행동하고, 확인하도록 둘러싼 실행 구조입니다.
2부 · Vibe Coding에서 Agent Workflow로
Claude Code와 Codex는
기본 하네스를 이미 갖추고 있습니다
MODEL
Claude
또는 GPT
추론하고 다음 행동을 고릅니다.
CLAUDE CODE · CODEX제품이 제공하는 기본 실행 환경
01프로젝트 맥락 찾기파일·검색·코드 구조
02파일을 바꾸고 실행하기편집·터미널·Git
03권한 경계 안에서 행동하기승인·샌드박스
04대화와 실행 상태 이어 가기컨텍스트·세션
05결과와 변경점 확인하기명령 결과·변경 내역·검토
우리가 이 기능을 처음부터 만드는 것은 아닙니다. 도구가 제공한 기본 하네스 위에서 시작합니다.
2부 · Vibe Coding에서 Agent Workflow로
기본 하네스 위에
우리 프로젝트의 기준을 얹습니다
도구가 이미 제공하는 능력프로젝트가 알려 줘야 하는 기준
파일을 찾고 읽기→서비스 설계서·도메인 언어 · 무엇을 만들지
파일을 고치고 명령 실행하기→실행·테스트 방법 · 어떻게 확인할지
승인과 샌드박스로 범위 제한하기→AGENTS.md·CLAUDE.md · 무엇을 지킬지
세션을 이어 가고 변경점 보여 주기→Git 기준점·결정 기록 · 어디서 이어갈지
명령 결과와 실제 상태 돌려주기→완료 기준 · 언제 끝났다고 할지
기본 하네스는 일할 수 있게 하고, 프로젝트 하네스는 무엇을 제대로 끝내야 하는지 알려 줍니다.
2부 · Vibe Coding에서 Agent Workflow로
에이전트 루프를 바깥에서 설계하는 일이
루프 엔지니어링입니다
INNER LOOP · AGENT LOOP
한 번의 실행 안에서
OUTER LOOP · LOOP ENGINEERING
실행 바깥에서 설계할 것
01시작 조건언제 새 작업을 시작할까?
02맥락 구성이번 실행에는 무엇을 보여줄까?
03검증 증거무엇이 맞아야 통과할까?
04상태 기록다음 실행에 무엇을 남길까?
05중단과 사람 판단언제 멈추거나 사람에게 넘길까?
에이전트 루프는 한 번의 작동이고, 루프 엔지니어링은 그 작동을 언제·무엇으로·어디까지 반복할지 설계하는 일입니다.
2부 · Vibe Coding에서 Agent Workflow로
사람과 AI는 서로 다른 일을 맡습니다
AI에게 맡기기 좋은 일
자료 찾기, 범위가 분명한 작업의 실행, 결과 정리를 맡깁니다.
사람이 맡는 일
목적과 범위를 정하고 결과의 품질과 종료 시점을 판단합니다.
2부 · Vibe Coding에서 Agent Workflow로
AI가 만든 결과는 늘 검토합니다
- 빠르게 나오는 초안과 실행 결과
- 빠질 수 있는 조건, 틀릴 수 있는 결과
- 문서로 남기는 지시와 확인 지점
- 검증을 마친 뒤 맡기는 다음 작업
AI가 만든 부분도 마지막에는 내가 직접 설명할 수 있어야 합니다.
2부 · Vibe Coding에서 Agent Workflow로
막히면 같은 프롬프트를 되풀이하지 말고 작업 조건을 바꿉니다
오류 원문
비밀정보를 가린 오류 원문을 전달합니다.
범위 축소
한 파일이나 한 기능으로 작업 범위를 줄입니다.
서비스 설계서로 복귀
서비스 설계서와 완료 기준으로 돌아가 확인합니다.
새 세션
그래도 대화가 흐려졌다면 새 세션에서 시작합니다.
3부 · 안전한 작업 환경
오늘은 네 가지 작업 도구를 준비합니다
01Node.js웹 서비스를 실행하는 환경
02Git변경을 기록·검토하고 비공개 온라인 저장소에 올리는 도구
03Codex프로젝트 안에서 함께 일할 코딩 에이전트
04Vercel만든 서비스를 웹에 공개하는 배포 환경
3부 · 안전한 작업 환경
설치하기 전에 세 가지만 확인합니다
- 운영체제와 터미널 · macOS인지 Windows인지, 어느 터미널을 열어야 하는지
- 설치 권한 · 이 노트북에 프로그램을 설치할 수 있는지
- 로그인 계정 · GitHub, OpenAI, Vercel 계정과 이메일에 접근할 수 있는지
3부 · 안전한 작업 환경
Git 저장소가 있어야
AI가 바꾼 전후를 확인하고 되돌릴 수 있습니다
01 · 준비
저장소를 만듭니다
일반 프로젝트 폴더에 변경 이력을 기록할 Git 저장소를 만듭니다.
02 · 검토
변경을 비교합니다
Codex가 어떤 파일의 무엇을 바꿨는지 작업 전 상태와 비교합니다.
03 · 복구
확인 뒤 커밋합니다
직접 실행해 확인한 상태를 커밋으로 남기고, 문제가 생기면 돌아옵니다.
저장소(repository)는 프로젝트 파일과 변경 이력을 함께 관리하는 폴더입니다.
3부 · 안전한 작업 환경
GitHub 계정을 준비하고
첫 커밋을 비공개로 올립니다
01 · 가입
개인 계정을 만듭니다
접근 가능한 이메일로 가입하고 무료 개인 계정으로 시작합니다.
02 · 확인
이메일을 확인합니다
GitHub가 보낸 메일의 확인 링크를 열어 이메일 주소 인증을 마칩니다.
03 · 첫 업로드
비공개로 게시합니다
GitHub Desktop에서 로컬 저장소를 열고 첫 커밋을 비공개 저장소로 올립니다.
내 폴더의 Git 커밋을 GitHub에 올려 보관합니다. Day 4에는 이미 올라간 저장소를 Vercel과 연결합니다.
3부 · 안전한 작업 환경
권한 범위와 되돌리는 방법을 먼저 정합니다
공개 금지
API 키·개인정보와 공개 권한이 없는 이미지·영상은 저장소에 올리지 않습니다.
승인
삭제, 전역 설치, 배포 전에 내용을 확인합니다.
되돌리기
작업 전후에 Git으로 복구 지점을 남깁니다.
검토
변경 내역과 실행 결과를 확인한 뒤 반영합니다.
3부 · 안전한 작업 환경
설치할 때는 당일 실행 안내서를 그대로 따릅니다
운영체제마다 경로와 명령이 다릅니다. 슬라이드를 옮겨 적지 말고, 같은 안내서에서 복사해 실행합니다.
01안내서 열기QR을 찍거나 아래 버튼을 누릅니다.
02명령 복사내 운영체제에 맞는 명령을 복사합니다.
03함께 확인막히면 반복하지 말고 진행자와 확인합니다.
복사 가능한 설치 안내서 열기 →
휴대전화 카메라로 스캔
creativeengineer-kimjungho.com/
teaching/agentic-ai/day1-install-runbook.html
QR과 버튼은 같은 안내서를 엽니다. 설치가 막히면 명령을 반복하지 말고 오류 화면을 그대로 보여 주세요.
3부 · 안전한 작업 환경
AI에게 안내서를 한 단계씩 풀어 달라고 합니다
코치의 규칙
설명은 한 번에 한 단계씩 듣습니다. 내가 확인한 뒤 실행하고 위험한 명령 앞에서는 멈춥니다.
이렇게 부탁하세요
“이 실행 안내서만 기준으로 설명해 줘. 나는 [macOS / Windows]를 쓰고 터미널이 처음이야. 한 번에 한 단계씩 안내하고, 실행 전에는 내 확인을 기다려 줘.”
3부 · 안전한 작업 환경
스킬은 AI가 반복해서 따를 작업 안내서입니다
프롬프트
지금 한 번 할 일을 부탁하는 문장입니다. 새 대화에서는 다시 설명해야 합니다.
AGENTS.md
이 프로젝트에서 계속 지킬 규칙입니다. Codex가 작업 전에 읽습니다.
스킬
기획, 작업 분할, 구현, 검토처럼 특정 일을 진행하는 순서와 참고 자료를 묶은 안내서입니다.
이번 수업에서는 스킬을 만들지 않습니다. Matt Pocock의 스킬 묶음을 설치하고 필요한 이름을 불러 씁니다.
3부 · 안전한 작업 환경
준비 상태에 따라 통과 경로가 달라집니다
01목표GitHub 비공개 저장소·Git·Codex·스킬·Vercel이 모두 준비된다
02최소 통과내 기기 또는 짝의 기기에서 Codex 응답을 한 번 본다
03설치가 남았다면실패 원인 한 줄과 Day 2 첫 해결 단계를 적는다
04스킬 확인.agents/skills가 생기고 $ask-matt가 응답한다
3부 · 안전한 작업 환경
Matt Pocock 스킬 전체를 프로젝트에 설치합니다
01
터미널 열기
진행자와 함께 프로젝트 폴더에서 엽니다.
02
설치 명령어 실행
아래 명령어를 복사해 붙여 넣습니다.
03
설치 확인
.agents/skills에 스킬 폴더가 생겼는지 봅니다.
04
Codex 다시 열기
프로젝트를 다시 열고 새 대화를 시작합니다.
02 · 붙여넣을 설치 명령어
npx skills@latest add mattpocock/skills --skill '*' --agent codex --copy --yes
3부 · 안전한 작업 환경
설치한 뒤 프로젝트별 설정을 한 번 진행합니다
1 · 설정 시작
Codex 새 대화에서 $setup-matt-pocock-skills를 입력합니다.
2 · 수업 방식 선택
서비스 설계서와 작업은 프로젝트 안의 문서로 관리합니다. 화면의 추천값을 읽고 진행자와 함께 결정합니다.
3 · 호출 확인
$ask-matt를 입력해 사용할 수 있는 스킬을 안내하는지 확인합니다.
스킬 이름 앞에는 $를 붙입니다. 설치나 설정이 멈췄다면 다음 장의 네 가지 정보를 준비합니다.
3부 · 안전한 작업 환경
설치나 설정이 멈췄다면
네 가지 정보를 준비합니다
01내 환경운영체제와 도구 버전
02실행한 명령복사한 원문
03오류 원문API 키, 토큰, 이메일, 개인 경로를 가린 전문
04기대와 실제무엇을 기대했고 실제로 무엇이 일어났는지
“다음 한 단계만 알려 줘”라고 요청한 뒤, 다음 장에서 내 진행 경로를 고릅니다.
3부 · 안전한 작업 환경
각자 다른 속도로 진행해도 됩니다
준비 완료
Codex와 $ask-matt 응답을 확인했다면 다음 설명을 기다립니다.
진행 중
설치나 설정에서 멈춘 단계를 안내서와 함께 이어 갑니다.
막힘
오류 보고 네 칸을 준비해 진행자를 부르고, 기다리는 동안 서비스 설계서 초안을 다듬습니다.
3부 · 안전한 작업 환경
설치가 끝나면 AI 작업 규칙을 준비합니다
설치 확인 → 작업 방식 → 프로젝트 규칙
이제부터는 Codex에 일을 맡기는 다섯 동작과 AGENTS.md에 남길 규칙을 준비합니다.
3부 · 안전한 작업 환경
Codex에는 다섯 동작으로 작업을 맡깁니다
01설명 받기(Explain)바꾸기 전에 먼저 이해하기
02계획 세우기(Plan)실행 전에 순서 확인하기
03범위를 정해 바꾸기(Change)한 번에 한 곳만 수정하기
04실행해 확인하기(Verify)내 화면에서 직접 확인하기
05변경점 검토하기(Review)무엇이 바뀌었는지 살펴보기
작업 루프는 일이 진행되는 순서이고, 다섯 동작은 각 단계에서 Codex에 요청하는 방식입니다.
3부 · 안전한 작업 환경
AGENTS.md에 프로젝트의 작업 규칙을 남깁니다
01목표무엇을 만들 것인가
02실행 명령어떻게 실행하고 확인할 것인가
03제한 범위어디는 건드리지 않을 것인가
04완료 기준무엇이 보이면 끝인가
AGENTS.md는 Codex가 작업 전에 자동으로 읽는 Markdown 안내 문서입니다. 앱·CLI·IDE에서 같은 프로젝트 규칙을 이어갑니다.
3부 · 안전한 작업 환경
네 가지 원칙으로 AI 코딩의 반복 실수를 줄입니다
1 · 먼저 생각하기
모호한 요구를 조용히 추측하지 않고, 가정과 선택지를 먼저 드러냅니다.
2 · 단순함 우선
언젠가 필요할 기능까지 만들지 않고, 지금 문제를 푸는 최소 코드만 작성합니다.
3 · 필요한 곳만 수정
버그 하나를 고치면서 주변 코드와 서식까지 바꾸는 일을 막습니다.
4 · 목표로 실행
“되게 해 줘” 대신 확인 가능한 완료 기준을 세우고 통과할 때까지 반복합니다.
복잡한 작업에서는 재작업을 줄이는 대신 조금 느려질 수 있습니다. 단순한 한 줄 수정에는 상황에 맞게 적용합니다.
3부 · 안전한 작업 환경
공통 행동 원칙과 내 프로젝트 규칙을 한 파일에 합칩니다
공통 행동 원칙
먼저 생각하기, 단순함 우선, 필요한 곳만 수정하기, 완료 기준으로 검증하기를 적습니다.
프로젝트 고유 규칙
폴더 구조, 실행 명령, 사용 기술, 건드리지 않을 범위와 완료 기준을 더합니다.
대화 방식
이 수업에서는 어려운 영어 용어를 쌓지 않고 구체적인 장면으로 설명하는 한국어 규칙도 더합니다.
Codex에서는 AGENTS.md, Claude Code에서는 CLAUDE.md에 넣습니다. 다음 장 QR에서 영문 원문 전체를 엽니다.
3부 · 안전한 작업 환경
QR로 원문을 열고 작업 규칙을 프로젝트에 넣으세요
01원문 열기
휴대전화로 오른쪽 QR을 스캔합니다.
02전체 복사
안내 페이지에서 ‘전체 원문 복사’를 누릅니다.
03파일에 붙여넣기
사용하는 코딩 도구의 프로젝트 안내 파일에 붙여 넣습니다.
Codex→AGENTS.md
Claude Code→CLAUDE.md
휴대전화 카메라로 스캔
복사 안내서 열기
creativeengineer-kimjungho.com/
teaching/agentic-ai/agent-rules.html
두 도구를 함께 사용한다면 같은 작업 규칙을 두 파일에 각각 넣습니다.
3부 · 안전한 작업 환경
기획부터 검토까지 이어지는 스킬 흐름을 사용합니다
01$grill-with-docs집중 질문으로 기획과 도메인 언어를 선명하게 만든다
02$to-spec확정한 대화와 기술 결정을 서비스 설계서로 남긴다
03$to-tickets서비스 설계서를 끝까지 작동하는 작은 작업으로 나눈다
04$implement작업 하나를 구현하고 실행 결과를 확인한다
05$code-review서비스 설계서와 실제 변경이 맞는지 검토한다
오류가 생기면 어느 단계에서든 $diagnosing-bugs로 재현하고 원인부터 확인합니다.
04
오후에는 아이디어를
서비스 설계서로 다듬습니다
초안 작성 → 집중 질문 → 결정 확인 → 수정·확정. 작업 중에는 멘토와 수시로 상의하며 서비스 설계서 한 장을 완성합니다.
4부 · 아이디어에서 서비스 설계서로
Day 1 오후에는
서비스 설계서 한 장을 완성합니다
01원재료 말하기내가 하고 싶은 것 · 사용자의 장면 · 중요한 말을 Codex에 먼저 설명한다
02집중 질문$grill-with-docs로 왜 · 누구 · 무슨 뜻 · 어디까지를 한 번에 하나씩 묻고 답한다
03언어와 결정도메인 언어와 다섯 가지 기획 결정을 같은 말로 정리한다
04학생 확인AI의 요약에서 추측과 오해를 고치고 내 결정이 맞는지 확인한다
05문서화와 기본 기술$to-spec으로 결정 내용을 남기고, 기본 기술 구성으로 가능한지 멘토와 확인한다
대화에서 확인한 결정은 $to-spec 문서와 $to-tickets 작업 목록으로 프로젝트 안에 남깁니다.
4부 · 아이디어에서 서비스 설계서로
막히거나 결정이 필요할 때마다 멘토와 상의합니다
1언제 부르나
서비스 설계서의 뜻이 흔들릴 때, 선택지를 고르기 어려울 때, 같은 오류를 반복해서 만났을 때 바로 부릅니다.
2무엇을 보여주나
만들려는 결과, 지금 화면, AI와 나눈 대화나 오류, 내가 고민하는 선택을 짧게 보여줍니다.
3무엇을 남기나
상담에서 정한 결정 한 줄, 바꾼 서비스 설계서나 할 일, 다음에 직접 확인할 결과를 기록합니다.
4부 · 아이디어에서 서비스 설계서로
누가 언제 무엇을 하려는지
한 문장으로 적습니다
약한 아이디어
“예술가를 위한 포트폴리오 플랫폼을 만들고 싶다.” 누가, 언제, 왜 쓰는지 보이지 않습니다.
구체적인 장면
“졸업전시장에서 마음에 드는 작품을 만난 관객 J는 작가 이름을 따로 검색하지 않고, QR 코드를 스캔해 다른 작품과 제작 과정을 바로 보고 싶다.” 누가 언제 왜 이 서비스를 여는지 보입니다.
4부 · 아이디어에서 서비스 설계서로
완료 기준은 직접 확인할 수 있어야 합니다
예시 · 연습 영상 공유 서비스
영상 목록이 보인다
학생 J의 연습 영상이 목록으로 보입니다.
세 개를 선택한다
보낼 영상 세 개를 골라 선택 상태를 확인합니다.
공유 링크가 생긴다
버튼을 누르면 선생님께 보낼 링크가 만들어집니다.
선생님이 확인한다
링크를 열면 선택한 영상 세 개만 보입니다.
다음 장에서는 이 완료 기준이 어느 화면과 행동에서 확인되는지 세 화면으로 이어 봅니다.
4부 · 아이디어에서 서비스 설계서로
서비스의 핵심 동작 흐름을 세 화면으로 확인합니다
예시 · 연습 영상 공유 서비스
처음 화면
오늘의 연습 영상0 / 3
▶연습 01
▶연습 02
▶연습 03
▶연습 04
여러 연습 영상이 보이고, 학생 J가 보낼 영상을 고르려 합니다.
핵심 행동
영상 선택3 / 3
✓연습 01
✓연습 02
✓연습 03
▶연습 04
공유 링크 만들기
영상 세 개를 선택하고 ‘공유 링크 만들기’를 누릅니다.
완료 화면
선생님이 링크를 열어 선택된 영상 세 개를 확인합니다.
디자인 시안이 아닙니다. AI가 화면과 기능을 추측하지 않도록 핵심 동작 순서를 보여주는 화면 메모입니다.
4부 · 아이디어에서 서비스 설계서로
집중 질문으로 기획 내용을 하나씩 구체화합니다
01하고 싶은 것어떤 경험이나 변화를 만들고 싶은가
02사용자의 장면누가 · 언제 · 무엇이 답답해서 사용하는가
03도메인 언어핵심 단어를 어떤 뜻으로 함께 사용할 것인가
04범위이번에 만들 것과 만들지 않을 것은 무엇인가
05완료 기준어떤 화면과 동작을 직접 확인하면 끝인가
Codex에서 $grill-with-docs를 실행합니다. 질문에 하나씩 답하고, 마지막에 도메인 언어와 결정이 내 뜻과 맞는지 확인합니다.
4부 · 아이디어에서 서비스 설계서로
서비스마다 필요한 말과 그 뜻이 다릅니다
$grill-with-docs로 질문을 주고받으며, 우리 서비스에서 같은 뜻으로 사용할 말을 정합니다.
01애매한 말 찾기
‘작품’, ‘저장’, ‘완료’가 정확히 무엇인지 살펴봅니다.
02집중 질문 받기
AI가 비슷한 말의 차이와 빠진 상황을 질문합니다.
03한 줄로 뜻 정하기
사용자가 우리 서비스에서의 뜻을 결정합니다.
04기획 문서에 기록하기
이후 사람과 AI가 같은 뜻으로 사용합니다.
도메인 언어는 외워서 적용하는 용어 목록이 아니라, 집중 질문을 거쳐 우리 서비스 안에서 합의한 말입니다.
4부 · 아이디어에서 서비스 설계서로
다섯 가지 결정을 확인한 뒤
서비스 설계서를 씁니다
1 · 결정 요약
AI가 다섯 가지 결정과 도메인 언어 목록을 정리합니다. 추측한 부분은 따로 표시합니다.
2 · 학생 수정
내 의도와 다른 해석, 모호한 단어, 너무 넓어진 범위를 직접 고칩니다.
3 · 작성 승인
“이 결정이 맞습니다”라고 확인한 뒤에만 AI에게 서비스 설계서 작성을 요청합니다.
복사해서 쓰세요 · “결정을 다섯 항목과 도메인 언어 목록으로 요약해 줘. 추측은 표시하고, 내가 확인하기 전에는 서비스 설계서를 쓰지 마.”
4부 · 아이디어에서 서비스 설계서로
확인한 결정을 여섯 칸의
서비스 설계서로 옮깁니다
의도(Intent)
무엇을 표현하거나 해결하려는가
사용자와 순간(Persona & Moment)
누가, 언제, 어떤 답답함 속에서 쓰는가
핵심 장면(Core Scenario)
사용한 뒤 무엇이 좋아지는지 보여주는 장면 하나
핵심 흐름(Core Flow)
스토리보드 세 컷과 같은 순서로, 시작에서 결과까지
제약과 제외 범위(Constraints & Non-goals)
이번 4일 동안 하지 않을 것은 무엇인가
완료 기준(Done Criteria)
어떤 화면과 동작이 보이면 완료인가
서비스 설계서 맨 위에는 도메인 언어 3–5개와 한 줄 뜻을 함께 적습니다.
4부 · 아이디어에서 서비스 설계서로
공통 기술로 시작하고
꼭 필요한 기술만 더합니다
01기본 구성React·TypeScript 기본 템플릿과 Vercel 배포를 공통 출발점으로 삼는다
02서비스 설계서 대조핵심 흐름, 저장할 정보와 외부 기능이 기본 구성으로 가능한지 확인한다
03필요한 것만 비교부족한 기능이 있을 때만 추가 기술 두 가지의 쉬운 점과 어려운 점을 비교한다
04예외 결정추가해야 하는 이유와 4일 안에 확인할 범위를 멘토와 함께 정한다
기술을 고르는 시간이 아니라, 서비스 설계서를 구현하는 데 기본 구성 외에 무엇이 더 필요한지 확인하는 시간입니다.
4부 · 아이디어에서 서비스 설계서로
이번 수업의 공통 웹 기반은
React·TypeScript·Vercel입니다
01 · 화면과 반응
React (React.js)
버튼, 입력창, 목록 같은 화면 조각을 만들고 사용자의 행동에 따라 화면이 바뀌게 합니다.
02 · 데이터와 약속
TypeScript
사용자, 영상, 링크 같은 데이터의 모양을 정하고 코드의 실수를 실행 전에 찾도록 돕습니다.
03 · 배포와 주소
Vercel
내 컴퓨터의 프로젝트를 인터넷에 배포하고 다른 사람이 열 수 있는 주소를 만듭니다.
이 세 가지는 공통 기반입니다. 핵심 기능에 필요한 모델·데이터·외부 기능은 서비스 설계서에 따라 더합니다. Next.js는 필요할 때만 선택합니다.
4부 · 아이디어에서 서비스 설계서로
서비스는 웹 기반·핵심 기능·시각 재료로 구성됩니다
01 · 공통 기반
웹 서비스
화면, 입력, 결과 표시, 저장과 배포처럼 사용자가 서비스를 이용할 기본 구조를 만듭니다.
02 · 특별한 결과
핵심 엔진
문장 이해, 이미지 생성, 분석과 예측처럼 이 서비스만의 결과를 만드는 기술입니다.
03 · 보이는 경험
시각 재료
서비스의 의도와 분위기, 사용 장면을 전달하는 이미지와 영상을 준비합니다.
Codex는 구현과 연결을 돕습니다. 필요한 모델·데이터·시각 재료는 서비스 설계서에서 따로 정하고 준비합니다.
4부 · 아이디어에서 서비스 설계서로
서비스의 핵심 동사를 기준으로 필요한 기술을 고릅니다
01기록·공유한다화면과 저장소를 연결해 Codex로 직접 구현한다
02문장을 이해·생성한다기존 언어 모델의 외부 기능을 연결한다
03이미지를 생성한다기존 이미지 생성 모델의 외부 기능을 연결한다
04상황을 예측한다과거 데이터, 예측 방법과 결과 확인 기준부터 준비한다
이번 4일 동안 새 AI 모델을 처음부터 학습하는 것은 기본 범위가 아닙니다. 이미 준비된 핵심 기술을 연결해 한 가지 동작을 끝까지 확인합니다.
4부 · 아이디어에서 서비스 설계서로
시각 재료는 미리 정하되,
핵심 흐름이 작동한 뒤 다듬습니다
01 · 역할과 구도
의도를 먼저 정합니다
사용자가 무엇을 느끼고 이해해야 하는지, 어느 화면에서 무엇을 보여줄지 정합니다.
02 · 이미지와 영상
생성 도구로 만듭니다
대상, 분위기, 구도와 화면 비율을 전달하고 필요하면 노트북용과 휴대폰용을 따로 만듭니다.
03 · 여러 화면 크기
적용하고 확인합니다
중요한 부분이 잘리지 않는지, 글자가 잘 보이는지, 파일 때문에 화면이 느려지지 않는지 확인합니다.
Day 1에는 역할과 필요한 재료를 정합니다. 배치·크기·반응형 디테일은 핵심 흐름이 작동한 뒤 다듬습니다.
4부 · 아이디어에서 서비스 설계서로
서비스 설계서를 작은 할 일로 나누고
Day 2 첫 작업을 고릅니다
01 · INPUT
서비스 설계서 한 장
확인한 결정과 완료 기준
→
→
03 · SELECT
Day 2 첫 작업 하나
처음부터 결과 확인까지 끝낼 수 있는 범위
MOVIOLA · 첫 작업 예시
사용자가 끝까지 수행하는 하나의 흐름
시작
Cut 불러오기
→
핵심 행동
앵글 수정하기
→
결과 확인
저장 결과 확인하기
서로 떨어진 기술 작업 세 개가 아니라, 사용자가 시작해서 저장된 결과를 확인하는 하나의 작은 작업입니다.
Day 1에서 Day 2로 · MVP(최소 기능 제품)
서비스 설계서를 마쳤다면
먼저 MVP 완성에 집중합니다
MVP · 01
끝까지 작동하는가
사용자가 처음 화면에서 핵심 행동을 거쳐 결과 화면까지 도달합니다.
MVP · 02
내 의도와 맞는가
화면과 동작이 서비스 설계서와 완료 기준에 적은 결과와 맞는지 직접 확인합니다.
NEXT · 03
쓰기 좋고 보기 좋은가
설명 없이 쓸 수 있도록 흐름을 고치고 글자·간격·색·이미지를 다듬습니다.
못생겨도 된다는 뜻이 아닙니다. 기능과 의도를 먼저 확인한 뒤 사용 경험과 시각적 완성도를 높인다는 뜻입니다.
내일부터 이렇게 진행합니다
Day 2는 핵심 흐름을
처음부터 끝까지 작동시킵니다
01문서 열기서비스 설계서, $to-tickets 작업 목록과 Day 1에 고른 첫 작업을 확인한다
02프로젝트 골격React·TypeScript 기본 템플릿을 만들고 기본 화면을 로컬에서 연다
03구현 기준점생성된 파일과 실행 결과를 검토해 커밋하고 GitHub에 올린다
04$implement첫 작업 하나를 구현하고 직접 실행·검토한 뒤 다음 작업으로 간다
05마무리핵심 흐름을 확인한 변경을 커밋·업로드하고 Day 3 첫 검사 항목을 남긴다
완료 기준 · 핵심 흐름이 내 노트북에서 끝까지 작동하고, 결과가 서비스 설계서에 적은 의도와 맞는다.
내일부터 이렇게 진행합니다
Day 3는 다른 사람이 설명 없이
쓸 수 있도록 다듬습니다
01검사표 만들기서비스 설계서의 완료 기준을 직접 눌러 볼 순서로 바꾼다
02동료 사용동료가 조작하고 제작자는 설명하지 않은 채 막히는 지점을 관찰한다
03사실 기록예상 결과 · 실제 결과 · 다시 만드는 순서를 적는다
04$diagnosing-bugs오류를 다시 만들고 원인을 확인한 뒤 가장 작은 수정 하나만 적용한다
05$code-review전체 흐름과 변경을 검토하고 검사에 통과한 상태를 커밋한다
완료 기준 · 다른 사람이 설명 없이 핵심 흐름을 끝까지 완료하고, 막힌 지점이 수정되어 있다.
내일부터 이렇게 진행합니다
재기획은 실패가 아닙니다. 범위를 다시 고르는 일입니다
DAY 1–3 · 방향 조정 가능
5분 확인 대화 뒤 현재 결과를 서비스 설계서와 비교합니다.
01계속하기서비스 설계서와 결과가 맞으면 다음 작은 작업으로 갑니다.
02줄이기완료 기준에 꼭 필요한 핵심 흐름만 남깁니다.
03바꾸기사용자 장면이나 완료 기준을 다시 고릅니다.
DAY 4 · 범위 고정
새 기능은
멈춥니다
방향을 바꾸지 않고 디테일·배포·리허설·시연에 집중합니다.
방향을 바꿀 수 있는 마지막 시점은 Day 3입니다. Day 4에는 시연을 완성합니다.
내일부터 이렇게 진행합니다
Day 4는 기능 추가를 멈추고
화면·배포·시연을 완성합니다
01범위 고정새 기능은 만들지 않고 시연을 막는 문제만 고친다
02화면 다듬기글자·간격·색·이미지와 휴대전화 화면을 확인한다
03배포 확인최종 커밋을 올리고 Runbook을 따라 GitHub 저장소를 Vercel과 연결한다
04시연 준비핵심 흐름을 구성하고 인터넷 오류에 대비한 화면도 준비한다
05최종 리허설동료 앞에서 시간을 재고 질문에 내 말로 답한다
완료 기준 · 다듬은 화면, 공개 주소, 끝까지 이어지는 시연과 대체 화면이 준비되어 있다. Day 4 배포 Runbook 열기
4부 · 아이디어에서 서비스 설계서로
보완할 칸 하나와 내일의 첫 작업을 적습니다
01약한 칸작업 중 상담에서 확인한 칸 번호 하나 (1–6)
02첫 30분내일 아침 처음 할 일 한 줄
03GitHub 확인AGENTS.md·서비스 설계서·작업 목록을 커밋·업로드하고 남은 변경이 없는지 확인한다
04Day 4 질문“Day 1의 의도가 지금 화면에 보이는가?”
Codex 대화를 다시 읽는 대신, 내가 확인해 프로젝트에 남긴 문서와 첫 작업에서 이어갑니다.
프로그래밍은 몰라도 AI는 사용합니다만
내일부터 오늘 쓴 서비스 설계서로
작품을 만들어봅시다
Day 2는 기본 프로젝트 골격을 만들고 실행한 뒤 첫 작업인 ‘입력 → 저장 → 결과 확인’으로 넘어갑니다. 나가기 전 확인: AGENTS.md, 서비스 설계서와 작은 할 일 목록, 첫 작업, 커밋과 GitHub 업로드.
Day 2 · Implement·Day 3 · Review·Day 4 · Demo
부록 · 참고 자료
도구가 달라도 프로젝트 안내 문서의 역할은 같습니다
Codex · AGENTS.md
Codex 앱·CLI·IDE가 작업 전에 읽습니다. 프로젝트의 구조, 실행 명령, 작업 규칙과 완료 기준을 공유합니다.
Claude Code · CLAUDE.md
Claude Code가 세션을 시작할 때 읽습니다. 프로젝트의 구조, 명령, 코딩 규칙과 작업 방식을 공유합니다.
역할은 같습니다. 파일 이름은 도구마다 다릅니다. 두 문서는 작업을 안내하며, 보안 규칙을 강제하는 장치는 아닙니다.
부록 · 참고 자료
카파시의 관찰을 커뮤니티가 작업 규칙으로 정리했습니다
출발점
안드레이 카파시는 LLM이 추측하고, 일을 키우고, 관계없는 코드를 바꾸고, 확인 없이 끝내는 문제를 지적했습니다.
정리된 자료
커뮤니티가 이 관찰을 생각하기 · 단순하게 만들기 · 필요한 곳만 바꾸기 · 목표로 검증하기라는 네 원칙으로 정리했습니다.
강사의 추가 규칙
한국어 답변을 쉽게 쓰게 하는 Plain Korean Responses는 이 수업을 위해 별도로 더한 다섯 번째 원칙입니다.
정확한 표현 · “카파시가 직접 쓴 문서”가 아니라 “카파시의 관찰에서 파생된 코딩 에이전트 지침”입니다.
상담 방식 · 한 번 길게 검사받지 않고, 작업 중 짧게 여러 번 확인합니다.
멘토는 답을 대신 정하지 않습니다. 학생이 다음 행동을 고를 수 있도록 함께 질문하고 확인합니다.