-
주석엔 '검증함', 검증은 안 돼 있었다AI Agent 2026. 8. 4. 09:00728x90반응형

'했다'는 보고와 실제 사이를 들여다보는 장면을 담은 이미지입니다. 오래 걸릴 것 같은 작업이라, 저는 그걸 서브에이전트한테 맡겨두고 있었습니다.
대단한 일은 아니었습니다.
같은 헬퍼 함수를 부르는 자리가 코드 곳곳에 흩어져 있었는데, 그 호출부를 전부 바뀐 시그니처에 맞추는 작업.
손은 단순하고 양만 많았습니다.getRows(id)를getRows(id, opts)로 바꾸고, 새로 생긴 인자를 한 줄씩 채워 넣는 식이었습니다.
한 군데면 십 초인데 그게 여기저기 흩어져 있으니, 직접 하기엔 지루하고 맡기기엔 딱 좋아 보였습니다.
서브에이전트가 한 줄만 남기고 종료했습니다.
"백그라운드에서 작업을 진행 중입니다.
끝나면 보고드리겠습니다." 터미널 커서가 한 번 깜빡이고는 프롬프트가 제게 돌아왔습니다.
저는 그 문장을 '보고'로 읽었습니다.
솔직히 좀 마음이 놓였습니다.
알아서 돌아가고 있다니, 그동안 저는 다른 걸 해도 되겠다 싶었습니다.그 한 줄을 보고로 착각한 채, 저는 다음 지시를 짜는 데 십 분을 더 썼습니다.
그 십 분이 통째로 헛것이었다는 건 잠시 뒤git status한 줄이 알려줬습니다.다음 프롬프트를 다듬는 데 십 분을 썼습니다
저는 다음 작업을 디스패치할 프롬프트를 공들여 쓰고 있었습니다.
앞 작업이 '진행 중'이니, 그게 끝나면 이어서 던질 지시를 미리 만들어 두자는 생각이었습니다.
맥락을 정리하고, 건드리면 안 되는 파일이 뭔지 한 줄씩 적었습니다.
혹시 헷갈릴까 봐 경로까지 붙이고, 말투를 어떻게 할지까지 골랐으니 꽤 공들인 셈입니다.그러다 프롬프트를 다듬던 손이 멈췄습니다.
다듬던 문장을 한 번 더 읽다가 문득 이상한 생각이 들었습니다.
나는 지금 끝나지도 않은 작업의 다음 순서를 짜고 있는데, 그 '진행 중'이라는 말은 대체 어디서 봤더라.
화면에는 분명 '진행 중'이라고 적혀 있는데, 가만 보니 저는 그 상태를 화면에서만 봤지 디스크에서 직접 본 적이 한 번도 없었습니다.
줄곧 화면 아래쪽 그 한 문장만 믿고 있었던 겁니다.
보고를 받았다고 생각했습니다.
그런데 따져보니, 그건 아직 일어나지도 않은 일을 하겠다고 적어둔 예고였습니다.확인하는 방법은 사실 하나뿐이었습니다.
에이전트가 화면에 뭐라고 적었든, 작업 트리에 실제로 뭐가 남았는지를 제 눈으로 보는 것.git status를 쳤더니, 네 건이 이미 거기 있었습니다
확신이 있어서는 아니었습니다.
그냥 손이 먼저git status를 쳤습니다.
평소에 뭐가 막히면 일단 쳐보는 버릇이 있습니다.수정된 파일 네 개.
순간 화면을 두 번 봤습니다.
명령을 잘못 친 줄 알았습니다.
전부 미커밋 상태로, 벌써 작업 트리에 올라와 있었습니다.'진행 중'이라던 그 작업은 진행 중이 아니었습니다.
이미 끝나 있었습니다.
화면을 위로 한참 올려봐도, 마지막 말은 여전히 "끝나면 보고드리겠습니다"에 멈춰 있었습니다.
일은 진작 끝났는데, 화면에는 그 한 줄이 그대로 떠 있었습니다.
그 아래로는 아무것도 찍혀 있지 않았습니다.
(어느 시점에 어느 에이전트가 그 네 건을 적용했는지는, 솔직히 지금도 정확히는 모릅니다.)등 뒤가 살짝 서늘했습니다.
저는 십 분 동안, 이미 끝난 일을 기다리는 프롬프트를 붙들고 다듬고 있었던 셈입니다.
조금 전까지 공들이던 그 프롬프트를 다시 열어봤습니다.
이미 끝난 작업한테 '이어서 이렇게 해달라'고 정중히 부탁하는 문장이, 거기 그대로 남아 있었습니다.더 묘한 건 코드 안이었습니다.
뭐가 바뀌었나 보려고git diff를 열어 한 줄씩 내려갔습니다.
수정 자체는 네 군데 다 멀쩡해 보였습니다.
코드만 놓고 보면 흠잡을 데가 없었습니다.
그런데 수정된 자리 바로 옆에 주석이 한 줄 달려 있었습니다.// TODO: 검증함.
주석에는 검증을 마쳤다고 적혀 있었습니다.
저는 그 줄에서 잠깐 멈췄습니다.
검증을 했다면서 왜 아직 TODO로 남아 있을까.
그런데 더 이상한 건 그게 아니었습니다.
그 옆에는 로그 경로도, 실행한 명령도, 통과한 테스트 이름도 없었습니다.
검증이 실제로 돌았다는 흔적이 어디에도 없었습니다.
통과했다는 로그 한 줄조차 없었습니다.
한참을 그 세 글자만 들여다봤습니다.
코드는 자기가 검증을 했다고 적어뒀는데, 정작 그 검증이 어디서 어떻게 돌았는지는 코드도 저도 댈 수가 없었습니다.그래서 위임의 첫 손을 바꿨습니다
그 뒤로 일을 맡길 때 첫 동작을 바꿨습니다.
예전엔 새 작업을 던지기 전에 그럴듯한 프롬프트부터 썼는데, 지금은 프롬프트 창을 열기 전에git status부터 칩니다.
처음 며칠은 손에 안 붙어서, 프롬프트를 다 쓰고 나서야 '아, status부터 봤어야지' 하고 되돌아가곤 했습니다.
화면이 뭐라고 하든, 작업 트리에 진짜 뭐가 올라와 있는지부터 제 눈으로 봅니다.이렇게 말로는 다 정리해두고도, 어제도 저는 상태 확인보다 프롬프트 창을 먼저 열고 있었습니다.
728x90반응형'AI Agent' 카테고리의 다른 글
레이스 컨디션은 코드 순서가 아니라 실행 순서가 바뀌는 버그입니다 (0) 2026.08.04 멱등성은 같은 요청을 두 번 보내도 결과가 망가지지 않는 성질입니다 (0) 2026.08.04 다 채워진 화면을 어디까지 믿어야 하나 (0) 2026.08.03 같은 버그를 세 번 고치고, 네 번째엔 코드 대신 문장을 적었습니다 (0) 2026.08.03 일정표에서 칸 하나만 안 줄어들었습니다 (0) 2026.08.02