콘텐츠로 이동

자유 프로젝트 + 트랙 A 규칙 정리 (차시 7-8)

자유 프로젝트 + 트랙 A 규칙 정리 (차시 7-8)

섹션 제목: “자유 프로젝트 + 트랙 A 규칙 정리 (차시 7-8)”

Part 2: 트랙 A — VPython 3D 창작과 시뮬레이션

섹션 제목: “Part 2: 트랙 A — VPython 3D 창작과 시뮬레이션”

  • 조형/애니메이션/시뮬레이션 중 자기 수준에 맞는 자유 프로젝트를 선택하고, 전체 루프(명세→AI요청→검증→규칙추가)를 독립 수행할 수 있다
  • 트랙 A에서 축적한 규칙 파일(도입부 포함 10~20개)을 분류·정리하고, 규칙의 질(구체적 사건 + 검증 가능한 조건)을 자기 점검할 수 있다
  • 교차 리뷰를 통해 다른 학생의 규칙 파일에서 자기가 놓친 관점을 발견하고 반영할 수 있다
  • “시각 검증 → 수치 검증”의 진화를 되돌아보고, 다음 트랙에서 어떤 검증이 필요할지 예상할 수 있다

트랙 A의 마지막 2시간입니다. 지금까지 차시 1-2에서 3D 조형을, 차시 3-4에서 애니메이션을, 차시 5-6에서 물리 시뮬레이션을 경험했습니다. 매번 선생님이 과제를 정해주고 흐름을 안내했죠.

이번에는 다릅니다. 학생이 스스로 주제를 정하고, 스스로 명세를 쓰고, 스스로 기준을 세우고, 스스로 검증합니다. 선생님의 역할은 “잘 되고 있는지 확인하는 것”으로 바뀝니다.

동시에, 지금까지 쌓아온 규칙 파일을 정리하는 시간이기도 합니다. 도입부에서 시작한 510개의 규칙이 트랙 A를 거치며 1020개로 자랐을 텐데, 이 규칙들이 정말 “좋은 규칙”인지 점검하고, 다음 트랙(트랙 B: 데이터 분석)을 위한 단단한 토대를 만듭니다.


개념 1: 좋은 규칙 vs 모호한 규칙

섹션 제목: “개념 1: 좋은 규칙 vs 모호한 규칙”

규칙 파일에 들어 있는 규칙이 모두 같은 가치를 가지는 것은 아닙니다. 좋은 규칙모호한 규칙에는 명확한 차이가 있습니다.

좋은 규칙은 두 가지를 반드시 갖추고 있습니다.

첫째, 구체적 사건이 기록되어 있습니다. “언제, AI가 뭘 잘못했는지”가 한 줄로 적혀 있어야 합니다. 사건 없는 규칙은 “외워서 적은 것”이지 “경험에서 나온 것”이 아닙니다.

둘째, 검증 가능한 조건이 있습니다. 누가 봐도 “이 규칙을 지켰는지 안 지켰는지” 판단할 수 있어야 합니다.

선생님 스크립트 (규칙 리뷰 시작 시)

“여러분 규칙 파일을 열어보세요. 지금부터 2분만 읽어볼게요. 제가 어제 여러분 규칙 파일을 훑어봤는데요, 아주 좋은 규칙도 있었고, 좀 아쉬운 규칙도 있었어요. 차이가 뭔지 보여줄게요.”

예상 반응: “몇 개나 봤어요?” / “제 거도 봤어요?”

“네, 다 봤어요. 걱정 마세요, 점수를 매긴 게 아니라 여러분이 더 잘 쓸 수 있게 도와주려고 본 거예요.”

아래는 선생님이 화면에 띄워 보여줄 비교 예시입니다.

선생님 스크립트 (비교 후)

“차이가 보이죠? 좋은 규칙에는 두 가지가 있어요. 하나, ‘언제 뭐가 잘못됐는지’ 사건이 적혀 있어요. 둘, 누가 봐도 ‘지켰는지 안 지켰는지’ 판단할 수 있어요.

