WEEK 09 / PERIOD 01 / AI CO-CREATION

AI와 함께
데이터 포스터를 만듭니다

우리 동네 문화공간 데이터 포스터 한 장을 AI와 함께 만듭니다. Grilling으로 방향을 정하고, Spec과 Ticket을 거쳐 실제 파일을 열고 수정하는 과정을 따라갑니다.

1교시 공통 강의 · 2·3교시 개인 프로젝트

나의 기획이 첫 실행이 되는 과정
  1. 01의도

    내가 만들고 싶은 경험

  2. 02질문과 제안

    AI와 함께 선택할 방향

  3. 03설계와 작은 실행

    작업 기준 → 첫 결과 → 수정

  4. 04확인과 다음 작업

    실행 결과로 판단하기

AI를 공동창작자로 대합니다

질문·제안·선택·검토에 함께 참여하며 작업을 시작합니다.

오늘은 AI를 공동창작자로 생각하면서 작업해 보겠습니다.

“AI에게 주도권을 넘겨주지 마라”를 “AI는 내가 시킨 일만 하는 어시스턴트다”로 받아들이면, 대화는 오히려 “이거 해줘”, “저거 만들어줘”에 머무르기 쉽습니다. 내가 생각한 답을 대신 만드는 데서 끝나기 때문입니다.

공동창작에서는 내 의도를 설명하고 AI가 질문하거나 다른 가능성을 제안하도록 합니다. 그 제안을 검토하면서 내 생각도 바뀔 수 있습니다. 무엇을 만들고 왜 그 방향을 택했는지 판단에 계속 참여할 때 주도권이 유지됩니다.

작업을 요청하는 말 자체가 문제는 아닙니다. 요청 뒤에 어떤 제안을 검토하고, 무엇을 선택하고, 실제로 무엇을 확인하는지가 중요합니다. 구현 방법을 모두 미리 정해 줄 필요도 없습니다. AI의 제안을 실행 결과와 함께 이해하고 채택하거나 수정합니다.

AI를 비유한 제도 장치가 표현 대안을 펼쳐 놓고, 사람이 같은 작업판에서 도형을 비교하며 배치를 수정하는 모습.
한 작업을 함께 바꾸는 공동창작AI가 제안한 가능성을 비교하고 내 의도와 자료를 대조하면서, 같은 결과를 함께 수정합니다.AI 생성 개념 이미지 · 이미지를 누르면 원본을 크게 볼 수 있습니다.
공동창작의 대화와 실행
  1. 의도 공유내가 만들고 싶은 경험과 실제 자료
  2. 질문과 제안AI와 빠진 결정·대안 살피기
  3. 선택과 합의이유를 비교하고 작업 기준 정하기
  4. 실행과 검토작은 결과를 직접 보고 수정하기

검토에서 새로 발견한 점을 다음 질문과 선택에 반영하며 이 과정을 반복합니다.

공동창작에서 함께 할 일
장면AI와 나눌 대화내가 참여할 판단
기획 시작어떤 사람에게 무엇을 보여주려는지 질문하고 대안을 제안한다.관객과 의도에 답하고 방향을 고른다.
결과 제작작은 구현 방법과 예상 결과를 설명한다.첫 범위와 확인 기준을 합의한다.
수정현재 결과의 문제와 수정안을 근거와 함께 제안한다.실제 결과를 보고 반영할 것과 이유를 정한다.
오늘 배우는 작업 습관

맥락을 공유하고, 함께 선택하고, 실행 결과로 검토하고, 다음 판단의 근거를 남깁니다.

오늘 만들 것 · 우리 동네 문화공간 데이터 포스터

제목·그래프·짧은 해석·출처가 담긴 한 장을 실제 파일로 만듭니다.

1교시에는 “우리 동네 문화공간 데이터 포스터 한 장”을 만드는 과정을 시연합니다. 교수자는 실제 자료로 AI와 질문하고, 학생들과 표현 방향과 확인 기준을 비교합니다. 함께 고른 방향을 코드로 실행해 브라우저에서 여는 포스터까지 연결합니다.

아래는 마포구 사례에서 선택을 마친 뒤의 완성 예시입니다. 제목은 질문을 드러내고, 그래프는 종류별 기록 수를 보여주며, 짧은 해석과 출처는 무엇을 읽을 수 있는 자료인지 설명합니다.

기록 수가 많은 순으로 수정한 포스터. 마포구 등록 기록 55건: 미술관/갤러리 21, 공연장 10, 기타 8, 박물관/기념관 8, 도서관 5, 문화원 2, 문화예술회관 1.
완성 예시 · 마포구 문화공간 데이터 포스터실제 보관본을 코드로 집계해 만든 결과입니다. 누르면 별도 화면에서 크게 볼 수 있습니다.

실행 환경은 Codex 또는 Claude Code와 로컬 Python/Jupyter입니다. AI에게 poster.ipynb 작성과 실제 실행을 요청하고, 출력이 담긴 노트북과 포스터를 직접 확인합니다. 먼저 실행 환경을 확인하므로 앱에 파일을 여는 것만으로 실행된다고 가정하지 않습니다. 한 사례를 처음부터 따라갈 요청문도 제공합니다.

오늘의 제작 흐름
  1. Grilling누구에게 어떤 차이를 보여줄까?
  2. Spec·Ticket포스터의 기준과 작업 순서 정하기
  3. 첫 포스터실제로 실행하고 파일 열기
  4. 수정·검토정렬을 바꾸고 원본·수치 대조

시연 시작 자료를 압축 해제하고 나온 폴더를 AI 작업 도구에서 엽니다. 첫 기획·원본 자료·따라갈 요청문이 들어 있습니다. 이 폴더에서 다음 절의 스킬을 준비하고 대화를 시작합니다. 완성 예제에는 합의 문서·노트북·실행 도구·포스터가 들어 있어 결과 대조나 시연 복구에 쓸 수 있습니다.

교안의 대화는 수업용으로 구성한 예시이며, 특정 AI의 실제 응답 로그가 아닙니다. 개념 일러스트는 AI로 생성했고, 포스터의 그래프와 수치는 실제 보관본을 코드로 집계했습니다. 실제 대화에서는 답에 따라 다음 질문을 조정합니다.

학생은 표현 선택과 검토에 참여하고 자신의 기획으로도 Grilling 한 라운드를 진행합니다. 2·3교시에는 8주차 기획서와 현재 진도에 맞춰 개인 작업을 이어갑니다.

1교시가 끝나면 남는 것

열어 볼 수 있는 포스터 파일, 합의한 Spec과 Ticket, 수정 전후의 차이와 검토 기록입니다.

Matt Pocock 스킬을 추가합니다

설치할 프로젝트와 에이전트를 정하고, 스킬 확인과 기록 위치 설정을 마칩니다.

Skill은 AI가 작업할 때 참고하는 절차와 기준을 담은 문서입니다. Matt Pocock의 스킬 모음을 프로젝트에 추가하고, 질문·합의·기록·작업 분할에 사용합니다. 설치한 뒤에도 각 단계의 제안과 결과를 직접 읽으며 작업합니다.

이 수업에서 연결할 스킬
스킬 이름사용하는 장면
grilling기획의 빈 결정을 질문하고, 추천안에 답하며 방향을 좁힐 때
to-spec합의한 의도·범위·확인 기준을 작업 기준 문서로 남길 때
to-tickets확인한 Spec을 순서와 완료 기준이 있는 작은 작업으로 나눌 때
setup-matt-pocock-skills프로젝트에서 문서와 작업 기록을 어디에 둘지 처음 설정할 때

1. 내 프로젝트에서 터미널을 엽니다

기획서와 자료를 모아 둔 프로젝트 폴더를 에디터나 AI 작업 도구에서 엽니다. 그 폴더의 터미널에 아래 명령을 입력합니다. 터미널 명령과 AI 대화 요청은 입력 위치가 다릅니다. 뒤의 “AI와 나눌 대화” 블록은 대화창에 붙여 넣습니다.

Skills CLI를 실행하려면 Node.js 22.20 이상이 필요합니다. 먼저 버전을 확인합니다. 명령을 찾지 못하거나 버전이 낮다면 Node.js 공식 다운로드에서 요구 버전을 충족하는 버전을 설치하고 터미널을 다시 엽니다.

터미널 · Node.js 확인
node --version

2. Matt Pocock 스킬 모음을 추가합니다

아래는 현재 프로젝트의 Codex에 스킬 파일을 추가하는 예시입니다. 스킬 사이에서 참조하는 절차도 함께 사용할 수 있도록 모음 전체를 설치하고, 수업에서는 위의 스킬부터 사용합니다. 이미 플러그인으로 같은 스킬을 사용하고 있다면 설치 확인 단계로 이동합니다.

