-
AI 코딩 에이전트를 믿는 법 — 위임·검증·하네스·비용 6편 정리AI Agent 2026. 6. 20. 23:35728x90반응형

AI가 "완료했습니다" 한 줄로 답할 때, 저는 더 이상 그 말을 안 믿습니다.
습관처럼 diff부터 엽니다. 그래서 들킨 적도 많고요. 멀쩡한 보고 뒤에서 엉뚱한 파일이 고쳐져 있던 날, 검증이 전부 초록인데 화면 글자가 안 보이던 날. 그 며칠이 쌓여서 생각이 하나로 정리됐습니다.
AI에게 일은 넘기되, 믿음은 증거로만 준다.
여기서 네 가지가 따라 나옵니다. 무엇을 넘길지는 가역성으로 정하고, 넘긴 결과는 말이 아니라 증거로 믿습니다. 그 증거를 사람의 선의가 아니라 강제로 받아내는 건 모델이 아니라 하네스, 즉 모델 주변의 작업대고요. 그리고 이 작업대를 얼마나 굴렸는지는 결국 비용으로 정산됩니다.
그동안 이 흐름을 여섯 편에 나눠 적었습니다. 처음 일을 넘기는 순간부터, 한 달치 청구서를 들여다보는 순간까지, 순서대로 모았습니다.
1. 무엇을 넘길까 — 가역성으로 경계를 긋습니다
레코드 2만 2천여 건을 채우는 백필을 운영에 넣기 직전, dry-run 검증이 빨갛게 떴습니다. 안 눌렀어요.
그날 이후 "AI가 잘하나"를 먼저 묻지 않습니다. 대신 이걸 봅니다. 망치면 지금 되돌릴 수 있나. 되돌릴 수 있으면 묻지 말고 맡기고, 한 번 나가면 끝인 것(운영 배포·외부 발송·파괴적 git)은 명령만 만들어 두고 멈추게 합니다.
https://datacook.tistory.com/149
AI에게 어디까지 맡길까, 저는 가역성부터 봅니다
처음엔 AI한테 매 단계 확인을 받게 했어요. "이렇게 할까요?", "이거 합쳐도 될까요?"그게 미칠 노릇이었습니다.되돌릴 수 있는 사소한 것까지 다 물어보니까, 차라리 내가 직접 하는 게 빠를 지
datacook.tistory.com
2. 넘긴 결과를 어떻게 안 믿을까 — 초록색 실패를 의심합니다
수천 개 테스트가 전부 초록색이었는데, 앱을 켜니 다크모드 글자가 배경에 거의 묻혀 있었습니다. 테스트는 이걸 하나도 안 잡아줬고요.
exit 0은 "원하는 게 됐다"가 아니라 "프로그램이 불평 없이 끝났다"에 가깝습니다. 그래서 질문을 "명령이 성공했나"에서 "원한 효과가 확인됐나"로 바꿨어요. 파일이 생겼는지가 아니라 그 안에 내용이 들어갔는지, 작은 assert 하나·캡처 한 장으로요.https://datacook.tistory.com/150
exit 0인데 실제로는 실패한 자동화, 어디를 봐야 하나
수천 개의 테스트가 전부 초록색이었습니다.빨간 줄 하나 없이 깔끔하게 통과. 그래서 앱을 켰는데, 화면을 보는 순간 뭔가 이상했어요.다크모드였는데 글자가 잘 안 보였습니다. 정확히는, 배
datacook.tistory.com
3. 무엇을 미리 정할까 — 검증 기준을 먼저 씁니다
타입 오류 좀 없애 달라고 했더니, 진짜로
any가 박혀서 돌아왔습니다. 빨간 줄은 사라졌죠. 문제를 푼 게 아니라 덮은 거였어요.에이전트는 일을 "해결"하려다 가끔 계약을 슬쩍 바꿔버립니다. 그래서 요청을 던지기 전에 완료 기준과 금지 조건을 먼저 적어요. "마감된 수업은 신청이 안 된다" 같은 의도를 적지, "함수가 세 번 호출된다" 같은 내부 모양은 안 적습니다. 그건 리팩터링 한 번이면 깨지니까요.
https://datacook.tistory.com/151
AI 결과물이 늘수록 개발자는 검증 기준을 먼저 씁니다
타입 오류 좀 없애 달라고 했더니, 진짜로 any가 박혀서 돌아왔습니다.통과는 했죠. 빨간 줄이 싹 사라졌으니까요.근데 그건 문제를 푼 게 아니라, 문제를 덮은 거였어요.그때 깨달았습니다. AI 에
datacook.tistory.com
4. 완료 보고가 오면 뭘 볼까 — 증거 다섯 가지를 봅니다
"화면 버그 고쳤고 테스트도 통과했습니다." 답이 너무 깔끔해서 그냥 믿을 뻔했는데, diff를 여니 정작 그 화면 파일은 그대로였습니다. 엉뚱한 코드를 고쳐놓고 완료라고 한 거였죠.
그 뒤로 보고가 오면 말투를 안 보고 증거를 봅니다. 무게 순서가 있어요. 말보다 diff → (검증이 그 버그를 겨냥했나 · 돌린 명령이 작업과 맞나 · 사용자 동선을 직접 한 번) → 제일 무겁게 보는 건 못 본 부분. "완벽히 해결"보다 "모바일 Safari는 확인 못 했습니다"가 더 강한 보고예요.
https://datacook.tistory.com/153
AI 에이전트가 완료라고 했을 때 확인할 5가지
"완료했습니다. 화면 버그 고쳤고 테스트도 통과했습니다."답이 너무 깔끔해서, 그 말을 믿고 그냥 넘어갈 뻔했습니다.그런데 습관처럼 diff를 열었어요.정작 그 화면 파일은 그대로였습니다. 엉
datacook.tistory.com
5. 계속 틀리면 — 모델이 아니라 하네스를 봅니다
같은 "점수" 하나가 서버엔 snake_case, 앱엔 camelCase, 거기에 옛날 키까지, 세 군데에 흩어져 있었습니다. 어떤 모델을 써도 이 자리에서만은 똑같이 틀렸어요.
문제는 모델이 아니라 데이터가 드나드는 자리가 안 정해진 거였습니다. 그제야 모델보다 하네스(작업대)를 먼저 보게 됐어요. 라우팅·권한·검증·기억. 머지된 별칭이 3.0이어야 할 값을 2.0으로 되살렸는데 lint도, 죽은 코드 검사도 둘 다 못 잡은 적이 있어요. 그건 모델을 갈아 끼운다고 안 풀립니다.
https://datacook.tistory.com/152
AI 에이전트가 흔들릴 때, 모델보다 하네스를 먼저 봅니다
같은 "점수" 하나가 세 군데에 다른 이름으로 흩어져 있었습니다.서버 응답엔 snake_case 키로, 앱 안엔 camelCase로, 거기다 예전에 쓰던 옛날 키까지. 그러니 한 곳을 고치면 다른 화면이 아직 옛 키
datacook.tistory.com
6. 이 모든 걸 굴린 강도 — 비용으로 정산합니다 (에필로그)
새벽에 ccusage 화면 한 줄에 4만 8천 달러가 찍혀 있었어요. 6월 6일 단 하루치. 4개월을 다 더하니 13만 2천 달러어치, 토큰 2,025억 개였습니다.
근데 통장에서 빠진 건 구독료뿐이었어요. 이 숫자는 결제액이 아니라, 구독으로 이만큼을 굴렸다는 사용 강도였습니다. 위 다섯 편의 작업대를 얼마나 세게 돌렸는지가 여기 한 줄로 정산되는 셈이죠. 13만에 놀랄 게 아니라 구독료 대비 몇 배를 뽑았나로 읽어야 맞더라고요.
https://datacook.tistory.com/148
ccusage로 4개월 AI 사용량을 정산했더니 13만 달러였습니다 — 근데 제가 낸 돈은 아닙니다
새벽이었습니다. ccusage 화면 한 줄에 4만 8천 달러가 찍혀 있었어요. 6월 6일, 단 하루치였습니다.손이 멈췄습니다. 숫자를 잘못 봤나 싶어서 두 번 확인했어요.그 한 줄이 사실이라면, 제가 4개월
datacook.tistory.com
처음 오셨다면
여섯 편을 관통하는 한 줄은 이겁니다. AI에게 일은 넘기되, 믿음은 증거로만.
처음 오신 분께 권하는 순서는 이래요. 먼저 무엇을 넘길지(149) → 넘긴 게 조용히 실패하는 꼴(150) → 그래서 완료 보고에서 뭘 보는지(153) → 그걸 미리 기준으로 박는 법(151) → 계속 틀릴 때 모델 말고 볼 곳(152). 비용 편(148)은 여기까지 다 읽고 에필로그처럼 보셔도 좋습니다.
저도 솔직히 아직 가끔은 그냥 믿고 싶어요. 근데 그렇게 믿은 날이 꼭 나중에 터지더라고요. 그래서 오늘도 일단 diff부터 엽니다.
728x90반응형'AI Agent' 카테고리의 다른 글
HBM 수요는 진짜인데 '슈퍼사이클' 숫자는 출처가 없어요 — 점유율 70%·HBM5 따라가 봤어요 (0) 2026.06.21 ccusage로 Claude Code·Codex 사용량 확인하는 법 (npx 한 줄, 4개월 써보고) (0) 2026.06.21 AI랑 일하다 생긴 검증 습관, 증거 없으면 안 닫아요 (0) 2026.06.20 AI 에이전트가 완료라고 했을 때 확인할 5가지 (0) 2026.06.17 AI 에이전트가 흔들릴 때, 모델보다 하네스를 먼저 봅니다 (0) 2026.06.17