ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 주석엔 '검증함', 검증은 안 돼 있었다
    AI Agent 2026. 8. 4. 09:00
    728x90
    반응형

    밤 책상에 비스듬히 돌려둔 노트북과 모서리의 포스트잇, 식은 커피 사진
    '했다'는 보고와 실제 사이를 들여다보는 장면을 담은 이미지입니다.

    오래 걸릴 것 같은 작업이라, 저는 그걸 서브에이전트한테 맡겨두고 있었습니다.
    대단한 일은 아니었습니다.
    같은 헬퍼 함수를 부르는 자리가 코드 곳곳에 흩어져 있었는데, 그 호출부를 전부 바뀐 시그니처에 맞추는 작업.
    손은 단순하고 양만 많았습니다.
    getRows(id)getRows(id, opts)로 바꾸고, 새로 생긴 인자를 한 줄씩 채워 넣는 식이었습니다.
    한 군데면 십 초인데 그게 여기저기 흩어져 있으니, 직접 하기엔 지루하고 맡기기엔 딱 좋아 보였습니다.
    서브에이전트가 한 줄만 남기고 종료했습니다.
    "백그라운드에서 작업을 진행 중입니다.
    끝나면 보고드리겠습니다." 터미널 커서가 한 번 깜빡이고는 프롬프트가 제게 돌아왔습니다.
    저는 그 문장을 '보고'로 읽었습니다.
    솔직히 좀 마음이 놓였습니다.
    알아서 돌아가고 있다니, 그동안 저는 다른 걸 해도 되겠다 싶었습니다.

    그 한 줄을 보고로 착각한 채, 저는 다음 지시를 짜는 데 십 분을 더 썼습니다.
    그 십 분이 통째로 헛것이었다는 건 잠시 뒤 git status 한 줄이 알려줬습니다.

    다음 프롬프트를 다듬는 데 십 분을 썼습니다

    저는 다음 작업을 디스패치할 프롬프트를 공들여 쓰고 있었습니다.
    앞 작업이 '진행 중'이니, 그게 끝나면 이어서 던질 지시를 미리 만들어 두자는 생각이었습니다.
    맥락을 정리하고, 건드리면 안 되는 파일이 뭔지 한 줄씩 적었습니다.
    혹시 헷갈릴까 봐 경로까지 붙이고, 말투를 어떻게 할지까지 골랐으니 꽤 공들인 셈입니다.

    그러다 프롬프트를 다듬던 손이 멈췄습니다.
    다듬던 문장을 한 번 더 읽다가 문득 이상한 생각이 들었습니다.
    나는 지금 끝나지도 않은 작업의 다음 순서를 짜고 있는데, 그 '진행 중'이라는 말은 대체 어디서 봤더라.
    화면에는 분명 '진행 중'이라고 적혀 있는데, 가만 보니 저는 그 상태를 화면에서만 봤지 디스크에서 직접 본 적이 한 번도 없었습니다.
    줄곧 화면 아래쪽 그 한 문장만 믿고 있었던 겁니다.
    보고를 받았다고 생각했습니다.
    그런데 따져보니, 그건 아직 일어나지도 않은 일을 하겠다고 적어둔 예고였습니다.

    확인하는 방법은 사실 하나뿐이었습니다.
    에이전트가 화면에 뭐라고 적었든, 작업 트리에 실제로 뭐가 남았는지를 제 눈으로 보는 것.

    git status를 쳤더니, 네 건이 이미 거기 있었습니다

    확신이 있어서는 아니었습니다.
    그냥 손이 먼저 git status를 쳤습니다.
    평소에 뭐가 막히면 일단 쳐보는 버릇이 있습니다.

    수정된 파일 네 개.
    순간 화면을 두 번 봤습니다.
    명령을 잘못 친 줄 알았습니다.
    전부 미커밋 상태로, 벌써 작업 트리에 올라와 있었습니다.

    '진행 중'이라던 그 작업은 진행 중이 아니었습니다.
    이미 끝나 있었습니다.
    화면을 위로 한참 올려봐도, 마지막 말은 여전히 "끝나면 보고드리겠습니다"에 멈춰 있었습니다.
    일은 진작 끝났는데, 화면에는 그 한 줄이 그대로 떠 있었습니다.
    그 아래로는 아무것도 찍혀 있지 않았습니다.
    (어느 시점에 어느 에이전트가 그 네 건을 적용했는지는, 솔직히 지금도 정확히는 모릅니다.)

    등 뒤가 살짝 서늘했습니다.
    저는 십 분 동안, 이미 끝난 일을 기다리는 프롬프트를 붙들고 다듬고 있었던 셈입니다.
    조금 전까지 공들이던 그 프롬프트를 다시 열어봤습니다.
    이미 끝난 작업한테 '이어서 이렇게 해달라'고 정중히 부탁하는 문장이, 거기 그대로 남아 있었습니다.

    더 묘한 건 코드 안이었습니다.
    뭐가 바뀌었나 보려고 git diff를 열어 한 줄씩 내려갔습니다.
    수정 자체는 네 군데 다 멀쩡해 보였습니다.
    코드만 놓고 보면 흠잡을 데가 없었습니다.
    그런데 수정된 자리 바로 옆에 주석이 한 줄 달려 있었습니다.
    // TODO: 검증함.
    주석에는 검증을 마쳤다고 적혀 있었습니다.
    저는 그 줄에서 잠깐 멈췄습니다.
    검증을 했다면서 왜 아직 TODO로 남아 있을까.
    그런데 더 이상한 건 그게 아니었습니다.
    그 옆에는 로그 경로도, 실행한 명령도, 통과한 테스트 이름도 없었습니다.
    검증이 실제로 돌았다는 흔적이 어디에도 없었습니다.
    통과했다는 로그 한 줄조차 없었습니다.
    한참을 그 세 글자만 들여다봤습니다.
    코드는 자기가 검증을 했다고 적어뒀는데, 정작 그 검증이 어디서 어떻게 돌았는지는 코드도 저도 댈 수가 없었습니다.

    그래서 위임의 첫 손을 바꿨습니다

    그 뒤로 일을 맡길 때 첫 동작을 바꿨습니다.
    예전엔 새 작업을 던지기 전에 그럴듯한 프롬프트부터 썼는데, 지금은 프롬프트 창을 열기 전에 git status부터 칩니다.
    처음 며칠은 손에 안 붙어서, 프롬프트를 다 쓰고 나서야 '아, status부터 봤어야지' 하고 되돌아가곤 했습니다.
    화면이 뭐라고 하든, 작업 트리에 진짜 뭐가 올라와 있는지부터 제 눈으로 봅니다.

    이렇게 말로는 다 정리해두고도, 어제도 저는 상태 확인보다 프롬프트 창을 먼저 열고 있었습니다.

    728x90
    반응형
Designed by Tistory.