터미널 · Matt Pocock 스킬 모음 설치
npx skills@latest add mattpocock/skills --skill "*" -a codex --copy

--skill "*"는 모음의 모든 스킬, -a codex는 설치 대상, --copy는 파일을 복사하는 방식입니다. 전역 옵션을 쓰지 않았으므로 현재 프로젝트에 설치합니다. 설치 도구가 확인을 요청하면 대상과 경로를 읽고 진행합니다. 다른 에이전트는 -a codex를 빼고 안내에서 사용하는 도구를 고릅니다. 설치 옵션 문서에서 범위와 명령을 확인할 수 있습니다.

3. 설치 목록과 AI의 접근을 확인합니다

터미널 · 설치된 스킬 확인
npx skills@latest list -a codex

다른 에이전트를 골랐다면 이 명령에서도 -a codex를 빼거나 대상을 바꿉니다. 목록에서 위의 스킬 이름을 확인한 뒤 같은 프로젝트의 새 AI 대화를 엽니다. 플러그인으로 설치한 경우에는 해당 도구의 플러그인·스킬 목록을 확인합니다.

AI와 나눌 대화 · 설치된 스킬 읽기
이 프로젝트에서 사용할 수 있는 Matt Pocock 스킬을 확인해줘.
grilling, to-spec, to-tickets, setup-matt-pocock-skills의
실제 스킬 문서를 읽을 수 있는지와 각 역할을 짧게 알려줘.
발견하지 못한 것은 사용 가능하다고 가정하지 말고 표시해줘.

설치했는데 스킬을 찾지 못한다면?

설치 명령을 실행한 프로젝트와 AI가 연 프로젝트가 같은지, 설치 대상이 실제 사용하는 에이전트인지 확인합니다. 설치 목록과 실제 스킬 파일 경로를 보여 주고 다시 확인합니다. 이름만 알고 있다고 실제 문서를 읽은 것으로 처리하지 않습니다.

4. Spec과 Ticket의 기록 위치를 정합니다

새 프로젝트에서는 setup-matt-pocock-skills로 기록 방식을 설정합니다. 이 수업의 예시는 프로젝트 안의 로컬 Markdown 파일로 Spec과 Ticket을 관리합니다. 기존 설정이 있다면 현재 위치를 확인하고 이어갑니다.

AI와 나눌 대화 · 프로젝트의 기록 방식 설정
setup-matt-pocock-skills 스킬을 사용해 이 프로젝트의 기록 방식을 설정하자.
이 수업의 Spec과 Ticket은 프로젝트 안의 로컬 Markdown 파일로 관리할게.
기존 설정이 있으면 먼저 읽고, 현재 파일을 보존하면서 필요한 설정을 제안해줘.
새 프로젝트이고 지침 파일이 없다면 AGENTS.md를 사용하자.
기록을 저장할 폴더와 생성·수정할 파일을 먼저 보여줘. 내용을 확인하고 적용할게.

AI가 제안한 기록 폴더와 설정 초안을 읽고 적용합니다. 포스터 시연의 새 폴더에서는 프로젝트 최상위의 spec.md와 tickets.md에 기록하기로 정합니다. 자신의 기존 프로젝트는 현재 기록 위치를 확인하고 이어갑니다. 설정 파일을 열어 실제 위치가 반영됐는지 확인합니다. 다음에 to-spec과 to-tickets를 사용할 때도 같은 위치를 사용합니다.

준비가 되면

내 기획과 자료를 공유하고 Grilling을 시작합니다. 질문에 답하고 합의한 뒤에 to-spec과 to-tickets를 차례로 사용합니다.

1 · 내 프로젝트의 맥락을 공유합니다

의도·관객·실제 자료·현재 상태를 함께 전달합니다.

AI와 작업을 시작할 때는 기획서만 던져 주기보다 지금 함께 결정할 일을 설명합니다. 만들고 싶은 경험, 관객, 확보한 자료, 현재 결과를 함께 공유하면 대화가 실제 작업으로 이어집니다.

수집할 예정인 자료와 이미 확보한 자료는 구분합니다. 자료가 없다면 그 상태에서 수집 범위를 정하고, 구현 중이라면 현재 결과를 보여주며 다음 문제를 검토합니다. 이미 해 둔 결정을 설명해야 같은 논의를 반복하지 않습니다.

교수자 사례의 출발점
공유할 맥락예시
아직 막연한 관심마포구의 문화공간을 보여주는 포스터 한 장을 만들고 싶다. 누구에게 무엇을 보여줄지는 더 정해야 한다.
실제 자료시작 자료의 data/ 폴더에 서울시 문화공간 정보의 원본과 출처 문서가 있다.
현재 상태brief.md에 첫 기획을 적었다. 포스터의 관객·표현은 아직 정하지 않았다.
함께 결정할 일어떤 질문을 먼저 다룰지, 어떤 표현으로 작게 시작할지.
AI와 나눌 대화 · 기획과 현재 상태 공유
내 기획은 [누구에게 어떤 내용이나 경험을 전달할지]야.
현재 자료는 [실제 파일과 출처], 진행 상태는 [지금까지 만든 것]이야.
기획서와 자료를 함께 보고 내가 만들려는 경험을 네 말로 정리해줘.
확인할 수 있는 사실과 아직 정하지 않은 내용을 구분하자.
빠진 결정에는 질문과 대안을 제안해줘. 내 의도와 비교하며 함께 정할게.

AI가 내 기획을 다르게 이해했다면?

AI가 정리한 의도부터 고칩니다. “방문자를 위한 추천 순위보다 공간의 종류 차이를 보여주고 싶어”처럼 어긋난 지점을 설명합니다. 방향을 맞춘 뒤 구현 요청으로 넘어갑니다.

기억할 기준

AI가 기획을 어떻게 이해했는지 먼저 읽고, 첫 결정에 필요한 맥락을 보충합니다.

2 · Grilling을 시작합니다

기획과 자료를 준비하고, 질문과 추천안을 받는 첫 대화를 엽니다.

Grilling은 기획의 빈 결정을 질문으로 찾아 함께 정하는 과정입니다. 학생은 자신의 의도와 선택 이유를 답하고, AI는 추천과 대안을 제시합니다. 지금 답할 수 있는 질문들을 받고 답하는 한 묶음을 라운드라고 부릅니다.

Matt Pocock의 Grilling 스킬은 답에 따라 다음 질문을 다시 구성합니다. 예를 들어 관객에게 수량을 비교하게 할지, 위치를 찾게 할지 정하기 전에 막대의 색과 지도의 확대 수준을 모두 묻지 않습니다. 먼저 목적을 고르면 그 선택에 필요한 질문으로 이어갑니다.

먼저 같은 기획과 자료를 엽니다

  1. 자신의 프로젝트를 열고 8주차 기획서와 현재 자료를 AI가 읽을 수 있게 공유합니다. 자료가 없으면 “아직 없음”이라고 적습니다.
  2. 아래 시작 요청문의 대괄호를 내 내용으로 바꿉니다. 처음부터 완성된 기획일 필요는 없습니다.
  3. 설치된 grilling 스킬을 사용하도록 요청합니다. 스킬을 실제로 읽었는지와 공유한 파일에 접근했는지 확인합니다.
  4. 질문이 오면 번호에 맞춰 답합니다. 답하기 전에 구현부터 시작했다면 “지금은 기획을 검토하는 단계야. 빠진 결정과 추천안을 먼저 보여줘”라고 되돌립니다.
AI와 나눌 대화 · Grilling 시작 요청
grilling 스킬을 사용해 내 데이터 시각화 기획을 함께 검토하자.
기획은 [내가 만들고 싶은 것], 자료는 [실제 파일·출처 또는 아직 없음],
현재 상태는 [기획 / 자료 수집 / 구현 중]이야.
먼저 읽을 수 있는 자료를 확인하고 사실과 아직 모르는 것을 구분해줘.
지금 답할 수 있는 질문들을 한 라운드로 묶어 번호를 붙이고,
각 질문에 추천안과 이유를 함께 제시해줘. 내 답을 받은 뒤 다음 라운드로 가자.
앞선 선택에 따라 달라질 질문은 그 선택이 정해진 다음에 물어줘.
합의한 내용과 남은 결정을 갱신하고, 내가 최종 요약을 확인하면 Spec으로 정리하자.
스킬을 읽을 수 없다면 그 상태부터 알려줘.

