← 글 목록으로

생각은 외주 주지 마세요

AI 없이는 일하지 않으려는 개발자가 늘고 있습니다. 문제는 도구가 아니라, 생각하는 부분까지 넘겨버리는 것입니다.

터미널의 생성된 코드가 검증 체크로 이어지는 그림

지난달 작은 연구 하나가 회자됐습니다. 개발자가 AI 도구를 쓸 때와 쓰지 않을 때 어떻게 일하는지 측정하려던 연구였는데, 벽에 부딪혔습니다. 참가자를 모으기 어려웠던 겁니다. 연구의 일부로 잠깐 도구 없이 코딩을 해야 했거든요. “그건 좀…”이 아니라, 아예 하지 않으려 했습니다.

그 대목이 어떤 벤치마크보다 오래 남았습니다. 몇 년 사이에 우리는 “AI를 워크플로에 넣어야 하나”를 두고 다투던 단계에서, 일부는 그게 없으면 자리에 앉지도 않으려는 단계까지 와버렸습니다.

먼저 솔직히 말하면, 저도 헤비 유저입니다. 매일 코딩 에이전트와 함께 일합니다. 생산성은 진짜입니다. 설문을 보면 도입률은 80%를 넘고, 절반 정도는 매일 이 도구에 손을 뻗습니다. 제 일주일도 그 수치와 다르지 않습니다. AI를 쓸 거냐 마느냐의 해묵은 논쟁은 끝났습니다. 계산기 같은 거니까요. 누구도 증명하겠다고 다시 손으로 나눗셈을 하진 않습니다.

그러니 이 글은 덜 쓰자는 잔소리가 아닙니다. 좀 더 조용한 구분에 대한 이야기입니다. 도구를 쓰는 것과, 그것 없이는 일하지 못하게 되는 것은 다릅니다. 앞은 지렛대고, 뒤는 의존입니다. 그리고 의존은 나중에 이자를 물립니다.

지켜야 할 것은 타이핑 속도가 아닙니다. 생각입니다. 여기서 생각이란, 무엇이 “맞다”인지 알아볼 만큼 문제를 이해하는 것입니다. 도메인의 모양, 그러니까 규칙과 상태, 항상 참이어야 하는 것들을 머릿속에 들고 있어서, 모델이 그럴듯한 마흔 줄을 내놓았을 때 그게 맞는지 아니면 그냥 자신만만한 건지 한눈에 가려낼 수 있는 것이죠. 저는 프레임워크를 건드리기 전에 도메인을 먼저 모델링한다고 쓴 적이 있습니다. 그 습관은 지금 덜 중요해진 게 아니라 더 중요해졌습니다. 에이전트는 일의 후반부, 곧 스캐폴딩과 배선, 보일러플레이트, 그리고 의도를 문법으로 옮기는 일을 정말 잘합니다. 무엇을 왜 만들지 정하는 전반부는 여전히 당신 몫입니다. 그걸 넘겨버리면 더는 운전하는 게 아니라, 지도를 못 읽는 승객이 됩니다.

아무도 가격표에 적지 않는 항목이 바로 퇴화입니다. 쓰지 않는 능력은 무뎌집니다. 도덕적 실패가 아니라 그냥 능력이 작동하는 방식이 그렇습니다. 루프 전체가 프롬프트, 훑기, 수락, 재생성으로 굳어지면, 코드를 평가하는 근육이 슬그머니 약해집니다. 그리고 평가야말로, 그 답을 내놓은 도구에게 맡길 수 없는 일입니다. 반대편에도 비용이 있습니다. 코드는 그 어느 때보다 빨리 나오지만, 누군가의 말처럼 두 배 빨리 짠다면 유지보수도 절반으로 줄였길 바라야 합니다. 아니면 잠깐의 속도를 긴 의무와 맞바꾼 셈이니까요. 생성된 코드도 결국 당신이 책임지고, 새벽 두 시에 디버깅하고, 다음 사람에게 설명해야 할 코드입니다.

가장 걱정되는 건 막 시작하는 사람들입니다. 스탠퍼드의 한 분석에 따르면 22~25세 개발자의 고용이 2022년에서 2025년 사이 거의 20% 줄었습니다. 고용 수치는 잠시 접어두더라도, 더 깊은 문제는 이것입니다. 예전에 주니어가 시스템의 모양을 배우던 통로였던 그 스캐폴딩이, 이제는 왜 그런 모양인지 이해하기도 전에 대신 끝나 있습니다. 머릿속에 모델을 한 번도 세워보지 않고도 출시할 수 있습니다. 그러다 에이전트가 보지 못하는 방식으로 뭔가 깨지고, 그 방에 지도를 가진 사람이 아무도 없는 순간이 옵니다.

이건 속도를 늦추라는 말이 아닙니다. 한 발은 땅에 붙여두라는 말입니다. 제가 지키려는 것들, 그리고 이제 막 시작한 사람에게 해주고 싶은 말 몇 가지입니다.

  • 직접 손으로 만드는 것 하나는 남겨두세요. 꼭 업무가 아니어도 됩니다. 사이드 프로젝트든, 까다로운 버그든, 처음부터 끝까지 스스로 도는 무언가면 됩니다.
  • diff는 리뷰에서 변호해야 할 것처럼 읽으세요. 실제로 그렇게 됩니다.
  • 프롬프트를 넣기 전에 도메인을 직접 모델링하세요. 넘기는 모델이 선명할수록 돌아오는 코드도 좋습니다. 흐릿하게 넘기면, 자신만만한 헛소리가 돌아옵니다.
  • 규칙은 당신의 기억이나 모델이 아니라 컴파일러와 테스트가 들고 있게 하세요.
  • 바이브, 그다음 검증. 빠르게 생성하고, 그다음엔 속도를 늦춰 실제로 읽으세요.

목표는 AI를 덜 쓰는 게 아닙니다. AI가 맞는지 가려낼 수 있는 엔지니어로 남는 것입니다. 그리고 도구가 멈춘 날에도, 모델이 중요한 무언가에 대해 자신만만하게 틀린 날에도 여전히 그런 사람인 것. 지렛대는 쓰세요, 전부. 다만 당신을 들을 만한 사람으로 만들어주는 그 부분만은 넘기지 마세요.