Written by
seonest
At
Thu May 07 2026
에이전트는 평판이 없다
에이전트가 짠 코드를 리뷰하지 않게 됐을 때, 그 자리를 메우는 가장 단단한 신호는 직접 사용해 본 시간입니다.
Simon Willison의 최근 글에 멈춰 세우는 한 문장이 있습니다 — "나는 이제 에이전트가 짠 프로덕션 코드를 한 줄씩 보지 않는다." 같은 장면은 이제 어느 팀에서나 낯설지 않습니다.
흐려진 경계
Simon은 그동안 두 가지를 분리해 뒀습니다. vibe coding 은 코드를 보지 않고 결과만 받아 쓰는 것, agentic engineering 은 본인이 쌓아 둔 25년의 판단을 그대로 들고 AI 도구를 다루는 것. 전자는 개인 도구에 한해 괜찮고, 후자는 프로덕션의 책임 있는 방식이라고 했습니다.
선이 흐려지는 이유는 단순합니다. 에이전트가 그냥 잘 합니다. JSON API 엔드포인트 하나에 SQL 쿼리를 붙이고 결과를 직렬화하는 일을 Claude Code가 실수 없이 해냅니다. 테스트도 같이 짭니다. 문서도 같이 짭니다. 그래서 어느 시점부터 그 코드를 한 줄씩 보지 않게 됩니다.
Simon이 이 변화를 설명할 때 끌어온 비유는 이렇습니다. 다른 팀이 만든 이미지 리사이즈 서비스를 쓸 때, 우리는 그들의 git repository를 한 줄씩 읽지 않습니다. 문서를 보고, 호출하고, 자기 기능을 짭니다. 뭔가 이상해질 때만 내부를 들춥니다. 에이전트도 같은 방식으로 다루기 시작했다는 이야기입니다.
비유가 깨지는 한 자리: 평판
비유는 한 곳에서 깨집니다. 다른 팀에는 직업적 평판 이 있습니다.
우리가 옆 팀의 코드를 안 읽고 쓸 수 있는 이유는 그들이 망가뜨리면 그들 평판이 망가지기 때문입니다. 같은 팀이 지난 분기에 견고한 서비스를 냈다면 이번 분기에도 그럴 거라는 약한 베이즈가 작동합니다. 그들이 다음 분기에도 같은 자리에 앉아 있기 때문입니다.
에이전트는 이걸 축적하지 않습니다. Simon 본인이 이 점을 짚었습니다 — Claude Code는 직업적 평판이 없고, 자기가 한 일에 책임을 질 수 없습니다. 그런데도 신뢰는 점점 두터워집니다. 매번 결과가 좋기 때문입니다. 그리고 그 누적이 다음번에도 좋을 거라고 가정하게 만듭니다.
Simon은 이 흐름을 "정상화된 일탈"이라고 부릅니다. 챌린저호가 폭발한 그 메커니즘 — 작은 위반이 매번 무사히 지나가면 그것이 새 기준선이 됩니다. 리뷰 없이 머지한 PR이 한 번도 사고를 내지 않으면, 어느 날 사고를 낼 PR을 마주쳤을 때 멈출 이유가 사라집니다.
평판의 빈자리, 사용 시간
빈자리에 무엇을 두어야 하는가. Simon의 글이 단서를 줍니다.
Simon은 다른 단락에서 별개의 이야기를 합니다 — commit 100개와 깔끔한 README를 가진 GitHub 저장소를 30분 만에 만들 수 있는 시대가 됐다고. 표면 신호로는 진짜 견고한 프로젝트와 막 만들어 낸 프로젝트가 분간이 안 됩니다. 그래서 그가 더 신뢰하는 건 한 가지뿐이라고 했습니다 — 누군가 그것을 매일 2주 동안 써본 적이 있는가.
평판이 비운 자리에 사용 시간 이 들어갑니다.
같은 논리는 우리가 머지하는 PR에도 적용됩니다. 에이전트가 짠 함수를 리뷰 없이 머지한다면, 적어도 그 함수를 며칠은 직접 호출해 본 상태여야 합니다. 단위 테스트의 통과는 코드가 오늘 작동한다는 뜻이지, 내일 작동한다는 뜻이 아닙니다. 며칠간 다양한 입력으로 두드려 본 경험만이 그 차이를 메웁니다.
이 원칙은 개인 도구에서 가장 명확하게 작동합니다. 사이드 프로젝트는 매일 직접 쓰는 동안 모서리가 다 드러납니다. 프로덕션 시스템에는 한 가지가 더 필요합니다 — 사용 시간이 곧 트래픽이 되는 환경, 즉 점진적 롤아웃과 관찰성입니다. 카나리 5%에 며칠 흘려보내는 것은 새로운 종류의 코드 리뷰입니다.
머지 버튼을 누르기 전에 던져야 할 질문이 하나 늘어난 셈입니다 — 이 코드를 직접 며칠이나 써봤는가. 답이 0일이면, 그건 결국 다시 vibe coding입니다.