스킬을 찾지 못했다면 Matt Pocock 스킬 추가와 확인으로 돌아갑니다. 스킬을 지원하지 않는 채팅 도구에서는 첫 문장을 “아래 절차로 내 기획을 검토하자”로 바꾸어 대화 연습을 합니다. 뒤의 Spec·Ticket 요청도 스킬 이름을 빼고 절차를 설명해 사용할 수 있습니다.

첫 응답에서 확인할 것

AI가 읽은 자료, 번호가 붙은 질문, 각 질문의 추천안과 이유가 보여야 합니다. 읽을 수 있는 파일의 사실은 AI가 먼저 확인하고, 내 의도와 선택에 관한 질문에 내가 답합니다.

질문과 답변을 라운드로 이어갑니다

내 답이 다음 질문을 어떻게 바꾸는지 하나의 사례로 따라갑니다.

문화공간이라는 관심이 지도와 수량 비교로 갈라진다. 학생이 수량 비교를 고르자 막대와 반복 도형 중 표현을 고르는 다음 질문으로 이어진다.
내 답이 다음 질문을 바꿉니다위치를 찾게 할지, 수량을 비교하게 할지 먼저 답합니다. 수량 비교를 선택하면 막대와 반복 도형처럼 그 목적에 맞는 표현을 묻습니다.AI 생성 개념 이미지 · 이미지를 누르면 원본을 크게 볼 수 있습니다.
답에 따라 갈라지는 다음 질문
지금 함께 정할 것관객이 무엇을 알게 할까요?
  • “어디에 있는지 찾게 할래.”자료 확인 · 좌표가 있고 유효한가?다음 질문개별 공간을 찾게 할까요,
    전체 분포를 보게 할까요?
  • “종류별 수량을 비교하게 할래.”자료 확인 · 종류별 기록 수를 셀 수 있는가?다음 질문막대 길이로 비교할까요,
    도형을 반복해 보여줄까요?

AI는 각 질문에 추천안과 이유를 제시합니다. 내 답을 받은 뒤 필요한 다음 질문을 이어가고, 자료가 부족하면 확인부터 진행합니다.

다음은 수업용으로 구성한 대화 예시입니다. 교수자는 AI 역할과 학생 역할을 번갈아 읽으면서, 학생의 답 뒤에 무엇이 결정됐는지 짚습니다. 세 라운드는 이 사례의 구성일 뿐, 항상 세 번 질문하면 끝나는 규칙은 아닙니다.

학생의 출발 문장: “마포구의 문화공간을 보여주는 포스터 한 장을 만들고 싶어. 관객과 표현은 아직 못 정했어. 첫 결과는 내 노트북의 브라우저에서 확인할 거야. brief.md와 data/의 실제 자료부터 읽고 질문해줘.”

AI가 먼저 확인한 사실: 수업 보관본에는 시설명·지역·종류 등이 있고 마포구 기록은 55건이다. 방문객 수나 만족도는 없다. 여기서 55라는 숫자는 학생에게 추측하게 할 질문이 아니라 실제 파일에서 확인할 내용이다.

라운드 1 · 누구에게 무엇을 보여줄까?

AI · Q1: “마포구의 문화공간을 처음 접하는 사람에게, 어떤 종류가 얼마나 등록돼 있는지 보여주는 것을 첫 목표로 삼을까요? 등록 목록으로 확인할 수 있는 차이라 이 방향을 추천합니다. 위치를 찾게 하거나 공간의 분위기를 느끼게 하는 방향도 가능합니다.”

AI · Q2: “자료 범위는 현재 확보한 보관본의 마포구 기록으로 한정할까요? 다른 지역까지 넓히면 비교 범위를 다시 정해야 하므로, 우선 한 지역을 추천합니다.”

학생의 답: “Q1은 처음 접하는 사람이라는 대상은 좋아. 다만 정확한 비교보다 예쁘고 흥미롭게 보였으면 좋겠어. Q2는 마포구로 한정하자. 내가 관심 있는 지역부터 살펴보고 싶어.”

라운드 뒤 기록: 관객과 지역은 정해졌다. ‘흥미롭다’가 어떤 경험인지 아직 불명확하므로, 표현을 확정하기 전에 더 묻는다.

라운드 2 · 모호한 답을 구체적인 선택으로

AI · Q1: “흥미롭게 본 뒤 관객이 ‘어떤 종류가 더 많이 등록됐는지’를 말할 수 있게 할까요? 현재 자료의 종류별 차이를 알아차리는 경험을 추천합니다. 수량 비교가 목적이 아니라면, 한 기록을 한 도형으로 반복해 밀도를 느끼게 하는 방향도 있습니다.”

학생의 답: “종류별 차이를 알아차리는 쪽이 맞아. 정확한 수를 감추고 싶은 건 아니야. 다만 인기 순위처럼 보이게 하고 싶지는 않아.”

라운드 뒤 기록: 첫 질문은 ‘종류별 등록 기록 수의 차이’로 정해졌다. 미적 취향만 말했던 답이 관객이 읽을 내용으로 구체화됐다. 인기도로 해석하지 않는다는 기준도 남긴다.

라운드 3 · 정해진 목적에 맞는 표현 선택

AI · Q1: “가로 막대의 길이를 종류별 기록 수에 연결할까요? 같은 0 기준의 길이로 차이를 비교하기 쉬워 추천합니다. 반복 도형은 한 기록씩 드러낼 수 있지만, 수량 차이를 읽는 방식을 따로 살펴봐야 합니다.”

학생의 답: “우선 가로 막대로 하자. 종류별 차이가 읽히는지부터 확인하고 싶어. 도형을 반복하는 표현은 다음에 비교하자.”

라운드 뒤 기록: 막대 길이 = 기록 수. 지도와 반복 도형은 첫 결과의 범위에서 제외했다. 이제 막대 그림을 어떻게 확인할지 정할 수 있다. 마지막 확인 질문과 합의로 이어간다.

라운드 2에서 “어디에 있는지가 더 중요해”라고 답했다면?

AI는 좌표가 있는지와 실제 값이 유효한지 먼저 확인합니다. 그 뒤 “개별 공간을 찾게 할까, 분포를 보게 할까?”처럼 위치 표현에 필요한 질문을 이어갑니다. 종류별 막대에 관한 다음 질문을 그대로 적용하지 않습니다. 좌표가 없거나 유효하지 않으면 자료 확보 또는 다른 표현을 다시 검토합니다.

관찰할 변화

막연한 관심 → 관객·지역 → 관객이 읽을 차이 → 표현 규칙으로 좁혀졌습니다. 추천을 그대로 따르는 횟수보다, 내 답에 따라 다음 질문이 바뀌는지가 중요합니다.

내 기획으로 한 라운드를 진행합니다

추천안을 받아들이거나 바꾸고, 선택 이유와 남은 질문을 적습니다.

이제 자신의 기획으로 한 라운드를 진행합니다. 예시의 마포구나 막대그래프를 따라 고를 필요는 없습니다. 기획이 이미 구체적이면 지금 막힌 결정 하나를 대상으로 삼습니다.

  1. 맥락 공유: 내 기획 한 문장, 실제 자료, 지금 결정할 일을 적고 시작 요청문을 보냅니다.
  2. 질문 읽기: 추천 이유가 내 의도와 맞는지 봅니다. 낯선 용어는 작은 예를 들어 설명하도록 요청합니다.
  3. 번호별 답변: 수용·수정·미정 중 현재 상태를 밝히고 이유를 적습니다. 추천에 동의할 때도 무엇이 맞는지 한 문장으로 설명해 봅니다.
  4. 다음 질문 확인: AI의 요약에서 내 답이 반영됐는지 읽고, 새 질문이 앞선 답에서 이어졌는지 확인합니다.
AI와 나눌 대화 · 학생이 보내는 라운드 답변
이번 라운드에 이렇게 답할게.
Q[번호]: [추천안 수용 / 이렇게 수정 / 아직 결정 못함].
내 이유는 [관객·의도·자료·제약과 연결한 이유]야.
결정을 못한 항목은 [모르는 점]을 알 수 있도록 대안과 작은 예를 보여줘.
[나머지 질문도 번호에 맞춰 답하기]
내 답으로 정해진 것과 아직 남은 결정을 정리하고 다음 질문을 이어가자.

답변이 막혔을 때 그대로 말해 볼 문장
상황이렇게 이어갑니다
무엇을 골라야 할지 모르겠다“둘의 차이를 작은 예로 보여줘. 관객이 무엇을 다르게 읽는지 보고 선택할게.”
추천안이 내 의도와 다르다“정확한 순위보다 밀도와 분위기를 느끼게 하고 싶어. 이 의도에 맞는 다른 안을 제안해줘.”
자료가 아직 없다“현재 확보한 자료는 없어. 필요한 기록과 출처 후보, 실제로 작은 표본을 얻는 방법부터 함께 정하자.”
앞에서 한 답을 바꾸고 싶다“관객의 목적을 수량 비교에서 위치 찾기로 바꿀게. 이 변경 때문에 다시 결정해야 할 것을 짚어줘.”
질문이 계속 반복된다“내가 이미 답한 내용과 아직 미정인 것을 나눠줘. 남은 결정에 필요한 질문만 이어가자.”

