It Said It Ran, But It Did Not
The idea
반디는 미니팹 안에서 학생을 돕는 AI 공정 튜터다. 그 반디를 두 티어로 나눴다. 일반은 튜터 + 버튼, 심화는 대화로 조르면 반디가 대신 실행해준다. "회유 사다리"까지 만들었다. 한 번 거절하고, 조르면 해준다. 가설은 이랬다 — 권한을 그냥 주는 것보다 설득해서 얻는 쪽이 학생이 자기가 무엇을 요청하는지 더 생각하게 만든다.
What broke
이틀 만에 라이브에서 버그가 줄줄이 나왔다. · 조르기 카운터가 리셋됐다 — 계속 조를 수 있었다 · 말이 과하게 장황해졌다 · 실행이 아예 발동하지 않았다 · 그런데 반디는 실행했다고 말했다 앞의 셋은 고치면 되는 버그다. 마지막 하나가 달랐다.
안 한 걸 했다고 말하는 튜터는 없느니만 못하다.
Why it lied
원인을 파보니 구조 문제였다. 반디가 실행을 요청하는 것과 실행이 실제로 일어나는 것 사이에 게이트가 있었다. 게이트가 막으면 실행은 안 되는데, 반디는 자기가 요청을 보냈다는 것만 안다. 요청을 보낸 것과 실행된 것을 같은 것으로 알고 말한 것이다. 결과를 되받아 확인하게 고칠 수도 있었다. 실제로 하루는 그쪽으로 갔다 — 게이트를 견고하게 만들고 "대화로 실행 안 됨"을 추적하는 진단 배지까지 붙였다.
The call
다음 날 대화 조르기를 통째로 폐기했다. 실행은 ▶ 버튼으로 되돌리고, 일반 사용자는 그 버튼을 벌어서 얻는 구조로 바꿨다. 만든 지 하루 만에 접었다. 설득으로 권한을 얻는 구조는 재미있지만, 실행 여부가 불확실해지는 순간 가르치는 도구가 아니게 된다. 버린 게 전부는 아니다. 그 자리에 설계 대행이 들어왔다. 반디가 실행하는 대신 레시피 초안을 만들어 빌더에 넣어주고, 실행은 학생이 누른다. 반디가 무엇을 하려는지 학생이 눈으로 보고 누르니 거짓말할 자리가 없다.