‘잘 해야 한다’는 규칙이 아니에요. ‘대칭 도형의 x좌표를 ±로 표기할 것’은 규칙이에요. 지금부터 5분 동안 여러분 규칙 파일에서 모호한 규칙을 찾아서 고쳐보세요.”

예상 반응과 교사 대응:

  • “제 규칙이 다 모호한 것 같아요” → “괜찮아요. 사건 기록이 있는 것부터 살려보세요. ‘이때 AI가 이렇게 틀렸다’가 적혀 있으면, 거기서 구체적 조건을 뽑을 수 있어요.”
  • “규칙이 3개밖에 없는데요” → “개수보다 질이 중요해요. 3개가 다 좋은 규칙이면 훌륭해요. 오늘 자유 프로젝트하면서 더 생길 거예요.”
  • “사건을 까먹었어요” → “그래서 실패 기록을 종이에 쓰라고 한 거예요. 종이가 남아 있으면 거기서 찾아보세요.”

지금까지 차시마다 선생님이 흐름을 안내했습니다. “먼저 종이에 그리세요”, “이제 AI에게 시키세요”, “수용 기준을 쓰세요”라고요. 이번에는 학생이 이 흐름을 스스로 진행합니다.

전체 루프를 다시 확인합니다.

flowchart TD
A["1. 주제 선택 + 종이에 구상"] --> B["2. 명세서 작성"]
B --> C["3. 수용 기준 정의 (결과 보기 전!)"]
C --> D["4. AI에게 명세 전달"]
D --> E{"5. 수용 기준으로 판정"}
E -->|"불합격"| F["6. 원인 분석 + 수정 요청"]
F --> E
E -->|"합격"| G["7. 규칙 파일에 추가"]
G --> H["완성"]

규칙이 10개를 넘어가면 한 줄로 나열하는 것은 관리가 어렵습니다. 범주별로 분류해야 합니다. OpenAI 엔지니어들도 “AGENTS.md를 백과사전이 아니라 목차로 취급하라”고 했습니다.

트랙 A 종료 시점의 규칙 파일 분류 체계는 다음과 같습니다.

flowchart TD
R["나의 AI 규칙 파일"] --> A["공통 규칙<br/>(어떤 AI 작업에든 적용)"]
R --> B["3D 조형 규칙<br/>(좌표, 도형, 색상, 대칭)"]
R --> C["애니메이션 규칙<br/>(while 루프, rate, 회전축)"]
R --> D["시뮬레이션 규칙<br/>(물리값, dt, 이론값 대조)"]

자기 규칙 파일은 자기 경험에서만 나왔습니다. 다른 사람의 규칙 파일을 읽으면, **“아, 나는 이런 실수를 안 해봤는데 이런 것도 있구나”**를 발견합니다. 이것이 교차 리뷰의 가치입니다.

도입부에서 “남의 봇을 깨뜨리기”로 경험한 것과 같은 원리입니다. 남이 찾아준 문제가 가장 가치 있는 규칙을 만든다는 것은 30시간 전체를 관통하는 원칙입니다.


이 차시의 따라하기는 “단계별 코딩”이 아니라 **“2시간의 수업 흐름”**입니다. 선생님이 이 흐름대로 수업을 진행합니다.

차시 7 (50분): 규칙 리뷰 + 자유 프로젝트 착수

섹션 제목: “차시 7 (50분): 규칙 리뷰 + 자유 프로젝트 착수”

Step 1: 규칙 파일 중간 리뷰 (10분)

섹션 제목: “Step 1: 규칙 파일 중간 리뷰 (10분)”

선생님 스크립트

“트랙 A 마지막 시간이에요. 오늘은 여러분이 주인공이에요. 주제도 여러분이 정하고, 명세도 여러분이 쓰고, 검증도 여러분이 해요.

그 전에 먼저, 지금까지 쌓은 규칙 파일을 점검해볼게요.”