한 라운드에 답한 뒤, 내 답으로 바뀐 결정 하나와 다음 질문 하나를 기획서나 작업 기록에 남깁니다. 합의에 도달하지 못했다면 미정인 항목을 기록하고, 필요한 자료나 대안을 확인하며 다음 라운드를 이어갑니다.

질문을 받기 전에 AI가 곧바로 Spec을 작성했다면?

“이 문서에서 내가 답하지 않은 채 정해진 내용을 표시해줘. 해당 결정을 질문과 추천안으로 돌려주면 내가 답할게”라고 요청합니다. 초안에 쓰였다는 이유만으로 합의한 내용이 되지는 않습니다.

교수자와 함께 볼 것

AI가 물은 것, 내가 답한 것과 이유, 그 답 때문에 이어진 질문을 보여 줍니다. 대화가 길었는지보다 결정이 어떻게 구체화됐는지를 봅니다.

합의를 확인하고 Spec으로 넘깁니다

결정된 것·남은 것·이번에 제외할 것을 구분하고 내 의도와 대조합니다.

질문을 마치는 시점도 함께 정해야 합니다. 이번 첫 작업의 관객·의도·자료·표현·결과·확인 기준을 설명할 수 있고, 실행을 막는 미정 사항이 해결되었는지 확인합니다. 범위 밖으로 남기기로 한 일은 따로 기록합니다.

사례의 마지막 질문과 학생의 확인

AI · 남은 질문: “첫 결과를 제목·가로 막대·짧은 해석·출처가 담긴 포스터로 정할까요? 제목 아래에 종류별 등록 기록 수라고 명시하고, 모든 종류의 합과 그림의 값을 집계에 대조하는 것을 추천합니다. 우선 종류 이름 순으로 배치해 열어 본 뒤 읽는 순서를 검토할까요?”

학생: “좋아. 질문형 제목 아래에 등록 기록 수라는 설명을 넣자. 원본 몇 건도 직접 대조할게. 크림색 바탕에 주홍색 막대를 써 보고, 브라우저에서 여는 파일과 이미지 원본을 남겨줘.”

AI · 합의 요약: “마포구 문화공간을 처음 접하는 관객에게, 보관본의 종류별 등록 기록 수를 같은 0 기준의 가로 막대로 보여준다. 제목·그래프·짧은 해석·출처를 한 장에 담고, HTML과 SVG로 저장한다. 첫 배치는 종류 이름 순이며 원본 일부·합계·그림의 값을 확인한다. 다른 지역·지도·반복 도형은 이후로 남기고, 인기나 만족도는 이 자료로 주장하지 않는다. 이 첫 작업을 막는 미정 사항은 없다.”

학생 · 최종 확인: “이 요약이 내 의도와 맞아. 이 합의로 Spec을 정리해줘. 내가 문서를 읽고 확인한 다음, 집계와 검토부터 첫 Ticket으로 나누자.”

AI와 나눌 대화 · 질문을 마치기 전 합의 확인
이제 이번 첫 작업을 시작할 수 있는지 함께 확인하자.
관객과 의도 / 실제 자료와 근거 / 표현 규칙 / 첫 결과 / 확인 기준을 요약해줘.
첫 작업을 막는 미정 사항과, 이번 범위에서 제외하기로 한 것을 구분해줘.
내가 답하지 않았는데 정해진 것으로 쓴 항목이 있는지도 찾아줘.
막는 결정이 남아 있으면 그 질문이나 자료 확인부터 이어가자.
내가 요약을 확인하고 동의한 뒤 Spec을 작성하자.

Spec으로 넘기기 전에 고를 다음 행동
현재 상태다음 행동
요약이 내 의도와 맞고 첫 작업의 미정 사항이 없다내가 동의한 뒤 작업 기준(Spec)을 정리하고 첫 작업(Ticket)으로 나눈다.
AI가 “등록 수”를 “인기도”로 바꿔 요약했다“인기라는 표현은 합의하지 않았어. 등록 기록 수로 고쳐줘”라고 수정한 뒤 다시 읽는다.
목표에 필요한 자료를 읽지 못했거나 확보하지 못했다시각화 구현의 합의는 미정으로 남긴다. 먼저 자료 확보·열람 방법을 확인하고 그 결과로 질문을 이어간다.
색상 탐색이나 다른 지역 비교를 나중에 하기로 정했다이번 첫 결과에 필요한 표현 기준이 정해졌다면 나머지는 이후 범위로 기록한다. 무엇을 미뤘는지 서로 확인한다.
Grilling에서 다음 작업으로

질문 → 내 답과 이유 → 다음 질문 → 요약 수정과 동의 → Spec → 첫 Ticket. 합의 전에는 남은 질문으로 돌아가고, 새 자료로 전제가 바뀌면 해당 결정부터 다시 살펴봅니다.

3 · 자료가 뒷받침하는 범위를 확인합니다

AI의 설명을 실제 기록과 대조하고, 확인한 사실과 가정을 구분합니다.

시각화의 재료가 무엇인지 확인하는 과정입니다. AI가 파일을 읽었다고 말하면 출처와 실제 기록 예시를 함께 보며 대조합니다. 한 건이 무엇인지, 어느 범위의 기록인지, 어떤 내용을 말할 수 있는지를 알아야 결과를 판단할 수 있습니다.

교수자 사례는 서울시 문화공간 정보의 2026-10-21 수업 보관본입니다. 서울특별시 문화본부 문화정책과가 제공하며 공공누리 제1유형의 출처표시 조건이 있습니다. 전체 1,096건 중 마포구로 기록된 항목은 55건입니다. 이 숫자는 보관본의 기록 수이며 현재 운영 중인 모든 시설 수를 보장하지 않습니다.

AI와 나눌 대화 · 자료에서 근거 찾기
첨부한 실제 자료에서 우리가 정한 질문에 필요한 근거를 찾아보자.
무엇을 한 건으로 세는지, 자료의 범위와 출처, 실제 기록 몇 건을 보여줘.
확인한 내용과 추정, 추가 자료가 필요한 내용을 나눠 설명해줘.
파일을 읽지 못했다면 어떤 입력이 필요한지 알려줘.
내가 원본 일부를 대조한 뒤 표현할 범위를 함께 정하자.

자료를 읽으며 구분할 것
확인할 수 있는 것추가 확인이 필요한 것
시설명·자치구·종류와 실제 기록 수실제 운영 여부와 최신 현황
마포구로 기록된 항목의 종류별 분포방문객 수·인기도·만족도
한 기록을 한 번 세었는지와 빈 분류의 유무목록이 지역의 모든 공간을 포함하는지

자료가 아직 없다면 출처 후보, 수집할 항목, 작은 표본을 확보할 방법을 먼저 정합니다. 직접 기록한 수치나 텍스트·사진을 사용할 수도 있습니다. 임시로 만든 예시 값을 쓴다면 가상 자료임을 표시하고, 실제 자료를 확보했을 때 다시 확인합니다.

AI가 파일을 읽을 수 없다면?

파일명만 전달한 상태와 실제 내용을 읽은 상태를 구분합니다. 자료의 설명과 일부 기록, 실행 결과를 읽을 수 있는 형태로 공유하거나, 파일을 열 수 있는 작업 환경에서 이어갑니다. 확인하지 않은 값을 사실처럼 채우지 않습니다.

기억할 기준

구현을 AI와 함께하더라도 자료가 뜻하는 바와 해석의 범위는 확인합니다.

4 · 표현안을 비교하고 하나를 선택합니다

관객이 읽거나 경험할 것과 데이터의 표현 규칙을 함께 정합니다.

같은 자료라도 무엇을 보여주려는지에 따라 표현이 달라집니다. AI가 추천한 형식을 바로 확정하기 전에 두 가지 안을 비교하고, 관객이 가장 먼저 읽을 차이와 오해하기 쉬운 점을 설명하게 합니다.

데이터 아트라면 값이 색·반복·간격을 어떻게 바꾸는지, 정보 시각화라면 어떤 차이를 얼마나 쉽게 비교할 수 있는지 함께 봅니다. 표현을 골랐다는 것은 자료의 값과 화면의 요소를 연결하는 규칙을 정했다는 뜻입니다.

