Gotta Earn 'Em All: The Gym Badges of Agentic Engineering (Part 1)
There's a guy who stands at the entrance to the Indigo Plateau and will not let you through. Level 80...
개요 #
포켓몬 게임에는 사천왕에게 도전하기 전까지 길을 막아서는 NPC가 있다. 레벨 80 리자몽을 끌고 와도, 배지 일곱 개를 달고 와도 소용없다. 여덟 번째 배지가 없으면 통과시켜 주지 않는다. Kevin Alemán은 이 NPC가 재미를 막는 존재가 아니라, 진짜 강자를 만나기 전에 지루한 여덟 관문을 모두 거쳐 준비를 마치게 하는 장치라고 봤다.
그는 지금 우리가 AI 에이전트를 쓰는 방식이 딱 이 지점에서 어긋난다고 말한다. 다들 첫날부터 사천왕과 싸우려 든다. "에이전트한테 기능 하나를 통째로 맡기겠다", "커피 마시는 동안 저장소를 리팩터링하게 두겠다" 같은 식이다. 가끔은 잘 굴러간다. 그러다 안 되는 순간이 오는데, 정작 왜 안 되는지 설명하지 못한다. 거쳐야 할 여덟 개의 체육관을 전부 그냥 지나쳐 왔기 때문이다.
이 글은 에이전트를 제대로 다루기 전에 먼저 따야 할 배지들을 게임 보이식 비유로 짚는다. 설치할 도구가 아니라 알아야 할 것들이다. 첫 네 개를 차례로 살펴본다.

배지 1 — 회색 배지: 코파일럿보다 먼저, 바위 #
첫 번째 체육관 관장 웅이는 바위 타입을 쓴다. 파이리를 골랐다면 잠시 후회하는 곳이기도 하다(다행히 충분히 키우면 메탈크로를 배운다).
이 배지는 에이전트가 손을 잡아주지 않아도 직접 코드를 짤 줄 아는 능력, 곧 기본기를 뜻한다. 저자는 같은 말을 계속 반복한다. 존재하는지조차 모르는 것은 프롬프트로 시킬 수 없다. 프로젝트에서 어떤 함수의 타입 정의가 방금 바뀐 걸 모르면, 에이전트에게 알려줄 수도 없고 틀렸을 때 잡아낼 수도 없다. 그럴듯해 보이지만 실제로는 틀린 코드를 그대로 내보내게 된다. 이건 에이전트의 실패가 아니다. 포켓몬도 없이 체육관에 들어선 쪽의 문제다.
모든 걸 알아야 한다는 뜻은 아니다. 단단한 바닥이 필요하다는 얘기다. 그게 없으면 이후의 모든 배지가 모래 위에 쌓인다.

배지 2 — 블루 배지: 에이전트는 부어준 만큼만 안다 #
물은 흐른다. 컨텍스트도 흐른다. 두 번째 관장 이슬이의 물 타입이 가리키는 지점이다. 에이전트는 독심술사가 아니다. 컨텍스트 창에 담긴 것만 정확히 알 뿐, 그 밖은 모른다. 저장소의 독특한 관습도, 팀이 지난주 화요일 슬랙에서 정한 결정도, 선임 한 명 머릿속에만 사는 지뢰도 알 길이 없다.
아래 두 프롬프트를 보면 같은 결과가 나올 수 없다는 게 보인다.
// 대부분이 보내는 것
"사용자 평가 쪽 버그 고쳐줘"// 이렇게 보낼 수도 있다
"src/users/evaluate.ts에서 마감에 쫓겨 회사명을 하드코딩해 뒀어.
이제 "bla" 회사의 신규 사용자도 평가에서 제외해야 해.
단, "fancy company" 사용자의 평가 방식은 건드리지 마.
파일은 여기 있고, 통과 상태를 유지해야 하는 테스트는 이거야.
우리가 이름 짓는 방식은 이렇고."같은 모델이다. 첫 번째는 벽에 몬스터볼을 던지는 격이고, 두 번째는 엔지니어링이다. 컨텍스트를 의도적으로 부어 넣으면 그 뒤의 모든 단계가 덜 꼬인다.
에이전트에게 웅덩이 물을 떠먹이지 말자. 에이전트가 이렇게 "생각"하도록 돕는 좋은 스킬들도 있지만, 결국 사람도 같은 방식으로 생각해야 둘이 함께 문제를 풀고 만들어 나갈 수 있다.

