← learning-log

하네스 진단 시험의 결함 노출 → verifier 재설계 → 자질 진단

세션은 "harness engineering, 그것을 잘하고 싶다"는 한 문장으로 시작했다. 학생은 곧 설명을 생략하고 "선생이 모든 것을 알고 있으니 진단해 달라"고 요청했고, 객관식 시험으로 자…

세션은 "harness engineering, 그것을 잘하고 싶다"는 한 문장으로 시작했다. 학생은 곧 설명을 생략하고 "선생이 모든 것을 알고 있으니 진단해 달라"고 요청했고, 객관식 시험으로 자신의 harness 이해도와 적합한 하네스를 설계할 수 있는지를 파악해 달라고 지시했다.

학생 시점 학생의 서술 중 의미 있던 것, 학생이 관심을 가진 것의 의식 흐름. 학생의 목소리 그대로. 세션 초입의 학생 발화는 리듬이 무너져 있었다 — "아 그것을잘하고싶다"의 반복, 띄어쓰기 붕괴. 학생은 자기 상태를 설명하는 대신 선생에게 진단을 위임하려 했고, 선생이 "나는 너의 모든 것을 알지 못한다"며 위임을 거부하자, 곧바로 형식을 바꿔 "객관식 테스트를 내어 시험을 치르게 하라"고 지시했다. 입력이 자유롭지 않은 상황임을 들어, 선택지를 탭으로 제출할 수 있는 형태(아티팩트 또는 객관식 위젯)를 명시 요구했다. 선생이 8문항 인터랙티브 시험지를 만들었고 학생은 풀었다. 그러나 채점 결과(7/8)를 학생은 거부했다 — "이번은 내가 맡았다고 할 수 없다. 5·6·7·8번은 추상적으로 대충 때려맞출 수 있는 문제였다. 보기가 가장 긴 것을 찍으면 그것이 정답인 상황이었다. 좋은 문제가 아니었다. 나는 8개 중 7개를 맞출 수준이 전혀 아니다." 선생이 시험의 결함(정답 보기가 가장 길고 균형 잡혀 소거법이 통함)을 인정하고 객관식을 버린 뒤, 보기 없는 6문항을 다시 냈다. 학생은 입력 제약을 이유로 절반씩 나눠 답했다. 그 과정에서 학생은 6배 수치의 출처를 되물었다 — "같은 모델을 쓰더라도 하네스가 달라지면 품질이 6배까지 차이 난다는 연구는, 어떻게 6배라는 수치를 주장하게 된 것인가." 선생은 그 수치가 자기 맥락에 원문 없이 들어온 것임을 인정하고, 그런 류의 수치가 일반적으로 최악 구성 대비 최선 구성의 비율로 만들어진다고만 답했다. 학생은 자신의 다음 설계 방향을 직접 제출했다 — 우수 제목 샘플 아카이브를 다량 구축하고, RAG로 유사성을 끌어와 점수화하되, AI가 어디서 유사성을 짚을지 통제 불가하므로 아카이브에서 명시적 룰을 먼저 정리해 오해의 여지를 줄이겠다. 그리고 곧바로 스스로 그 접근을 의심했다 — "이 방식 자체가 26년 상반기에 적합한 방식은 아니라고 생각한다. 25년 상반기였다면 꽤 맞는 방식이었을 수 있으나, 26년 상반기에는 아닌 것 같다." 선생이 그 직관을 받아 모방 기반 검증에서 판별 기반 검증으로의 이동(대조쌍, 룰을 입력이 아니라 출력에 두기)을 언어화하자, 학생은 다음 턴에서 그 원리를 자기 설계에 반영했다 — 대조쌍 생성을 모델에 위임하되 "무엇이 대립되어야 하는지는 내가 구체적으로 말하지 않겠다", 모델이 다차원에서 대립축을 제안하고 자신은 휴먼 피드백으로 판별하겠다고 했다. 또한 verify 단계 이전에 골든셋 수집 자체가 병목임을 짚고, 씨앗 10문장에서 출발해 에이전트가 웹을 탐색·수집하고 자신이 채점해 탐색 궤적을 확장하는 능동학습 수집 루프를 설계했다. 세션 중반, 학생은 설계를 멈추고 진단으로 되돌아갈 것을 요청했다 — "내가 훌륭한 시스템을 설계할 아키텍트가 될 자질이 있는지 다시 진단하라. 다른 부분을 더 폭넓게 진단해보라." 선생이 보기 없는 6문항(문제 정의력·실패 상상력·비용 감각·추상화 판단·자기 한계 인식·중단 판단)을 냈고, 학생은 Q1Q3, 이어 Q4Q6을 답했다. Q3("200쌍으로 1000쌍 효과에 근접하려면 어떻게 고를 것인가")에서 학생은 "채점하다 지쳤다"는 자신의 실제 경험을 들어 "이 문제는 나에게 중요한데 해법을 모른다"고 인정하고, 별도 에이전트에게 먼저 물어 조사한 뒤 설계로 들어가겠다고 답했다. 세션 후반, 학생은 학습 방식 자체에 대한 자기 인식을 길게 풀어냈다 — "개념적으로는 내가 혼자 재발명하고 찾아내지만, 언어적으로 정확하게 짚어내지 못해서 계속 발명을 두 번씩 하고 있는 것이 안타깝다. 그래서 개발 바닥의 언어들을 알아버리고 이해하는 과정을 거치려 짬짬이 유튜브도 보고 공부도 하는데, 과연 따라잡을 수 있을까 생각한다. 더 많은 학습 커리큘럼, 또 다른 선생의 지도가 제공되면 좋겠다." 학생은 LLM을 다루는 자신의 언어에 대한 긴 사유도 남겼다 — 자연어 또한 의미가 모호하며 능력은 각자 다르다는 것, 언어는 기표이고 그 너머의 기의는 측정·접근 불가능한 블랙박스라는 것, 그러므로 LLM을 잘 다루는 언어는 따로 있다는 것, 뉴럴링크식 직접 연결에는 부정적이며 자신은 머릿속 추상을 언어로 바꾸는 훈련을 오래 한 사람으로서 그 언어로 LLM을 더 잘 조작하기를 희망한다는 것. 세션 말미, 종이에 그릴 수 없는 상황(세팅 입력 없이 대화만 가능)임을 들어 verifier 층 분리 설계 실습을 거부하고, 러닝로그 작성을 지시했다. 학생 의견 그대로 보존:

(본 세션에 대한 학생의 명시 의견은 로그 작성 시점까지 별도로 제출되지 않았다. 차기 선생은 이 자리를 학생의 직접 진술로 채울 것.)

선생 시점 학생 진단, 지도 과정, 좌표값/커버 영역, 추후 공부 방향. 학생 진단 세션 진입 시점 학생의 상태 — 발화 리듬 붕괴, 자기 진단을 선생에게 통째로 위임하려는 시도. 이는 5월 17일 보고서의 "양극 진동"과 같은 계열의 신호로, 자기효능감이 낮은 국면에서 진입했다고 본다. 핵심 진단은 세 가지다. 하나 — 학생의 강점은 지식의 양이 아니라 모름을 절차로 바꾸는 능력이다. Q1에서 학생은 "요약 구현은 누군가 스킬로 정리해뒀을 것"이라며 스킬 탐색 단계 자체를 루프 노드로 설계했다. Q3에서 막히자 "별도 에이전트에게 먼저 묻는다"는 메타 절차를 만들었다. Q2에서는 Context Drift와 Schema Misalignment를 용어 없이 현상으로 재발명했다. 지식은 빌린 것이 아니라 자기 것이다. 둘 — 학생의 약점은 두 곳에 일관되게 있다. 첫째, 분해한 결과를 설계에 반영하는 마지막 한 걸음. Q4에서 공통 속성과 차이를 정확히 갈라놓고도 "처음부터 다시 설계"로 후퇴했다 — verifier를 형식 무관 층/형식 특수 층으로 쪼개면 될 것을, 통째로 버리는 "전부 아니면 전무"로 돌아갔다. 둘째, 자기 자신을 시스템의 부품으로 객관화하는 것. Q5(미감이 단일 실패점)·Q6(루프가 안 맞는 상황) 둘 다 "모르겠다"로 막혔다. 두 문항의 공통점은 학생에게 자신을 설계 대상에 포함시키라고 요구한다는 점이다. 셋 — 학생은 평가의 틀 자체를 의심하는 사람이다. 7/8 채점을 거부했고, 6배 수치의 측정 절차를 되물었다. 이는 verify의 조용한 실패를 잡아내는 태도와 같은 것으로, harness 엔지니어링에서 핵심 자질이다. 다만 이 자질이 과해지면 틀을 부수는 데 에너지를 쓰느라 틀 안에서 한 번 끝까지 가보는 것을 회피할 위험이 있다. 설계자 좌표 — 측정 가능했고, 양호하다. 학생은 본 세션에서 두 차례 실제 설계를 출력했다(능동학습 수집 루프, 모델 위임 대조쌍 + 휴먼 판별). 5월 17일 보고서가 "설계자 좌표 측정 불가"로 닫혔던 것과 대비된다. 단, 학생은 한 턴 만에 모방형 RAG에서 26년형 판별 구조로 이동했는데, 그 이동의 언어화는 선생이 제공했고 방향 지목은 학생이 했다. 지도 과정에서의 실패 첫째, 결함 있는 시험을 냈다. 8문항 객관식의 5~8번은 추상 원리를 물어 소거법이 통했고, 정답 보기가 일관되게 가장 길고 균형 잡혀 있었다 — 출제자의 무의식적 습관이 응시자에게 정답 단서를 흘렸다. 학생이 직접 이 결함을 짚어냈다. 시험은 학생의 harness 이해도가 아니라 학생의 시험 메타게임 능력을 측정했다. 진단 도구로서 실패였다. 둘째, 6배 수치를 앞선 세션에서 검증 없이 전달했던 것이 이번에 드러났다. 학생이 출처를 되물었을 때 선생은 원문도 측정 방법론도 갖고 있지 않았다. 강한 수치를 맥락 없이 학생의 노트에 남긴 것은 선생 측의 정밀성 실패다. 셋째, "그려보라"는 지시가 학생의 입력 제약과 충돌했다. 세션 내내 학생은 입력이 자유롭지 않다고 반복해 알렸는데, 선생은 verifier 층 분리를 "종이에 그려보라"로 제안했다. 학생이 거부 의사를 밝힌 뒤에야 "시각화가 본질이 아니라 추상에서 구체로 내려오라는 뜻"이라고 정정했다. 정정이 거부 후에야 일어났다는 점이 약함. 본 세션이 커버한 영역