AI와 나눌 대화 · 표현안 비교하기
이 질문과 실제 자료로 표현안 두 가지를 비교하자.
각 안에서 관객이 가장 먼저 읽을 것과 놓치기 쉬운 것을 설명해줘.
데이터의 어떤 값이 위치·길이·색·반복을 바꾸는지도 적어줘.
추천안과 이유를 제시해줘. 내가 선택한 이유와 다음에 확인할 점을 함께 남기자.

문화공간 사례에서 비교한 세 방향
방향드러나는 것추가로 확인할 것
종류별 가로 막대종류별 등록 기록 수의 차이모든 막대의 기준점과 단위, 빠진 종류
위치를 찍은 지도공간이 등록된 위치의 분포좌표의 유효성, 겹치는 위치, 위치만으로 설명할 수 있는 범위
한 기록을 한 도형으로 반복종류별 수량을 반복과 밀도로 느끼는 경험도형 하나의 의미와 수를 읽을 수 있는지

이 사례에서는 종류별 차이를 먼저 보여주기 위해 가로 막대를 선택합니다. 위치를 찾는 경험이 더 중요하다면 지도가 적합할 수 있고, 밀도를 느끼게 하려면 반복 도형을 검토할 수 있습니다. 학생의 프로젝트에서 같은 결론을 선택할 필요는 없습니다.

선택을 기록하는 문장

“종류별 등록 기록 수를 빠르게 비교하도록 막대의 길이를 기록 수에 연결한다.”처럼 의도와 규칙을 함께 적습니다.

5 · 합의를 작업 기준으로 남깁니다

함께 결정한 내용을 다음 실행과 검토에서 다시 사용할 수 있게 적습니다.

대화가 길어지면 합의한 내용과 아직 검토 중인 제안이 섞입니다. 구현 전에 작업 기준(Spec)으로 잠깐 정리합니다. 이 문서는 구현할 때도, 결과를 검토할 때도 함께 보는 기준입니다.

긴 문서일 필요는 없습니다. AI가 정리한 문장을 읽으며 자기 의도와 다른 부분을 고칩니다. “보기 좋게 만든다” 같은 표현은 확인하기 어려우므로, 무엇이 보이고 어떤 값과 일치해야 하는지 적습니다.

AI와 나눌 대화 · 합의를 작업 기준으로 정리
to-spec 스킬로 지금까지 합의한 내용을 작업 기준으로 정리하자.
대상과 의도 / 입력 자료와 범위 / 표현 규칙 / 첫 결과 / 확인 기준을 적어줘.
아직 정하지 않은 것은 미정으로, 이번에 하지 않을 것은 다음 작업으로 표시하자.
설정한 로컬 기록 위치에 저장하고 실제 파일 경로를 알려줘.
내가 읽고 수정한 뒤 그 기준으로 구현을 시작하자.

완성 예시 · 문화공간 시각화의 작업 기준
항목함께 정한 내용
의도와 대상마포구의 문화공간 종류에 관심 있는 사람이 등록 기록 수의 차이를 읽게 한다.
입력과 범위2026-10-21 수업 보관본에서 자치구가 마포구인 기록. 기록 하나를 한 건으로 센다.
표현 규칙같은 0 기준의 가로 막대. 크림색 배경·주홍색 막대, 첫 배치는 종류 이름 순.
첫 결과제목·그래프·짧은 해석·출처를 담은 세로 포스터. output/poster-before.html과 poster-before.svg.
실행 방식AI와 poster.ipynb를 작성하고 실제 Python 커널에서 실행한다. 출력이 담긴 노트북 사본과 HTML·SVG를 함께 보관한다.
확인 기준종류별 합은 55건. 모든 숫자와 길이는 집계와 일치하고, 제목·단위·출처가 잘리지 않는다.
다음으로 남길 것다른 지역 비교, 지도, 인기도 해석과 추가 상호작용.

교수자 사례에서는 spec.md에 저장합니다. 합의 후 작성된 Spec 예시에서 실제 파일 이름과 확인 기준을 읽을 수 있습니다. 자료를 확인하다 기준이 바뀌면 변경 이유도 함께 남깁니다.

여기서 남길 것

의도·입력·표현 규칙·첫 결과·확인 기준을 한 화면에서 볼 수 있게 정리합니다.

6 · 첫 작업을 작게 나눕니다

한 작업이 끝나면 눈으로 확인할 결과가 남도록 범위를 정합니다.

“프로젝트 완성”을 한 번에 요청하면 무엇이 맞고 어디서 어긋났는지 살피기 어렵습니다. 작업 기준을 실행해서 확인할 수 있는 작은 작업(Ticket)으로 나눕니다. 한 작업마다 입력, 할 일, 결과, 확인 방법이 보이면 충분합니다.

설치나 파일 만들기만 나열하기보다, “종류별 수를 확인한다”, “그 수로 그림 하나를 연다”처럼 다음 판단에 쓸 결과를 기준으로 나눕니다. 앞 작업이 끝나야 알 수 있는 내용은 그 결과를 보고 정합니다.

왼쪽에는 합의한 계획이 담긴 큰 문서, 오른쪽에는 기록 집계, 첫 그림 만들기, 정렬 수정과 검토를 나타내는 세 작업 카드가 순서대로 놓여 있다.
하나의 Spec에서 확인할 수 있는 작업으로큰 문서는 함께 보는 작업 기준이고, 작은 카드는 실행 뒤 확인할 결과입니다. 자료와 집계를 확인한 뒤 그림을 만들고, 같은 값을 유지하며 정렬을 수정합니다.AI 생성 개념 이미지 · 이미지를 누르면 원본을 크게 볼 수 있습니다.
합의한 기준을 실행 가능한 순서로
  1. Spec · 작업 기준의도·자료·표현·확인 기준에 합의
  2. Ticket A · 집계원본 일부와 집계 합계 대조
  3. Ticket B · 첫 포스터제목·그림·해석·출처를 한 장에
  4. Ticket C · 수정같은 값을 정렬하고 전후 비교

각 Ticket의 결과를 확인한 뒤 다음 작업으로 넘어갑니다. 값이나 표현이 기준과 다르면 해당 작업으로 돌아가 수정합니다.

AI와 나눌 대화 · 첫 작업 나누기
to-tickets 스킬로 합의한 Spec을 읽고 확인할 수 있는 작은 작업으로 나눠줘.
각 작업에 입력, 할 일, 결과물, 완료를 확인할 방법을 적어줘.
앞 작업의 결과가 필요한 곳은 순서를 표시해줘.
작업 목록을 함께 확인한 뒤 설정한 로컬 기록 위치에 저장하자.
가장 먼저 확인할 작업 하나를 추천해줘. 그 결과를 보고 다음 작업을 고를게.

작업의 순서와 완료 기준
작업입력 → 결과확인 방법
A · 자료와 집계 확인실제 보관본 → counts.json + 집계까지 실행된 노트북원본 일부와 종류별 합계를 대조한다. 7종류, 합계 55건.
B · 첫 포스터 만들기확인한 집계 → poster-before.html과 SVG + 실행된 노트북파일을 열어 제목·그래프·짧은 해석·출처를 확인한다.
C · 읽는 순서 수정첫 포스터 → poster.html과 SVG + 실행된 노트북첫 결과를 보관하고, 정렬 외의 수치·색·문구가 같은지 대조한다.

이 사례의 작업 목록은 tickets.md에 남깁니다. Ticket A·B·C의 실행 명령과 완료 기준을 확인할 수 있습니다.

첫 작업의 범위

자료가 준비되었다면 A부터, 집계가 확인되었다면 B부터 시작할 수 있습니다. 지금 필요한 결과 하나를 고릅니다.

AI 앱에서 노트북 실행 환경을 확인합니다

같은 프로젝트 폴더의 자료·Python·커널을 확인하고 실행합니다.

처음 열었던 시연 시작 폴더에서 이어갑니다. AI가 읽은 원본과 실행할 원본이 같은지 보고, 합의한 spec.md와 tickets.md를 확인합니다. AI에게 노트북 작성과 실행을 요청하고, 실제 출력으로 판단하는 방식입니다. 로컬 Python, 노트북 실행 도구와 커널이 필요합니다.