핵심 개념 1에서 설명한 좋은 규칙 vs 모호한 규칙 예시를 화면에 띄우고, 학생에게 5분간 자기 규칙 파일을 개선할 시간을 줍니다.

선생님 스크립트

“자, 오늘 자유 프로젝트는 세 수준 중 하나를 고르면 돼요. 어떤 수준을 선택해도 평가는 똑같아요. 시뮬레이션을 고른다고 유리한 거 아니에요. 자기 수준에서 명세와 검증을 얼마나 정밀하게 했느냐가 중요해요.”

수준별 선택지:

수준유형예시 주제
수준 1조형 (차시 1-2와 비슷)나만의 방 꾸미기, 동물원 만들기, 미니 도시
수준 2애니메이션 (차시 3-4와 비슷)미니 게임, 춤추는 로봇, 관성 시연
수준 3시뮬레이션 (차시 5-6과 비슷)태양계 모형, 골드버그 머신, 롤러코스터

“주제 선정에 5분 이상 쓰지 마세요. 완벽한 주제를 찾으려다 시간 낭비합니다. 위에서 하나 골라도 되고, 비슷한 걸 직접 정해도 돼요.”

예상 반응과 교사 대응:

  • “뭘 골라야 해요?” → “차시 1-6 중에서 가장 재미있었던 활동이 뭐예요? 그 수준에서 하면 돼요.”
  • “시뮬레이션은 어렵지 않나요?” → “차시 5-6에서 해봤잖아요. 그때 편했으면 시뮬레이션, 어려웠으면 조형이나 애니메이션으로 하세요.”
  • “친구랑 같이 해도 돼요?” → “주제는 각자 정하되, 서로 도와주는 건 괜찮아요. 단, 규칙 파일은 각자 써야 해요.”

Step 3: 자유 프로젝트 수행 (30분)

섹션 제목: “Step 3: 자유 프로젝트 수행 (30분)”

학생이 전체 루프를 독립 수행합니다.

선생님 스크립트 (프로젝트 시작 전)

“시작하기 전에, 순서 확인할게요.

1번, 종이에 뭘 만들 건지 구상하세요. 2번, 명세서를 쓰세요. 도형 종류, 위치, 크기, 색상. 움직임이면 방향, 속도, 범위. 3번, 수용 기준을 결과 보기 전에 쓰세요. 4번, 그 다음에 AI에게 보내세요. 5번, 결과를 수용 기준으로 판정하세요. 6번, 규칙 파일에 추가할 게 있으면 추가하세요.

이 순서 지키세요. 바로 AI에게 ‘만들어줘’ 하면 안 돼요!”

Step 4: 중간 저장 + 진행 상황 공유 (5분)

섹션 제목: “Step 4: 중간 저장 + 진행 상황 공유 (5분)”

선생님 스크립트

“지금까지 한 것 저장하세요. GlowScript에서 코드 저장했는지 확인하세요. 한 명씩 돌아가면서, 지금 뭘 만들고 있고, 규칙이 몇 개 추가됐는지만 말해주세요.”

이 공유는 1~2분이면 충분합니다. “저는 동물원 만드는 중이에요, 규칙 2개 추가했어요” 수준이면 됩니다.


차시 8 (50분): 프로젝트 완성 + 규칙 정리

섹션 제목: “차시 8 (50분): 프로젝트 완성 + 규칙 정리”

Step 5: 자유 프로젝트 마무리 (20분)

섹션 제목: “Step 5: 자유 프로젝트 마무리 (20분)”

학생이 프로젝트를 마무리합니다. Step 3과 동일한 방식으로 교실을 돌아다니며 확인합니다.

선생님 스크립트 (15분 경과 시)

“5분 남았어요. 완성 못 해도 괜찮아요. 중요한 건 프로젝트가 완성됐느냐가 아니라, 명세서를 썼느냐, 수용 기준을 세웠느냐, 규칙이 추가됐느냐예요. 미완성이어도 규칙이 5개 생겼으면 훌륭한 거예요.”

Step 6: 교차 리뷰 + 규칙 파일 최종 정리 + 성찰 (30분)