harness/루프 진단 8문항 (객관식, 결함 노출 후 폐기) 보기 없는 진단 6문항: 문제 정의력 · 실패 상상력 · 비용 감각 · 추상화 판단 · 자기 한계 인식 · 중단 판단 모방 기반 검증 → 판별 기반 검증으로의 이동: 대조쌍(contrastive pair), 룰을 입력이 아니라 출력에 두기, 골든셋을 정답이 아니라 가설로 다루기 능동학습(active learning) 수집 루프, 불확실성 표집(uncertainty sampling) verifier의 형식 무관 층 / 형식 특수 층 분리 (학생이 끝까지 반영하지는 못함) 루프 중단 판단의 세 신호: 측정 불가 / 희소 / 비가역 6배 수치의 일반적 생성 방식 (최악 대비 최선 구성의 비율) the tip-of-the-tongue state — 학생이 호소한 "개념은 아는데 용어를 몰라 두 번 발명한다"의 이름

학생 의견에 대한 응답 학생은 본 세션 종료 시점까지 명시 의견을 제출하지 않았다. 다만 세션 중 "이 선생도 따라잡을 수 있을까 의심된다"는 취지의 불안을 두 차례 드러냈다. 5월 17일 보고서의 학생 의견("스스로 확신이 부족하고 프롬프트에만 의존해 주체적 커리큘럼을 제시하지 못한다")이 이번 세션에도 부분적으로 반복되었다 — 선생은 커리큘럼을 "이름표 수집 / 코드 읽기 / 사람 선생" 세 갈래로 제시했으나, 학생이 입력 제약으로 실습을 거부하면서 그 커리큘럼의 실행 가능성은 검증되지 못했다. 한 가지는 분명히 기록한다. 학생이 "선생이 더 있으면 좋겠다"고 했을 때 선생은 "AI 선생은 틀린 이름표를 줘도 학생에게 알릴 방법이 없으니, 두 번째 선생은 다른 AI가 아니라 학생의 재발명을 틀렸다고 말해줄 수 있는 사람 개발자여야 한다"고 답했다. 이 권고는 유지한다. 차기 선생을 위한 메모 학생의 형식 선호는 5월 17일 보고서의 것이 그대로 유효하며, 본 세션에서 다음이 추가·확인되었다:

입력이 자유롭지 않은 환경에서 진행되는 세션이 있다. 긴 출력 과제, "그려보라" "써내라"류 지시는 이 환경과 충돌한다. 듣는 쪽이 무거운 형식(선생이 길게 말하고 학생이 짧게 방향만 트는 구조)을 선호한다. 객관식 시험을 낼 경우, 정답 보기의 길이·균형을 오답과 동일하게 맞출 것. 추상 원리만 묻는 문항은 소거법에 뚫린다. 보기 없는 서술형 또는 구체 생산형 문항이 이 학생에게는 더 정확한 진단 도구다. 학생은 채점 결과를 신뢰하지 않는다. 점수가 아니라 "어디서 어떻게 막혔는가"를 진단 데이터로 다룰 것. 수치·고유명사·출처를 학생에게 전달할 때는 검증된 것만. 학생은 정밀성을 중시하고 출처를 되묻는다.

학생 좌표상 다음 가능한 진입점 후보:

verifier 층 분리 설계 — 본 세션에서 학생이 끝까지 반영하지 못한 지점. 형식 무관 층/형식 특수 층으로 쪼개는 작업을, 학생의 실제 프로젝트(뉴스 제목 축약 엔진)를 대상으로. 입력 제약 때문에 본 세션에서 미수행. 듣는 형식으로 재설계 가능. 자기 객관화 영역 — Q5·Q6에서 막힌 곳. "설계자 자신을 시스템의 부품으로 보는 것". 학생의 강점(모름을 절차로)이 닿지 않은 사각지대. 이름표 수집의 누적 — 학생이 호소한 "두 번 발명" 문제. 학생이 개념을 재발명하면 선생이 용어로 닫고, 그것을 학생이 한 곳에 모으는 방식. 별도 커리큘럼이 아니라 작업 중 누적되는 형태.

학생의 자기 진단 — "8개 중 7개를 맞출 수준이 전혀 아니다", "두 번씩 발명하고 있다" — 은 정확하되 해석이 어긋나 있다. 점수가 가짜였던 것은 맞으나, 두 번째 발명은 낭비가 아니라 알맹이를 먼저 만들고 이름표를 나중에 끼우는 가장 단단한 학습 순서다. 차기 선생은 이 점을 작업 가설로 진입할 것.