프로젝트에서 확인할 파일
위치역할
brief.md · data/처음의 기획, 원본 자료와 출처 문서. 시작 자료에 포함되어 있다.
spec.md · tickets.mdGrilling 뒤 함께 확인하고 저장한 합의와 작업 순서.
poster.ipynb준비·집계·첫 포스터·수정을 셀로 나눈 노트북. AI와 만들며 완성 예제로도 제공한다.
output/집계·포스터·실행 출력이 포함된 노트북 사본을 저장한다.
AI와 나눌 대화 · 실행 환경 확인
이 폴더에서 문화공간 포스터 프로젝트를 함께 진행하자.
brief.md와 data/source.json, 실제 원본을 읽을 수 있는지 확인해줘.
Python과 노트북 실행 도구, Python 커널도 확인해줘.
필요한 준비는 프로젝트의 .venv 안에서 진행하고 사용할 Python 경로를 알려줘.
아직 포스터는 만들지 말고, 확인한 파일과 실행 준비 상태를 정리해줘.

AI의 답에서 어느 Python으로 실행할지, 필요한 도구와 커널을 찾았는지 확인합니다. 준비가 부족하면 프로젝트의 .venv에서 해결한 뒤 첫 작업으로 넘어갑니다. 같은 폴더에서 실행하므로 이 시연에는 별도의 Jupyter MCP 연결이 필요하지 않습니다.

완성 예제로 이어가려면 완성 예제를 별도 폴더에 풀고 AI가 그 폴더를 열게 합니다. 실행 안내에는 환경 준비와 재현 명령이 있습니다. run_notebook.py는 새 커널에서 준비부터 지정한 단계까지 실행하고 출력이 있는 사본을 저장합니다. 같은 이름의 사본은 재실행하면 갱신됩니다.

실행 전 확인

코드를 만들었다는 답과 실제 실행 완료를 구분합니다. 사용할 환경·실행 단계·열어 볼 결과 파일을 확인합니다.

7 · 첫 결과를 만들고 직접 열어 봅니다

구현 요청에 작업 기준과 확인 방법을 함께 전달합니다.

이제 합의한 내용을 실행 코드로 연결합니다. 아래 요청은 교수자 포스터 사례의 파일 이름과 구현 방식을 담고 있습니다. 자신의 프로젝트에서는 해당 부분을 자신의 Spec과 환경에 맞게 바꿉니다.

AI와 나눌 대화 · 포스터 사례의 Ticket A만 구현·실행
합의한 Spec과 Ticket A로 poster.ipynb를 만들고 집계까지 실행하자.
이 폴더의 data/를 읽고 원본은 보존해줘. 원본 일부와 종류별 수치·합계를 보여줘.
output/counts.json과 실행 출력이 담긴 output/poster-counts.executed.ipynb를 남겨줘.
실행한 Python·명령·성공 또는 오류를 알려줘. 실행하지 못했으면 그 상태를 말해줘.
아직 첫 포스터 셀은 실행하지 말자.

Ticket A · 실제 자료에서 집계를 확인합니다

AI가 poster.ipynb를 작성하고 준비·집계 셀까지 실행합니다. 실제 명령과 출력, output/poster-counts.executed.ipynb가 생겼는지 확인합니다. 뒤의 포스터는 아직 만들지 않습니다.

이 보관본의 확인 출력은 원본 1,096건 → 마포구 55건 / 7종류 / 합계 55건입니다. output/counts.json의 종류별 수치와 선택한 기록 번호를 보고 원본 일부를 직접 대조합니다. 아래는 같은 원본에서 생성한 검토용 집계입니다.

마포구에 등록된 문화공간의 종류별 기록 수2026-10-21 수업 보관본 · 55건 · 단위: 건
  • 미술관/갤러리21
  • 공연장10
  • 기타8
  • 박물관/기념관8
  • 도서관5
  • 문화원2
  • 문화예술회관1

출처: 서울특별시 문화본부 문화정책과, 서울시 문화공간 정보. 현재 운영 현황이나 인기도를 뜻하지 않습니다. 집계 근거 보기

Ticket B · 포스터 파일을 만들고 엽니다

A의 결과가 맞으면 다음 요청을 보냅니다. 노트북을 준비부터 첫 포스터까지 실행하고 실제 그림을 봅니다.

AI와 나눌 대화 · Ticket B로 이어가기
집계와 원본 일부를 확인했어. Ticket B로 이어가자.
poster.ipynb에 제목·그래프·짧은 해석·출처가 있는 첫 포스터 셀을 작성해줘.
종류 이름 순으로 배치하고 준비부터 첫 포스터까지 실행해줘.
output/poster-before.html과 poster-before.svg,
output/poster-first.executed.ipynb를 저장하고 내가 열 파일을 알려줘.

output/poster-first.executed.ipynb에 첫 그림의 출력이 저장됩니다. output/poster-before.html을 브라우저에서도 엽니다. 앱에서 노트북이 어떻게 미리 보이는지와 관계없이 제목 → 그래프 → 짧은 해석 → 출처를 직접 읽고 수치를 대조할 수 있습니다.

종류 이름 순으로 배치한 첫 포스터. 마포구 등록 기록 55건: 미술관/갤러리 21, 공연장 10, 기타 8, 박물관/기념관 8, 도서관 5, 문화원 2, 문화예술회관 1.
첫 실행 결과 · 종류 이름 순 포스터실제 보관본을 코드로 집계해 만든 결과입니다. 누르면 별도 화면에서 크게 볼 수 있습니다.
코드 생성이나 실행에서 막혔다면?

현재 입력·실행 명령·오류 원문을 공유하고 원인을 확인합니다. 시연을 이어갈 때는 완성 예제를 별도 폴더에 풀어 같은 명령을 실행하고 결과를 대조할 수 있습니다. 완성 예제를 실행한 것과 자신의 대화로 구현한 부분을 작업 기록에서 구분합니다.

여기서 남는 결과

집계 파일과 실제로 열어 본 포스터 한 장입니다. 코드가 생성됐다는 응답 뒤에 파일을 직접 여는 과정까지 포함합니다.

8 · 한 가지 기준으로 수정합니다

수정 전후를 같은 자료로 비교하고, 달라진 점을 설명합니다.

수정 요청에는 바꾸려는 이유와 유지할 기준을 함께 말합니다. “더 멋있게”에서 한 걸음 더 나아가 “종류별 수의 차이가 더 빨리 읽히게”라고 목적을 설명하고, 우선 한 가지 변화를 비교합니다.

AI와 나눌 대화 · 정렬 하나만 바꾸기
종류별 수의 차이가 더 빨리 읽히게 하고 싶어.
자료·집계·색·축·크기·문구는 유지하고, 기록 수가 많은 순으로 바꾸자.
동률은 종류 이름 순으로 두고 첫 포스터는 보관해줘.
poster.ipynb의 수정 셀을 작성하고 준비부터 끝까지 다시 실행해줘.
output/poster.html과 poster.svg, output/poster.executed.ipynb를 남겨줘.
수정 전후의 모든 값이 같은지도 실제로 비교해줘.

AI가 수정 셀까지 실행하면 output/poster.executed.ipynb에 두 버전의 출력이 남습니다. output/poster.html을 열고 첫 포스터와 나란히 봅니다. 아래 두 결과도 같은 자료에서 생성했습니다. 종류 이름 순서를 기록 수가 많은 순서로 바꿨습니다.

종류 이름 순으로 배치한 첫 포스터. 마포구 등록 기록 55건: 미술관/갤러리 21, 공연장 10, 기타 8, 박물관/기념관 8, 도서관 5, 문화원 2, 문화예술회관 1.
수정 전 · 종류 이름 순실제 보관본을 코드로 집계해 만든 결과입니다. 누르면 별도 화면에서 크게 볼 수 있습니다.
기록 수가 많은 순으로 수정한 포스터. 마포구 등록 기록 55건: 미술관/갤러리 21, 공연장 10, 기타 8, 박물관/기념관 8, 도서관 5, 문화원 2, 문화예술회관 1.
수정 후 · 기록 수가 많은 순실제 보관본을 코드로 집계해 만든 결과입니다. 누르면 별도 화면에서 크게 볼 수 있습니다.
수정 전후를 비교하는 방법
구분이 사례에서 볼 것
수정 전poster-before.html: 종류 이름 순서. 큰 값이 어디에 있는지 찾아야 한다.
이번 수정poster.html: 기록 수가 많은 순서. 동률은 종류 이름 순으로 둔다.
유지할 것입력 자료·종류·수치·막대의 기준점·색·크기·문구.
수정 후 확인전체 합은 55건으로 유지되는지, 21건의 미술관/갤러리가 먼저 보이는지.

목적이 이름으로 항목을 찾는 것이라면 이름 순서가 더 편할 수도 있습니다. 수정은 무조건 복잡하게 만드는 과정이 아닙니다. 의도한 읽기 방식에 도움이 되었는지 설명하고 선택합니다.

AI가 정렬과 함께 색·자료 범위도 바꾸었다면?

