Solar Pro 4 하나로 열흘

2026 MABC 결선 개발 기록 · 2026년 9월

모델 solar-pro4609세션 전부. 다른 모델 기록 0건.

조건

결선은 규정이 도구를 정해 준다. 쓸 수 있는 모델은 Solar Pro 4 하나고, 다른 모델을 부르면 실격이다. 개발 기록이 수집돼 제출물과 대조되기 때문에 지켰다는 말로는 부족하고, 새는 경로를 실제로 막아 둬야 한다.

기간은 9월 9일부터 16일 자정까지, 여드레였다.

수치

일자별 — 세션·메시지·도구 호출은 세션 DB, 커밋은 레포 git, 비용은 청구 콘솔에서 집계(출처가 달라 비용은 키 단위이고 세션 단위로 나뉘지 않는다). 상한 2026-09-17 02:00.
날짜 세션 메시지 도구 호출 커밋 비용
09-07342200$0.02
09-090000$0.00
09-1032841390$0.29
09-11261,4165660$5.37
09-12222,0011,0570$4.98
09-13251,2255580$1.13
09-14453,3471,8310$11.91
09-151478,1164,3358$13.32
09-1633112,1396,187226$11.18
09-17*7105567*$0.00

* 09-17 커밋 7개는 마감(9/16 23:59) 이후에 만든 수정이고, 푸시하지도 배포하지도 않았다. 제출 레포의 공개 이력은 9/16 23:57 에서 멈춰 있다 — 규정상 제출 뒤에는 배포본을 바꿀 수 없어서 로컬에만 두었다. 09-09 는 교육 실습일이라 세션을 열지 않았다.

읽히는 것 셋:

수치가 어디서 나왔나

세 곳이다. 세션·메시지·도구 호출·토큰·모델은 에이전트의 세션 DB 를 읽기 전용으로 열어 집계했고, 커밋은 제출 레포의 git rev-list·git log, 비용은 콘솔 화면을 그대로 옮겼다.

채집은 스크립트로 고정돼 있어서 다시 돌리면 같은 값이 나온다. DB 가 계속 커지기 때문에 집계 상한을 시각으로 박아 뒀다. 비용만은 재현이 안 된다 — 콘솔을 다시 열어야 대조되는 단일 출처다.

메시지는 세션 행에 붙은 카운터가 아니라 실제 메시지 행을 센 값이다. 둘은 482건 어긋나서 일자별 합계가 총계와 안 맞았다.

실패한 화면들

여섯 장. 그중 넷이 모델이 무너지는 장면이다. 둘은 그걸 감당하려고 짠 판이다.

1 에러를 물었더니 18세기 오페라

터미널 화면. ‘explain this error and how to fix it’ 이라는 질문 아래로 18세기 오페라에 관한 한국어 요약이 핵심 요약·주요 축·테마 형식으로 출력돼 있다.
2026-09-16. 상태줄에 solar-pro4 가 보인다.

explain this error and how to fix it 이라고 물었더니 1700년대 찰스턴의 오페라 애호가 이야기를 요약해 줬다. 핵심 요약, 주요 축, 배경·인물·사건 흐름, 테마까지 형식은 완벽했는데 내용만 아무 상관이 없었다.

2 「다섯 군데.」

터미널 화면 가득 ‘다섯 군데를 모두 바꾼다.’ 와 ‘다섯 군데.’ 라는 같은 문장이 열다섯 줄 넘게 반복돼 있다.
2026-09-16 05시경. 조사해서 브리핑을 써 달라고 한 결과다.

같은 문장이 화면이 넘치도록 반복됐다. 「커밋한다.」 → 「커밋」 → 「커」 로 짧아지며 죽는 것도 봤다.

둘은 같은 계열의 퇴화인데 방아쇠가 다르다. 커밋 쪽은 원인을 짚었다 — 긴 세션(메시지 80개 이상) 끝물에 검증 증거를 되묻는 장치가 걸리면 검증과 커밋 선언 사이를 무한히 돈다. 실제로 커밋된 것은 없었다. 이 「다섯 군데」 쪽은 확정 원인을 못 잡았다 — 조사해서 브리핑을 써 달라고 했을 뿐이라 검증 장치와는 상관이 없다.