섹션 제목: “Step 6: 교차 리뷰 + 규칙 파일 최종 정리 + 성찰 (30분)”

선생님 스크립트

“옆 사람과 규칙 파일을 교환하세요. 상대방 규칙 파일을 읽으면서 두 가지를 적어주세요. 하나, ‘이 규칙이 좋은 이유’ — 구체적인 사건이 있고 검증 가능한 규칙을 찾아서 칭찬해주세요. 둘, ‘이 규칙은 더 구체적이면 좋겠다’ — 모호한 규칙을 찾아서 개선 방향을 제안해주세요.”

예상 반응:

  • “상대방 규칙이 다 좋은데요?” → “그래도 하나는 더 구체적으로 쓸 수 있는 게 있을 거예요. ‘좌표를 명시한다’를 ‘모든 도형의 pos를 (x, y, z) 숫자로 명시한다’로 바꾸면 더 좋지 않을까요?”
  • “상대방 규칙이 너무 적어요” → “적은 것 자체는 문제가 아니에요. 있는 규칙이 좋은 규칙인지 봐주세요.”

선생님 스크립트

“자, 이제 규칙 파일을 최종 정리할 시간이에요. 도입부에서 만든 규칙 + 트랙 A에서 추가한 규칙을 합치면 총 몇 개예요? 이것들을 범주별로 나눠서 정리해보세요.”

학생에게 아래 분류 구조를 화면에 띄워줍니다.

# 나의 AI 규칙 파일 — [이름]
작성자: ___ | 날짜: ___ | 총 규칙 수: ___개
## 공통 규칙 (어떤 AI 작업에든 적용)
- (도입부에서 가져온 규칙)
← 사건: ___
## 3D 조형 규칙 (좌표, 도형, 색상, 대칭)
- (차시 1-2에서 추가한 규칙)
← 사건: ___
## 애니메이션 규칙 (while 루프, rate, 회전축)
- (차시 3-4에서 추가한 규칙)
← 사건: ___
## 시뮬레이션 규칙 (물리값, dt, 이론값 대조)
- (차시 5-6에서 추가한 규칙)
← 사건: ___
## 규칙이 생긴 순서 (성장 기록)
1. [도입부] "___" 사건 → "___" 규칙
2. [차시1-2] "___" 사건 → "___" 규칙
3. ...

모범 답안 예시 (규칙 파일 최종 정리):

# 나의 AI 규칙 파일 — 김하늘
작성자: 김하늘 | 날짜: 2026.04.15 | 총 규칙 수: 14개
## 공통 규칙 (5개)
- 모르면 모른다고 해 ← 사건: 급식 봇이 모르는 메뉴를 아는 척 추천함
- 가정하지 말고 물어봐 ← 사건: 봇이 내 취향을 마음대로 가정함
- 범위 밖의 요청은 거절해 ← 사건: 급식 봇에게 코딩을 시켰더니 해줌
- AI에게 안 알려준 건 AI가 모르는 거다 ← 사건: 알레르기 정보를 안 줬더니 위험한 추천
- 시키기 전에 내가 먼저 기대 결과를 적어둘 것 ← 사건: 결과를 보고 나서야 "이건 아닌데" 느낌
## 3D 조형 규칙 (4개)
- 모든 도형의 pos를 (x,y,z) 숫자로 명시할 것 ← 사건: "커비 만들어줘"라고 했더니 발이 머리 위에
- 명세에 없는 도형은 추가하지 말라고 명시할 것 ← 사건: 커비에 팔이 두 개 추가됨
- 대칭 도형의 x좌표를 ±로 명시적 표기할 것 ← 사건: 왼발 x=-0.5, 오른발 x=0.3 비대칭
- AI 결과를 3D로 회전시켜 뒤쪽도 확인할 것 ← 사건: 눈이 앞이 아니라 뒤통수에 있었음
## 애니메이션 규칙 (3개)
- while 루프 첫 줄에 rate(60)을 반드시 포함시킬 것 ← 사건: 로봇 걷기가 너무 빠르게 재생
- 회전축을 명시하지 않으면 AI가 임의 축을 선택한다 ← 사건: 팔이 좌우가 아니라 앞뒤로 회전
- 움직임 범위(각도, 거리)의 최솟값·최댓값을 명시할 것 ← 사건: 팔이 360도 회전해서 몸통 관통
## 시뮬레이션 규칙 (2개)
- 이론값을 먼저 계산한 뒤 시뮬 결과와 대조할 것 ← 사건: AI 시뮬이 이론값과 20% 차이
- "공기 저항 없음" 등 물리 조건을 명시할 것 ← 사건: AI가 자동으로 공기 저항을 추가함
사건 기록이 하나도 없고, 검증 가능한 조건도 없고, 분류도 안 되어 있습니다.

