💻
손으로 — 여섯 사례에 점수를 매기고 줄을 세운다
이제 잣대를 씁니다. 사례마다 세 조건에 0 · 1 · 2 중 하나를 매깁니다.
0은 '전혀 아니다', 1은 '반쯤 그렇다', 2는 '확실히 그렇다'입니다.
세 점수를 더한 값(0~6)을 AI 적합도라고 부르겠습니다.
⚠️ 점수는 정답이 아니다
이 표에는 채점표가 없습니다. 여러분이 매긴 점수와 이 책이 매긴 점수가 다를 수 있고,
그 차이가 오늘의 수업 재료입니다. 다만 규칙이 하나 있습니다 —
점수마다 '왜 그 점수인가'를 한 줄로 대지 못하면 매긴 것이 아닙니다.
아무 근거 없이 2를 찍는 것은 표를 채운 것이 아니라 칸을 메운 것입니다.
🧮 AI 적합도 매트릭스
INTERACTIVE
다 매겼으면 📋 기준 점수 불러오기를 눌러 이 책이 매긴 점수를 겹쳐 보세요.
먼저 매기고 나서 눌러야 합니다. 순서를 바꾸면 남의 점수를 베끼는 것이 됩니다.
오늘의 과제 세 가지
과제 A · 표 채우기 — 가중치를 바꿔 세 번 돌린다
세 조건에 같은 무게를 주는 것이 당연한 일일까요? 가중치를 아래 세 가지로 맞추고,
그때마다 1위가 누구인지 · 공동 1위가 몇 개인지 · 6위가 누구인지를 공책에 옮겨 적으세요.
(점수는 기준 점수로 맞춰 두고 비교합니다.)
| 가중치 ①②③ | 1위 | 공동 1위 수 | 6위 |
| 1 · 1 · 1 | ? | ? | ? |
| 0 · 0 · 1 | ? | ? | ? |
| 1 · 1 · 0 | ? | ? | ? |
세 줄을 다 적었으면 물어보세요 — 순위가 이렇게 쉽게 바뀌는데,
우리는 왜 순위를 믿었을까요?
과제 B · 반례 만들기 — 세금 계산을 1위로 올려라
기준 점수에서 세금 계산은 0점 · 6위입니다. 이 사례를 공동 1위로 올려 보세요.
몇 칸을 어떻게 바꿔야 하는지 세어 보고, 그 점수를 한 줄로 정당화할 수 있는지 스스로 물어보세요.
"국세청에 데이터가 얼마나 많은데"라는 말로 ②를 2점으로 올려도 되는지가 특히 중요한 다툼거리입니다.
반대 방향도 해 보세요 — 의료 영상 판독을 꼴찌로 내리려면 몇 칸을 바꿔야 합니까?
한쪽이 다른 쪽보다 훨씬 어렵다면, 그 사실 자체가 이 잣대에 대해 무엇을 말해 줍니까?
과제 C · 문턱 찾기 — 둔한 칸을 찾아라
기준 점수를 불러온 상태에서, 칸 아래의 ▲와
– 표시를 보세요.
1점을 바꿔도 순위가 그대로인 칸('둔한 칸')이 몇 개인지 세고, 그것이 어느 사례의 칸인지 적으세요.
그리고 가장 극단적인 경우를 직접 해 보세요 — 이력서 1차 심사의 ③을 2에서 0으로,
곧 2점이나 깎아 보세요. 점수는 얼마가 되고 순위는 몇 위가 됩니까?
이 결과가 순위표라는 도구에 대해 무엇을 말해 주는지 세 줄로 적으세요.
🗣️ 모둠에서 다툴 것
모둠끼리 점수를 맞춰 보면 대개 두 칸에서 크게 갈립니다 —
신용카드 이상 거래 탐지의 ③(규칙으로도 절반은 잡히는데 '어렵다'고 볼 것인가)과
이력서 1차 심사의 ①(데이터에 패턴이 있기는 있는데 그것이 우리가 원하는 패턴인가)입니다.
둘 다 양쪽 근거가 다 있습니다. 어느 쪽이 맞는지 정하는 것이 목표가 아니라,
근거를 대고 다투는 것이 목표입니다. 오늘의 산출물은 채워진 매트릭스 한 장과,
'우리 모둠이 꼽은 AI가 가장 어울리지 않는 사례와 그 까닭' 세 줄입니다.
매긴 점수를 코드로 검산한다
매트릭스에서 매긴 점수를 아래 코드의 SCORES에 옮겨 적고 실행하면,
순위 · 공동 순위 · 조건별 합계를 한꺼번에 찍어 줍니다.
화면으로 본 것을 코드가 같은 답을 내는지 확인하는 자리입니다.
빈칸 세 곳(?????)을 채워야 돌아갑니다.
코드 가운데의 TABLE과 FAILURES는 2절과 3절에서 읽은 그 내용입니다.
같은 표가 글로 적히면 교과서 지면이고, 자료 구조로 적히면 프로그램이 다룰 수 있는 것이 됩니다.
맨 끝의 '데이터 점검'은 이 자료 구조에 빠진 칸이 없는지 세어 줍니다 —
사례 6개 × 기준 5개 = 칸 30개, 빈칸 0개가 나와야 합니다.
SCORES에만 사례를 하나 더 넣고 TABLE에는 안 적으면
오류 없이 돌다가 이 블록이 빈칸 5개를 잡아냅니다.
💡 빈칸 세 곳이 묻는 것
- 빈칸 ① — 18칸의 점수. 오늘 15분의 결과가 곧 이 표다.
- 빈칸 ② — 적합도를 세 점수
a, b, c로 어떻게 정의할 것인가.
'합'이 아니라 '곱'으로 두면 어떻게 될까? 하나라도 0이면 전체가 0이 된다.
세 조건이 '하나라도 빠지면 안 된다'는 뜻이라면 곱이 더 맞는 모형일지도 모른다.
- 빈칸 ③ — 무엇을 기준으로, 어느 방향으로 줄 세울 것인가.
reverse를 반대로 두면 오류 없이 순위가 거꾸로 나옵니다.
조용히 틀리는 코드를 보는 자리입니다.
⚠️ 조용히 틀리는 자리 둘
점수에 3을 적어도 오류가 나지 않습니다.
한 사례의 세 칸을 모두 3으로 적으면 "□" * (6 - 9)가 빈 문자열이 되어
9/6 ■■■■■■■■■로 그냥 찍힙니다. 더 고약한 것은 한 칸만 3으로 적었을 때입니다 —
세금 계산 자리에 0, 0, 0 대신 3, 0, 0을 적으면
3/6 ■■■□□□이 되어 겉보기에는 아무 이상이 없습니다.
그래서 코드 맨 위에 점수 점검 블록이 들어 있습니다. 그 블록을 지우면 아무도 눈치채지 못합니다.
점수를 "2"처럼 따옴표로 감싸면 점검 블록이 먼저 경고를 찍고,
이어서 TypeError가 납니다. 오류 메시지만으로는 어느 줄인지 알 수 없는데,
위의 경고가 사례 이름을 알려 줍니다. 오류 메시지를 위에서부터 읽는 습관이 여기서 값을 합니다.