이런 걸 며칠 보고 나면 방식이 바뀐다.

3 다섯을 동시에

터미널 패널 다섯 개가 가로로 나란히 떠 있고 각각 다른 작업을 진행 중이다. 모든 패널 하단 상태줄에 solar-pro4 가 표시돼 있다.
2026-09-16 02시경. 패널마다 다른 작업이 돌고 있고 전부 solar-pro4 다. 개인 정보가 있던 좌우·하단은 잘라냈다.

한 세션이 길어지면 위처럼 무너지니까 세션을 길게 끌지 않고 짧게 여러 개로 나눴다. 대신 사람이 다섯 개를 동시에 본다. 이 방식은 모델이 아니라 사람을 병목으로 만든다.

4 카드 한 장 = 세션 하나

체크박스 목록. M14 스텝15 부터 스텝39 까지 카드가 나열돼 있고 스텝22 까지 여덟 개가 체크돼 있다.
할 일을 스텝 단위로 쪼개 둔 것. 화면에 보이는 것만 15번부터 39번까지다.

세션이 일회용이면 다음에 뭘 할지 기억하는 자리가 모델 밖에 있어야 한다. 그게 카드다. 최종적으로 18개 묶음에 454장이 쌓였는데 분포가 말을 한다 — 앞쪽 기능 묶음은 4~10장이면 끝났고 마감 묶음은 86장·173장이다. 기능을 만드는 것보다 끝내는 것이 훨씬 잘게 쪼개졌다.

나머지 두 장 — 반복 퇴화의 다른 모양
터미널 화면에 ‘커밋한다.’ 가 수십 줄 반복되고 뒤로 갈수록 ‘커밋’, ‘커’ 로 짧아진다.
커밋 선언이 짧아지며 죽는다. 실제 커밋은 없었다.
터미널 화면에 같은 함수 시그니처를 줄이겠다는 서술이 표현만 조금씩 바뀌며 스무 번 넘게 반복돼 있다.
같은 작업 선언을 표현만 바꿔 반복하다 응답 대기 182초로 끊겼다.

둘째 장은 내 탓이었다. 작업 카드에 실제 파일에 없는 필드 이름을 적어 뒀더니, 모델이 없는 이름을 있는 이름으로 바꾸는 일과 인자 개수 맞추기 사이를 오가며 퇴화했다. 470줄이 커밋되지 않은 채 남았다.

그 뒤로 카드에 쓰는 타입·필드 이름은 파일에서 눈으로 확인한 것만 적었다.

그래서 굳은 방식

여덟 가지였는데 다섯만 옮긴다. 무너지는 걸 볼 때마다 하나씩 고쳐서 남은 것이다. 미리 설계한 건 없다.

출발점은 한 줄이다 — 이 모델은 말로 시키면 안 듣는다. “~하지 마라”를 잘 안 지키고, “도구를 썼다고 출력하라”고 해도 도구는 안 부르고 문장만 만든다. 그래서 방향이 말로 시키기에서 기계로 막기로 갔다.

남는 것

여기 적힌 것이 다 오래가지는 않는다.

세션 수명, 말을 못 믿는 것, 혼잣말 언어 — 이건 모델과 도구의 성질이라 나아지면 사라진다.

카드와 파일 단위 병렬, 갈래 분리는 작업을 어떻게 나누느냐의 문제라서 모델 성능과 상관이 없다. 누가 일하든 같은 파일을 둘이 동시에 고치면 부딪히고, 다음에 뭘 할지는 어딘가에 적혀 있어야 한다.

그리고 대가가 있다. 이 방식은 사람을 병목으로 만든다. 세션을 짧게 쓰고 여러 개를 동시에 돌리면 카드를 쓰고 판정하고 되돌리는 일이 전부 한 사람한테 몰린다. 새벽 2시에 패널 다섯 개를 보고 있는 화면이 그 값이다.