선생님 스크립트

“트랙 A가 끝났어요. 잠깐 돌아볼게요.

차시 1-2에서는 눈으로 봤어요. ‘이 모양이 내가 원한 건 아닌데.’ 이게 시각 검증이에요. 차시 5-6에서는 숫자로 확인했어요. ‘이론값은 40.8m인데 시뮬 결과가 32m네.’ 이게 수치 검증이에요.

시각 검증에서 수치 검증으로, 점점 정교해졌죠? 규칙을 만드는 방법은 같았지만, 검증하는 방법이 달라졌어요.

다음 트랙은 데이터 분석이에요. 거기서는 어떤 검증이 필요할까요? 눈으로 볼 수 있을까요? 숫자로 확인할 수 있을까요? 아니면 다른 방법이 필요할까요?”

예상 반응:

  • “논리로 확인해야 하지 않을까요?” → “맞아요! ‘이 분석에 논리적 비약이 없는가?‘를 확인하는 거예요. 눈이나 숫자보다 더 어려울 수 있어요.”
  • “데이터가 맞는지 확인해야 할 것 같아요” → “좋은 생각이에요. AI가 데이터를 해석할 때 어떤 실수를 할지, 다음 트랙에서 경험하게 될 거예요.”

선생님 마무리

“트랙 A에서 여러분의 규칙 파일이 510개에서 1020개로 자랐어요. 이 규칙들은 다음 트랙에서도 계속 쓸 거예요. 공통 규칙은 그대로 적용되고, 새로운 도메인 규칙이 추가될 거예요. 규칙 파일 잘 저장해두세요. 다음 시간에 가져와야 해요.”


이 차시는 자유 프로젝트이므로 고정된 코드가 없습니다. 대신, 학생이 자유 프로젝트에서 AI에게 보낼 명세서 템플릿을 제공합니다.

수준 1 (조형) 명세서 템플릿:

GlowScript VPython으로 다음 장면을 만들어줘.
[장면 이름]: ___
[도형 목록]
1. ___: (도형 종류), pos=(___), size 또는 radius=(___), color=(___)
2. ___: (도형 종류), pos=(___), size 또는 radius=(___), color=(___)
3. ...
[주의사항]
- 위에 명시한 도형만 사용. 추가 도형 금지
- 도형끼리 관통하지 않게 배치
- (추가 제약 조건)

수준 2 (애니메이션) 명세서 템플릿:

GlowScript VPython으로 다음 애니메이션을 만들어줘.
[장면 이름]: ___
[도형 목록]: (수준 1과 동일)
[움직임 명세]
- (도형 이름)이 (방향)으로 (범위) 만큼 (동작) 한다
- 회전축: ___
- 속도: ___
- 반복 여부: ___
[주의사항]
- while True 루프에 rate(60) 포함
- 움직이는 도형이 다른 도형을 관통하지 않을 것

수준 3 (시뮬레이션) 명세서 템플릿:

