AI 코딩 에이전트를 쓰다 보면 코드 읽기 부담이 커진다. 하지만 AI 출력물을 ‘읽을 코드’로 대하는 순간 이미 진 것이다. 더 적게 읽고 더 많이 조종하는 방식으로, AI를 자율 동료가 아니라 당신의 의지를 실행하는 초고속 타이피스트처럼 다뤄라.
the arc of software bends towards understanding
March 18, 2026 나는 AI 코딩 에이전트(예: LLM에 프롬프트를 넣는 동안 옆에서 지켜보는 식으로)를 효과적으로 사용하는 방법을 주니어들에게 코칭하고 있었는데, 반복해서 등장한 주제 하나는 AI 에이전트가 예전보다 코드 읽기 능력을 훨씬 더 많이 요구한다는 점이었다. “어떻게요,” 그들은 물었다. “코드를 읽는 실력을 더 키울 수 있을까요?”
나는 이 질문에 대한 답을 생각해봐야 했다. AI가 나오기 전부터도 “나는 주로 코드를 쓴다”에서 “나는 내가 쓰지 않은 다른 사람이 쓴 코드를 검토하는 데 시간을 다 쓴다”로 점프하는 건 늘 어려웠기 때문이다. 여기에는 본질적인 난이도가 있다. LLM이 이 문제를 악화시키기 전에도 코드 리뷰어 수는 언제나 부족했다!
종종, 어려운 문제를 푸는 비결은 문제를 바꾸는 것이다. AI가 생성한 출력물을 읽어야 할 코드로 취급하는 순간, 당신은 이미 게임에서 진 것이다. 덜 읽고, 더 조종하라. 나는 당신이 LLM에게 가장 게으르고, 가장 고약하게 따지고, 민폐를 부리는 Karen이 되길 바란다. 뭔가 말이 안 되면, 정당화하라고 압박하라. 무언가를 어떤 모양으로 만들고 싶은지 알고 있다면, 당신이 원하는 방식대로 하게 만들어라—LLM에 맞춰주지 마라. LLM에게 벽을 다시 칠하고 소파를 당신의 명세대로 정확히 옮기라고 시켜라.
요점은 바이브 코딩(원래의, Karpathy-Willison 의미에서)이 함정이라는 것이다. 출력 코드에 대해 한 줄 한 줄 이해하고 싶다면, AI를 완전한 자율 동료로 대하면 안 된다. 대신 당신의 의지를 수행하는 초고속 타이피스트로 대해야 한다. 사람들은 자기가 방금 작성한 코드를 읽어야 한다고 불평하지 않는다. AI 코딩 과정에 당신이 관여하는 정도가 클수록, AI 코드 읽기의 인지적 부담도 줄어든다. 나는 당신이 선호하는 코딩 에이전트에서 “accept edits”를 켜지 않은 상태로 최소한 어느 정도 시간을 보내면서, 수정이 지나갈 때마다 모든 변경을 읽도록 자신을 강제해보길 권한다. (현대적인 에이전트는 “accept edits”를 켠 채로 돌리는 편이 더 낫다고 생각하긴 하지만, 초보자에게는 모델이 무엇을 하는지에 대한 직관을 훈련하는 일이 매우 중요하다.)
그럼에도, 환원될 수 없는 창작의 본질적 복잡성은 여전히 존재한다. 우리가 코드를 작성하고, 테스트를 돌리고, 프로덕션에 배포할 때, 우리는 생각만으로는 쉽게 알아내기 어려운 것들을 배운다. 어디에 코드를 둬야 할지 알아내려면 직접 코드를 타이핑해봐야 하는 타입의 사람이라면, 적어도 처음에는 코드를 타이핑하는 데 시간을 써야 한다. 문제 영역에 대해 정말로 새로운 것들을 발견하고 있다면, 이건 시간이 걸릴 것이다—억지로 서두를 필요가 없다. 이런 것들은 여전히 인간의 속도로 진행돼야 한다. 음미하라!
© ezyang's blog. Powered by Hugo, theme based off of Ashley.