바뀐 항목을 확인하고 이번 비교에서 유지하기로 한 기준을 다시 전달합니다. 수정 전 결과와 같은 입력으로 재실행한 뒤, 정렬의 효과를 분리해서 봅니다.

수정 기록

바꾼 것 하나, 바꾼 이유, 실제로 확인한 차이를 적습니다.

자료·표현·해석을 나누어 검토합니다

그림이 만들어졌는지와 의도에 맞게 읽히는지를 함께 확인합니다.

검토할 때는 자료, 표현, 해석을 나누면 빠뜨리는 부분이 줄어듭니다. AI의 점검 결과도 검토할 제안으로 받아들이고, 원본 일부와 실제 결과를 직접 대조합니다.

AI와 나눌 대화 · 근거와 결과 대조하기
작업 기준, 사용한 자료, 실제 실행 결과를 첨부했어.
자료와 수치가 맞는지 / 표현 규칙대로 보이는지 / 설명이 근거를 넘지 않는지 나눠 검토하자.
원본과 직접 대조할 지점과 아직 확인하지 못한 항목을 알려줘.
각 지적에는 근거와 수정 방법을 제안해줘. 확인한 뒤 반영할 내용을 선택할게.

이 사례의 검토 기준
관점확인할 질문확인 결과 예시
자료다른 지역이 섞였는가? 빈 종류나 빠진 기록이 있는가?선택한 55건이 마포구인지 확인하고 빈 분류가 없는지 검사한다.
수치집계와 그림이 같은 값을 사용하는가?21+10+8+8+5+2+1=55. 종류별 값과 막대 옆 숫자를 대조한다.
표현같은 기준에서 길이를 비교할 수 있는가?0 기준, 기록 수 단위, 종류 이름과 출처를 함께 본다.
해석제목이나 설명이 자료의 근거를 넘는가?“등록 기록 수”로 설명하고 인기나 만족도로 단정하지 않는다.
“21건이므로 가장 인기 있는 공간이다”라고 설명해도 될까요?

이 자료가 집계한 것은 등록 기록입니다. 방문객 수나 선호도는 이 집계에 없습니다. 설명을 등록 기록 수의 차이로 고치거나, 인기라는 질문을 유지하려면 그에 맞는 자료를 추가해야 합니다.

여기서 남길 것

확인한 항목과 아직 확인하지 못한 항목을 나누고, 필요한 수정에 이유를 붙입니다.

막혔을 때는 증거로 대화합니다

실제 입력과 출력, 기대한 결과를 공유하고 먼저 확인할 한 가지를 정합니다.

문제가 생기면 바로 코드를 전부 바꿔 달라고 하기 전에 관찰한 증거를 모읍니다. 어떤 입력과 환경을 썼고, 무엇을 실행했고, 무엇이 나왔는지 알려주면 다음 확인을 구체적으로 정할 수 있습니다.

AI와 나눌 대화 · 막힌 지점 함께 확인하기
하려던 작업은 [목적], 사용한 입력과 환경은 [실제 파일·실행 위치]야.
실행한 것은 [코드 또는 명령], 실제 결과는 [출력·오류 그대로]야.
기대한 결과는 [작업 기준]인데 [관찰한 차이]가 있어.
가능한 원인을 구분하고 먼저 확인할 한 가지를 제안해줘.
그 결과를 보고 필요한 부분만 수정하고 다시 실행하자.

문제에 맞춰 전달할 증거
문제AI와 함께 볼 것먼저 확인할 한 가지
파일을 읽지 못한다파일 이름·위치·실행 환경·오류 원문실제로 그 위치에 입력 파일이 있는지
결과의 수가 예상과 다르다선택한 범위·집계 결과·원본 일부조건이나 누락 처리로 어떤 기록이 빠졌는지
그림은 열리지만 의도와 다르다작업 기준·결과 화면·불편한 지점자료를 바꿀 문제인지 표현을 바꿀 문제인지
완료했다고 하지만 결과가 없다실행 기록·저장 위치·생성된 파일실행했는지, 제안만 했는지
문제 해결의 순서

증거 공유 → 원인 후보 → 한 가지 확인 → 필요한 수정 → 같은 조건으로 재실행을 이어갑니다.

다음 작업과 결정 이유를 기록합니다

다음 대화에서도 맥락과 확인 기준을 이어갈 수 있게 남깁니다.

작업을 끝낼 때는 대화 전체를 다시 읽어야만 이어갈 수 있는 상태로 두지 않습니다. 지금의 의도, 선택 이유, 결과 파일, 확인한 것, 다음 작업 하나를 짧게 정리하고 직접 검토해 저장합니다.

새 대화를 시작할 때도 이 기록과 실제 파일을 함께 전달합니다. “지난번에 하던 것”이라는 설명만으로 이전 결정이 정확하게 전달되었다고 가정하지 않습니다.

AI와 나눌 대화 · 다음 작업으로 이어가기
현재 작업을 다음 대화에서 이어갈 수 있게 정리하자.
기획과 선택 이유 / 사용하는 자료와 파일 위치 / 실제 확인한 결과 /
아직 확인하지 못한 것 / 다음 작업 하나와 확인 기준을 남겨줘.
내가 기록을 검토한 뒤 프로젝트 폴더에 저장할게.

문화공간 사례에서는 “output/poster.html에 포스터를 만들었고 55건의 집계와 원본 일부를 대조했다. 정렬만 바꾼 전후 파일을 보관했다. 다음에는 다른 사람이 제목과 그림을 보고 무엇을 센 자료인지 설명할 수 있는지 확인한다”처럼 이어갑니다. 현재 결과가 잘 읽히는지 확인하는 일도 다음 작업입니다.

이어가기의 기준

다음에 무엇을 열고 무엇을 실행하며 어떤 결과를 확인할지 알 수 있게 남깁니다.

처음부터 따라 하기 · 포스터 한 장

같은 대화에서 요청 → 내 선택 → 실제 결과 확인을 순서대로 이어갑니다.

이 절만 펼쳐 놓고 마포구 문화공간 포스터 한 장을 처음부터 따라갈 수 있습니다. Codex 또는 Claude 앱의 Code 탭에서 시작 자료 폴더를 열고 같은 대화를 이어갑니다. 각 요청 뒤에는 실제 답과 결과를 읽고 다음 단계로 넘어갑니다.

아래는 수업용 대화 예시입니다. AI의 실제 질문이 다르면 그 질문에 답합니다. 입력 파일에서 확인한 사실, 내가 고른 방향, 실제 실행한 결과를 구분합니다. 스킬 준비가 필요하면 설치·확인 안내를 먼저 진행합니다.

1 · 환경과 파일 확인
AI에게 보낼 말 · 1
이 폴더에서 문화공간 포스터 프로젝트를 함께 진행하자.
brief.md와 data/source.json, 실제 원본을 읽을 수 있는지 확인해줘.
Python과 노트북 실행 도구, Python 커널도 확인해줘.
필요한 준비는 프로젝트의 .venv 안에서 진행하고 사용할 Python 경로를 알려줘.
아직 포스터는 만들지 말고, 확인한 파일과 실행 준비 상태를 정리해줘.

확인한 뒤 다음 단계로

입력 파일·Python 경로·실행 준비 상태를 확인한다. 스킬이 없다면 교안의 Matt Pocock 설치·확인 단계를 먼저 진행한다.

2 · Grilling 시작
AI에게 보낼 말 · 2
grilling 스킬로 내 기획을 함께 검토하자.
마포구의 문화공간을 보여주는 데이터 포스터 한 장을 만들고 싶어.
관객과 표현은 아직 정하지 않았어. brief.md와 data/에 실제 자료가 있어.
먼저 파일에서 확인되는 사실을 살피고, 내가 선택할 질문을 번호와 추천 이유로 제시해줘.
내 답에 따라 다음 질문을 이어가고, 합의 전에는 구현하지 말자.

확인한 뒤 다음 단계로

실제 자료를 읽었는지 확인한다. 수업 보관본의 마포구는 55건이며, 방문객 수·만족도는 없다. 질문에 답한 다음 라운드로 넘어간다.

3 · 질문에 답하며 방향 선택
AI에게 보낼 말 · 3
관객은 마포구 문화공간을 처음 접하는 사람으로 하자.
범위는 마포구로 한정하고 싶어. 내가 관심 있는 지역부터 보여주고 싶거든.
그런데 정확한 비교만 하기보다 예쁘고 흥미롭게 보였으면 좋겠어.
여기서 더 정해야 할 것을 추천안과 함께 물어봐줘.