GlowScript VPython으로 다음 물리 시뮬레이션을 만들어줘.
[시뮬레이션 이름]: ___
[물리 조건]
- 중력 가속도: ___
- 공기 저항: (있음/없음)
- 기타 조건: ___
[객체 목록]: (수준 1과 동일)
[초기 조건]: (초기 위치, 초기 속도 등)
[이론 예측값]: (직접 계산한 기대 결과)
[주의사항]
- dt = ___ (시간 간격)
- 이론값과 ±___% 이내로 일치해야 함

**교사 대응:** "종이에 먼저 적었어요? 행성이 몇 개고, 각각 크기가 얼마고, 어디에 있어요?"
**교사 대응:** "결과를 보기 전에 '이러면 합격'을 먼저 적어야 해요. 지금 기준을 세우면 이미 늦었어요. 다음 요청부터라도 먼저 적으세요."
**교사 대응:** "그 규칙이 왜 필요해요? AI가 뭘 잘못했어요? 그걸 옆에 적어야 해요."
**교사 대응:** "하나만 찾아보세요. 이 규칙에서 '검증 가능한 조건'이 뭐예요? 없으면 더 구체적으로 쓸 수 있다고 제안해주세요."

선생님이 수업 종료 전 학생에게 나눠줄 자기 점검 체크리스트입니다.

  • 자유 프로젝트에서 명세서를 AI에게 보내기 전에 작성했는가?
  • 수용 기준을 결과를 보기 전에 정의했는가?
  • 오늘 규칙 파일에 최소 1개 이상의 새로운 규칙을 추가했는가?
  • 모든 규칙에 ”← 사건:” 기록이 있는가?
  • 규칙 파일을 범주별(공통/조형/애니메이션/시뮬레이션)로 분류했는가?
  • 교차 리뷰에서 상대방에게 구체적인 피드백을 주었는가?
  • 규칙 파일 총 개수가 10개 이상인가? (도입부 + 트랙 A)

선생님용 수업 자기 점검:

  • 규칙 리뷰에서 좋은 규칙 vs 모호한 규칙의 차이를 구체적 예시로 보여주었는가?
  • 자유 프로젝트 시간에 학생에게 “지금 어느 단계예요?”를 물어보았는가?
  • 코드 디버깅을 해주지 않고, “왜 AI가 이렇게 했을까? 규칙으로 어떻게 막을까?”로 유도했는가?
  • 프로젝트 완성도가 아니라 규칙 파일의 성장을 칭찬했는가?
  • 트랙 B(데이터 분석)에서의 검증 방법 변화를 예고했는가?

도전 1: 규칙 파일 “품질 감사”

자기 규칙 파일의 모든 규칙을 아래 기준으로 점수를 매겨보세요.

기준점수
사건 기록이 있다+1점
검증 가능한 조건이 있다+1점
다른 과제에도 적용할 수 있다+1점

3점짜리 규칙이 가장 좋은 규칙입니다. 1점짜리 규칙은 개선이 필요합니다. 0점짜리 규칙이 있다면… 그건 규칙이 아니라 희망사항입니다!

도전 2: 트랙 B 미리보기

트랙 B(데이터 분석)에서는 검증 방법이 또 바뀝니다. 3D에서는 “눈으로” → “수치로” 진화했다면, 데이터 분석에서는 “논리적 타당성”이라는 더 모호한 기준을 세워야 합니다. 자기 규칙 파일을 보면서 “이 규칙이 데이터 분석에도 적용될 수 있을까?”를 생각해보세요.

도전 3: 규칙 파일 “시간 여행”

자기 규칙 파일의 첫 규칙(도입부 차시 1-2에서 만든 것)과 마지막 규칙(오늘 만든 것)을 비교해보세요. 어떻게 달라졌나요? 이 성장이 바로 이 교육과정의 핵심 성과입니다.


트랙 B: “데이터 분석과 시각화” 3D 세계를 떠나 데이터의 세계로 들어갑니다. AI에게 데이터 분석과 시각화를 시키면 — 새로운 종류의 실수가 등장합니다. “이 그래프가 정확한가?”보다 “이 분석에 논리적 비약이 없는가?”를 판단해야 합니다. 규칙 파일에 새로운 카테고리가 생길 거예요.