배지 3 — 오렌지 배지: 빠른 건 함정이다 #
아무도 미리 경고해 주지 않는 사실이 있다. 에이전트는 빠르다. 말도 안 되게 빠르다. 나보다, 당신보다, 거의 무엇보다 빠르다. 사람이 일주일 붙잡을 문제도 몇 분 만에 그럴듯한 원인을 찾아낸다. 그리고 속도는 당신이 던진 걸 그대로 증폭한다. 번뜩이는 아이디어든 가장 멍청한 발상이든, 똑같은 전압으로.
저자는 오픈소스 진영에서 이 점을 두고 여러 번 목소리를 높였다. 이제 PR 하나 여는 데는 거의 비용이 들지 않지만, 그걸 리뷰하는 일은 여전히 사람의 시간과 정신을 잡아먹는다. 이 간극이 트렌치코트를 걸친 서비스 거부 공격이다. "모든 파일에 이거 다 적용해!"라고 시키면 변경 100건이 쏟아진다. 훌륭한 것도, 방사능 같은 것도 섞여 있다. 에이전트는 어느 게 어느 건지 알려주지 않으니 100건을 전부 읽어야 한다. 스스로를 DoS 공격한 셈이다.
여기서 따야 할 배지는 번개를 두 손으로 움켜쥐지 않는 법이다. 작은 작업, 제한된 범위, 한 번에 하나씩. 빠르게 나온 틀린 답은 앞선 출발이 아니다. 그저 더 빨리 틀린 지점에 도착했을 뿐이다.

배지 4 — 핑크 배지: 자판기가 아니라 정원 가꾸기 #
사람들은 에이전트를 자판기처럼 대한다. 프롬프트를 넣으면 칸이 열리고 완성된 기능이 툭 떨어진다는 식이다. 아니다. 이건 정원 가꾸기에 가깝다. 뭔가를 심고, 자라난 기묘한 변종을 들여다보고, 저주받은 가지를 쳐내고, 다시 프롬프트를 넣고, 또 쳐낸다. 범죄 현장이 아니라 멀쩡한 식물이 될 때까지 반복한다.
첫 결과물은 결코 완성품이 아니다. 새싹이다. "좋아, 이 모양은 유지하되 데이터 계층이 틀렸으니 그 부분만 다시"가 진짜 작업 루프다. 에이전트로 마법사처럼 보이는 사람들은 프롬프트의 달인이 아니다. 망친 초안을 미련 없이 햇볕에 내던질 줄 아는, 인내심 있는 정원사다.
작게 심고, 자주 쳐내고, 에이전트가 만들어낸 결과에 책임을 지자. 그게 곧 당신의 얼굴이기도 하니까.
리그까지 절반 #
배지 네 개를 땄다. 단단한 기본기, 의도적으로 부어 넣는 컨텍스트, 범위를 제한한 속도, 자판기 대신 정원을 가꾸는 인내심. 이 네 가지를 실제로 갖췄다면, AI 잘 다루는 척 떠드는 대부분의 사람보다 이미 앞서 있다.
배움은 여정이다. 즐기자. 에이전트와 AI가 프로그래밍의 가장 좋은 부분, 곧 당신이 점점 더 나아지는 그 과정을 빼앗아 가게 두지 말자.
당연히 인생은 포켓몬이 아니다. 이 모든 걸 건너뛰고 지금 당장 터미널로 들어가 "결과물"을 뽑아낼 수도 있다. 어떤 경우엔 그래도 괜찮다. 하지만, 그러면 무슨 재미인가?
이 글은 위 출처를 바탕으로 한국 독자를 위해 재작성한 기사입니다. 원문의 사실과 수치에 근거하며, 별도의 견해를 포함하지 않습니다.

