
AI는 '다음 단어'가 아니라 '생각의 흐름'을 완성한다
요즘 AI 코딩 에이전트를 쓰다 보면 정말 신기한 경험을 하게 돼요. 어떤 개발자는 말도 안 되는 생산성을 뽑아내는데, 어떤 분은 "이거 뭐 하나도 제대로 안 되네?"라며 좌절하거든요. 저도 처음엔 그 차이가 뭔지 궁금했어요.
최근에 깨달은 건, AI 언어 모델은 단순히 '다음 단어'를 예측하는 게 아니라는 거예요. 작은 단위에서는 문장을 완성하지만, 큰 틀에서 보면 '생각의 흐름'을 완성하죠. 우리가 몇 가지 힌트를 주면, AI는 그걸 바탕으로 장르를 파악하고 가장 그럴듯한 방향으로 달려가요.
그래서 좋은 프롬프팅은 마법의 주문이 아니라 '내비게이션'에 가깝다고 봐요. AI가 우리가 원하는 영역으로 가도록 방향을 잘 잡아주는 거죠. 스티븐 존슨의 '좋은 아이디어는 어디서 오는가'라는 책에 나오는 7가지 패턴을 코딩 에이전트에 적용해봤는데, 정말 흥미로운 결과가 나왔어요.
1일차: 그럴듯한 헛소리를 받아들이다
실전 예를 하나 들어볼게요. 파트너사가 웹훅을 보내면 우리 서버가 받아서 처리하는 서비스가 있다고 해봅시다. 그런데 문제가 생겨요. 파트너사가 똑같은 요청을 여러 번 보내면 중복 처리가 되고, 중간에 실패하면 일부만 처리되고, 응답 시간도 점점 느려지죠.
처음엔 이렇게 물어봤어요. "웹훅 처리를 안정적으로 만들어줘. 중복이랑 재시도 처리하고, 성능도 괜찬게." AI는 정말 착하게 뭔가를 만들어줘요. 새로운 안정성 모듈을 추가하고, 재시도 헬퍼를 만들고(이미 레포에 있는데도), 페이로드 해시로 중복을 체크하고, 로그를 여기저기 뿌려놓죠.
코드는 깔끔해 보여요. 이게 함정이에요. 자세히 보니 문제가 세 가지나 있었어요. 페이로드 해시는 실전에선 안정적인 식별자가 아니고, 요청 핸들러 안에서 재시도하면 응답 시간이 폭증하고, 재시도 로직이 중복되면 나중에 레포 전체가 '기분별 재시도 정책 박물관'이 되거든요.
여기서 배운 교훈은 명확해요. AI한테 분위기만 전달하면, 분위기 있는 코드가 나온다는 거죠.
2일차: 계단식으로 쪼개기 - 작은 승리가 쌓인다
이제 전략을 바꿨어요. 큰 덩어리를 작고 검증 가능한 단계로 나눴죠. 1단계는 중복 방지, 2단계는 워커에서 재시도, 3단계는 실패한 것 따로 모으고 재처리 경로, 4단계는 잘 되는지 확인할 지표. 그리고 1단계만 하라고 했어요.
"작게 만들고, 새 추상화 만들지 말고, 이 테스트만 통과시켜." 갑자기 AI가 똑똑해 보이기 시작했어요. 사실은 AI가 원래 잘하는 영역으로 들어온 거죠. 작은 변경을 따라가는 건 AI의 강점이거든요.
실제로 2024년 기준 깃허브 코파일럿 사용자의 55퍼센트가 생산성 향상을 보고했지만, 시니어 개발자와 주니어 개발자의 만족도 격차는 여전히 크다는 통계가 있어요. 왜 그럴까요? 바로 이 '쪼개는 능력' 때문이에요.
3일차: 우리 코드베이스를 학습시키기
잘게 쪼개도, AI는 자꾸 새로운 걸 만들려고 해요. 그래서 이번엔 우리 레포에 이미 있는 것들을 명확히 알려줬어요. 작은 컨텍스트 패킷을 만들었죠. 이미 쓰고 있는 재시도 정책, 에러 타입 정의, 로깅 규칙, 큐 추상화, 그리고 과거에 잘 만든 PR 하나.
그리고 명확히 말했어요. "이미 있는 거 재사용해. 새로 만들려면 이유 말해." 이때부터 결과물이 달라졌어요. 마치 우리 팀에서 몇 달 일한 사람이 짠 코드처럼 보이기 시작한 거죠.
AI한테는 '우리 레포의 문서 버전'이 필요해요. 맥락 없이 코드를 던지면, AI는 그럴듯한 뭔가를 만들지만 우리 팀의 규칙과는 전혀 상관없는 걸 만들어내거든요.
4일차: 확신 없는 질문은 천천히 - 실험으로 증거 만들기
이 시점에서 패치만으론 안 되는 설계 질문이 나왔어요. 웹훅을 받자마자 OK를 보낼까, 아니면 처리 끝나고 보낼까? 파트너 타임아웃, 재시도 동작, 응답 시간, 운영 복잡도, 정확성까지 다 관련돼 있어요.
저는 가설은 있지만 확신은 없었어요. "빨리 OK 주고, 뒤에서 멱등하게 처리하고, 재처리 경로 만들고, 부분 실패도 견디게 하자." 그래서 이렇게 했어요. 그 가설을 적고, 아직 확정하지 않았다고 표시했죠.
그리고 AI한테 물었어요. "우리 제약 조건 보고 트레이드오프 정리해줘. 그리고 불확실성 줄일 작은 실험 하나 제안해봐." 유용한 건 설명이 아니라 실험이었어요. 증거를 만드는 거죠. AI는 아이디어를 품고 있진 못하지만, 아이디어를 가꾸는 건 잘 도와줘요.
5일차: 이상 신호를 먹이기 - 우연을 설계하는 법
소프트웨어에서 우연한 발견은 브레인스토밍이 아니에요. "프로덕션에서 뭔가 이상한 게 있는데, 누가 알아챘다"예요. 그래서 이번엔 이상한 것들을 AI한테 줬어요. 느린 트레이스, 에러 로그(민감 정보 제거), 장애 요약 몇 개, 고객 문의 패턴.
그리고 제한된 질문을 했죠. "실패 모드를 클러스터링해봐. 가장 이상한 패턴 알려줘. 상위 3개는 가설이랑 확인 실험 제안해." 이제 우연을 설계하는 거예요. 현실 신호를 주고, 인식하게 만드는 거죠.
스택 오버플로우의 2024년 개발자 설문에 따르면, AI 도구를 사용하는 개발자 중 약 70퍼센트가 디버깅과 문제 해결에서 가장 큰 도움을 받는다고 답했어요. 바로 이런 이상 신호 분석 때문이죠.
6일차: 피드백 루프가 주인공 - 검증 문화가 승부처
이 단계에서 전체 흐름이 바뀌었어요. 프롬프트 기술이 아니라 엔지니어링처럼 느껴지기 시작했죠. 작업 규칙을 명확히 했어요. 테스트 없으면 패치 없음. 변경은 한 번에 리뷰 가능한 크기. 바꿀 때마다 테스트 돌리기. 안정성 개선은 실패 시나리오 테스트 꼭 추가.
AI의 역할은 루프가 됐어요. 패치 제안하고, 테스트 실행하고, 실패 확인하고, 수정하고, 반복. 여기서 팀마다 경험이 극명하게 갈렸어요. 검증 문화가 탄탄한 팀은 레버리지를 얻었고, 그렇지 않은 팀은 혼돈이 가속화됐죠.
에러는 세금이 아니라 방향타예요. 가트너의 2024년 보고서에 따르면, AI 기반 개발 도구를 도입한 조직 중 테스트 자동화를 함께 강화한 팀은 그렇지 않은 팀보다 평균 40퍼센트 더 높은 코드 품질을 유지했다고 해요.
7일차: 패치를 넘어 기본 요소 만들기
7일째가 되면 로컬 문제는 해결됐을 거예요. 중복 줄고, 재시도 제한되고, 실패 큐 생기고, 지표도 있고. 하지만 메타 문제는 남아요. 우린 또 웹훅 엔드포인트를 만들 거고, 그때마다 같은 걸 다시 배우고 싶진 않잖아요.
그래서 플랫폼 질문을 했어요. "이번 주 시작할 때 있었으면 좋았을 가장 작은 기본 요소가 뭘까?" 결과적으로 작은 기반을 만들었어요. 중복 방지 헬퍼, 표준 재시도 정책 하나(더 만들지 말자는 규칙 포함), 사람이 다룰 수 있는 재처리 워크플로우, 안정성을 보여주는 지표.
그리고 기존 패턴을 의도적으로 재사용했어요. 단, 물리 법칙처럼 조건을 명시한 뒤에요. "최소 한 번 전달은 허용, 부작용은 멱등, 새 데이터스토어 추가 불가, 응답 시간 타협 불가, 페이로드 로깅 금지, 롤백 안전해야 함."
조건이 명확하면 재사용이 안전하고 지루해져요. 최고의 상태죠. 조건 없으면 재사용이 영리하고 취약해지고요.
변한 건 모델이 아니라 사용자
1주일 동안 AI 에이전트가 똑똑해진 게 아니에요. 사용자가 더 명확해진 거죠. 제약이 암묵지에서 문서로 옮겨졌고, 오라클(테스트)이 인터페이스가 됐고, 컨텍스트를 덤프가 아니라 큐레이션했고, 루프를 타협 불가로 만들었어요.
이렇게 하면 7가지 패턴이 AI와 함께 작동해요. 인접 가능(계단), 유동 네트워크(큐레이션된 충돌), 느린 직관(증거로 다듬기), 우연(이상 신호), 오류(방향타), 전용(조건 명시 후 재사용), 플랫폼(다음 주가 더 쉽게).
코드는 싸졌지만 판단은 안 싸졌다
AI 에이전트는 코드를 싸게 만들어요. 하지만 판단을 싸게 만들진 못해요. 그래서 희소한 스킬은 이거예요. 제약 표현하기, 오라클 설계하기, 컨텍스트 큐레이션, 타이트한 피드백 루프 돌리기.
이걸 할 수 있으면 AI가 레버리지처럼 느껴져요. 못하면 안개 속으로 가속하는 느낌이죠. 빠르고, 부드럽고, 근데 절벽을 향해서. 맥킨지의 2024년 연구에 따르면, AI 코딩 도구를 효과적으로 활용하는 개발자는 평균 35퍼센트의 개발 시간 단축을 경험하지만, 제대로 활용하지 못하는 경우 오히려 디버깅 시간이 20퍼센트 증가했다고 해요.
주니어도 쓸 수 있을까?
솔직히 말하면, 이 방식은 시니어한테 더 잘 맞아요. 적혀있지 않은 제약, 한밤중 호출로 배운 실패 모드, 냄새로 아는 트레이드오프, "맞아 보임"을 "맞음"으로 바꾸는 검증 반사. AI는 이걸 공짜로 안 줘요.
하지만 주니어도 컨텍스트를 더 빨리 얻을 수 있어요. 학습을 재구조화하면요. 스펙과 제약과 비목표와 수락 테스트를 주니어가 소유하게 하세요. AI가 구현 초안을 쓰게 하고, 주니어는 에러 루프를 돌리고(CI 돌리고, 고치고, 어떤 불변성이 깨졌는지 설명), 기존 패턴 인용하고, "프로덕션에서 어떻게 실패하는지 + 뭘 봐야 하는지" 짧게 적게 하세요.
스타트업은 가볍게(작은 변경, 테스트 몇 개, 기본 관찰성), 성장 조직은 플레이북과 성능 가이드라인, 빅테크는 검증된 원시 요소와 배포 규율, 규제 산업은 증거와 추적성을 강조하면 돼요. 핵심은 일관돼요. AI가 구현을 가속하고, 주니어는 목표 설정, 검증, 운영 판단으로 평가받는 거죠.
핵심 요약
AI 코딩 에이전트를 잘 쓰는 비결은 AI 자체가 아니라 우리가 얼마나 명확하게 방향을 제시하는가에 달려 있어요. 작게 쪼개고, 우리 코드를 학습시키고, 확실하지 않은 건 천천히 가꾸고, 이상 신호를 주고, 피드백 루프를 강하게 만들고, 재사용 가능한 기본 요소를 만드는 것.
결국 AI는 우리의 판단력을 증폭시키는 도구지, 판단력을 대신하는 도구가 아니에요. 제약과 오라클과 컨텍스트를 명확히 하는 능력, 그게 이제 가장 중요한 개발 역량이 됐어요. 똑같은 AI를 쓰는데 어떤 팀은 날아다니고 어떤 팀은 헤매는 이유, 이제 아시겠죠?
'IT > 소프트웨어' 카테고리의 다른 글
| AI 코딩 시대, 시스템 설계 없이 '감성코딩'하다 망하는 이유 (0) | 2026.02.12 |
|---|---|
| 🚀 AI 덕분에 웹 개발이 다시 재밌어졌다 (1) | 2026.01.27 |
| 🚀 소프트웨어 개발, 빠른 길이 항상 옳은 길은 아니다 (1) | 2026.01.27 |
| 🤖 AI 에이전트 시대, 인프라 소프트웨어의 대전환 (0) | 2026.01.26 |
| 🚶♂️ 왜 소프트웨어 개발은 항상 예상보다 2배 이상 늦어질까? (0) | 2026.01.26 |