내 답 뒤에 이어지는 두 번의 선택
다음 질문의 상황내 답 예시
AI가 “흥미롭게 본 뒤 무엇을 알아차리게 할까요?”라고 물으면종류별 등록 기록 수의 차이를 알아차리게 하고 싶어. 정확한 수를 감추려는 건 아니야. 인기 순위처럼 보이게 하고 싶지는 않아.
그 답을 바탕으로 가로 막대와 반복 도형을 비교하면우선 가로 막대를 선택할게. 종류별 수의 차이를 읽기 쉬운지 먼저 확인하고 싶어. 반복 도형은 다음에 비교하자.
확인한 뒤 다음 단계로

이 답 뒤의 질문에 답한다. “흥미롭다”를 종류별 차이를 알아차리는 경험으로 구체화하고, 그다음 가로 막대와 반복 도형을 비교한다. 아래의 후속 답변 예시를 사용한다.

4 · 합의하고 Spec 저장
AI에게 보낼 말 · 4
지금까지의 선택을 요약해줘. 관객·자료·표현·첫 결과·확인 기준을 읽고 확인할게.
이번 결과는 제목·가로 막대·짧은 해석·출처가 담긴 세로 포스터로 하자.
크림색 바탕과 주홍색 막대, 같은 0 기준을 사용하고 첫 배치는 종류 이름 순으로 두자.
Python 노트북 poster.ipynb로 만들고, 실행 출력은 별도 노트북에 보관하자.
집계와 모든 숫자가 맞는지, 출처가 보이는지 확인하고 싶어.
내 확인 뒤 to-spec으로 spec.md에 저장해줘. 아직 미정인 것은 합의로 처리하지 마.

확인한 뒤 다음 단계로

요약을 읽고 “내 의도와 맞아. 이 기준으로 저장하자”라고 확인한 뒤 spec.md를 연다. 첫 작업을 막는 미정 사항이 있으면 질문을 이어간다.

5 · Ticket A·B·C로 나누기
AI에게 보낼 말 · 5
spec.md를 확인했어. to-tickets로 tickets.md를 작성하자.
A는 자료와 집계 확인, B는 첫 포스터, C는 정렬 수정과 검토로 나누자.
각 작업에 입력·결과 파일·완료 확인 방법을 적고 의존 순서를 표시해줘.
노트북은 준비 / 집계 / 첫 포스터 / 수정의 셀로 구분하자.
한 작업이 끝나면 실제 결과를 보여주고 내가 확인한 뒤 다음으로 넘어가자.

확인한 뒤 다음 단계로

A → B → C의 순서와 확인 기준을 읽는다. 집계 확인 없이 그림부터 만들거나 세 작업을 한 번에 완료하지 않는다.

6 · Ticket A · 집계까지 실행
AI에게 보낼 말 · 6
합의한 Spec과 Ticket A로 poster.ipynb를 만들고 집계까지 실행하자.
이 폴더의 data/를 읽고 원본은 보존해줘. 원본 일부와 종류별 수치·합계를 보여줘.
output/counts.json과 실행 출력이 담긴 output/poster-counts.executed.ipynb를 남겨줘.
실행한 Python·명령·성공 또는 오류를 알려줘. 실행하지 못했으면 그 상태를 말해줘.
아직 첫 포스터 셀은 실행하지 말자.

확인한 뒤 다음 단계로

원본 1,096건 → 마포구 55건 / 7종류 / 합계 55건. 원본 일부와 실제 출력을 대조하고 실행된 노트북을 연다.

7 · Ticket B · 첫 포스터 실행
AI에게 보낼 말 · 7
집계와 원본 일부를 확인했어. Ticket B로 이어가자.
poster.ipynb에 제목·그래프·짧은 해석·출처가 있는 첫 포스터 셀을 작성해줘.
종류 이름 순으로 배치하고 준비부터 첫 포스터까지 실행해줘.
output/poster-before.html과 poster-before.svg,
output/poster-first.executed.ipynb를 저장하고 내가 열 파일을 알려줘.

확인한 뒤 다음 단계로

첫 포스터를 직접 연다. 종류 이름 순이므로 공연장부터 보이며, 미술관/갤러리 21건은 아래쪽에 있다. 수치·축·제목·해석·출처를 확인한다.

8 · Ticket C · 정렬 하나만 수정
AI에게 보낼 말 · 8
종류별 수의 차이가 더 빨리 읽히게 하고 싶어.
자료·집계·색·축·크기·문구는 유지하고, 기록 수가 많은 순으로 바꾸자.
동률은 종류 이름 순으로 두고 첫 포스터는 보관해줘.
poster.ipynb의 수정 셀을 작성하고 준비부터 끝까지 다시 실행해줘.
output/poster.html과 poster.svg, output/poster.executed.ipynb를 남겨줘.
수정 전후의 모든 값이 같은지도 실제로 비교해줘.

확인한 뒤 다음 단계로

미술관/갤러리 21건이 맨 위에 보인다. 21+10+8+8+5+2+1=55이며 같은 종류의 값과 색·문구가 유지되는지 두 포스터로 대조한다.

9 · 검토하고 다음 작업 남기기
AI에게 보낼 말 · 9
Spec, 원본, 실행된 노트북과 두 포스터를 함께 검토하자.
자료·수치 / 표현 / 해석으로 나누고 각 판단에 근거를 붙여줘.
등록 기록 수를 인기나 현재 운영 시설 수로 설명한 부분이 있으면 고치자.
실제로 확인한 것과 아직 확인하지 않은 것을 구분해줘.
내가 고른 표현과 수정 이유, 파일 위치, 다음 작업을 worklog.md에 정리하자.

확인한 뒤 다음 단계로

다음 작업은 “다른 사람이 제목과 그림을 보고 무엇을 센 자료인지 설명할 수 있는지 확인하기”로 남긴다. 실제 관객의 이해도와 현재 시설 운영 여부는 아직 확인하지 않았다고 적는다.

순서대로 따라갈 요청문과 확인 기준 받기 · 완성 노트북만 받기. 노트북 실행에는 같은 폴더의 자료가 필요하므로 처음에는 완성 예제 ZIP을 함께 받습니다.

2·3교시 · 내 프로젝트에 적용합니다

현재 진도에서 필요한 작업을 선택하고 개별 피드백을 받습니다.

2·3교시는 각자의 프로젝트를 진행합니다. 8주차 기획서와 현재 자료·진도에서 출발합니다. 문화공간이나 막대그래프를 모두 구현하는 공통 과제가 아닙니다. 오늘의 대화와 검토 방법을 지금 필요한 작업에 적용합니다.

현재 상태에서 고를 작업
내 상태이어갈 작업피드백에서 보여줄 것
기획이 넓거나 모호하다Grilling 답변을 이어가며 관객·의도·첫 범위 정하기내 답과 이유, 그 답 때문에 이어진 다음 질문
자료가 아직 없다출처와 수집 방법을 검토하고 작은 표본 확보하기확보한 자료와 아직 필요한 자료
자료가 준비되어 있다표현안을 비교하고 첫 결과 하나 만들기작업 기준과 실제 실행 결과
이미 구현하고 있다현재 결과를 검토하고 한 가지 수정하기같은 입력의 수정 전후와 확인한 차이

교수자와 함께 볼 것은 현재의 의도, 실제 자료·결과, AI의 제안에서 고른 내용과 이유, 다음에 확인할 작업입니다. 기록은 기존 기획서나 노트북에 합쳐도 됩니다. 양식을 모두 채우는 일보다 지금 한 판단을 설명할 수 있는지가 중요합니다.

개인 작업의 연결

각자의 기획을 유지하면서 질문·선택·실행·검토의 방법을 반복합니다.

작업 자료와 선택 참고

기록 양식과 완성 예시를 활용하고, 필요한 기술 설명을 찾아봅니다.

작업 기록 양식은 자신의 도구에 옮겨 써도 됩니다. 구현 과정에서 파일 읽기나 표 처리의 설명이 필요할 때는 아래 참고 교안을 찾아봅니다. 1교시의 공통 학습 목표는 프로젝트를 함께 진행하는 방법입니다.

포스터 사례의 Spec · Ticket · 실행 안내 · 완성 포스터 SVG를 따로 열어 볼 수 있습니다.

필요할 때 찾아볼 기술 참고
필요한 작업참고 교안
파일 가져오기와 CSV 형식공공데이터에서 CSV 가져오기
표의 구조 확인과 필요한 기록 선택CSV를 DataFrame으로 읽고 고르기
처리한 결과 저장과 재확인나만의 문화공간 CSV 만들기

파일 읽기·선택 예시 노트북은 기술 복습용입니다. 현재 수업의 필수 실행 순서는 아닙니다. 더 자세한 과정은 11개 셀의 CSV 참고 노트북에서 확인합니다.

이 페이지의 목차