Development··5 min read

AI 페어 프로그래밍, 실전 워크플로우

AI 코딩 어시스턴트를 3개월 동안 실무에 쓰면서 만든 나만의 워크플로우. 생산성이 올라간 부분과 오히려 느려진 부분.

AI한테 코드를 맡기면 빨라질 줄 알았다

3개월 전에 회사에서 AI 코딩 어시스턴트 라이선스를 제공해줬다. 처음에는 "이제 코드 짜는 시간이 반으로 줄겠지" 싶었다. 반은 맞고 반은 틀렸다.

확실히 빨라진 부분이 있다. 보일러플레이트 코드, 타입 정의, 테스트 코드 초안 작성. 이런 건 AI가 5초 만에 뽑아준다. 예전에 15분 걸리던 게 1분 만에 끝난다.

근데 리뷰하는 시간이 추가됐다

AI가 생성한 코드를 그냥 쓰면 안 된다. 반드시 읽어봐야 한다. 한번은 AI가 만든 API 핸들러에서 에러 처리가 빠져 있었는데, 그대로 배포했다가 프로덕션에서 500 에러가 터졌다. 코드가 그럴듯해 보여서 대충 넘긴 내 잘못이다.

그 이후로 AI 생성 코드는 내가 직접 짠 것보다 더 꼼꼼히 본다. 이 리뷰 시간이 생각보다 길다. 100줄짜리 코드를 AI가 3초 만에 만들어도 리뷰에 10분이 걸린다.

(AI가 만든 코드에 내가 직접 짠 코드보다 덜 신뢰가 간다는 게 좀 아이러니하다.)

잘 되는 사용법을 찾기까지

처음엔 "이 기능 전체를 만들어줘"라고 했다. 결과물이 제대로 나올 확률이 30%쯤 됐다. 나머지 70%는 원하는 게 아니거나 버그가 있었다.

지금은 작은 단위로 요청한다. "이 함수에 에러 핸들링 추가해줘", "이 타입 정의를 보고 API 응답 파서 만들어줘", "이 코드를 리팩토링해줘, 근데 인터페이스는 유지해줘". 이렇게 범위를 좁히니까 정확도가 80%까지 올라갔다.

나만의 워크플로우

1단계: 설계는 내가 한다. 어떤 함수가 필요하고, 어떤 타입이 오가는지 먼저 정한다. 2단계: 각 함수의 구현을 AI에게 요청한다. 컨텍스트로 관련 타입과 기존 코드를 함께 넣어준다. 3단계: 생성된 코드를 리뷰하고 수정한다. 4단계: 테스트 코드를 AI에게 요청한다.

이 순서를 지키면 체감 생산성이 1.4배쯤 되는 것 같다. 숫자가 작아 보이지만, 매일 쌓이면 꽤 크다.

AI가 오히려 방해되는 경우

복잡한 비즈니스 로직, 기존 코드베이스와 깊이 연결된 코드, 성능 최적화. 이런 건 AI한테 물어봐도 엉뚱한 답이 나온다. 우리 프로젝트의 맥락을 모르니까 당연한 거다.

디버깅도 마찬가지다. "이 에러 왜 나?" 라고 물어보면 일반적인 원인 5개를 나열하는데, 진짜 원인은 우리 프로젝트의 특수한 설정 때문인 경우가 대부분이다.

3개월 후 솔직한 생각

AI 코딩 어시스턴트가 없던 시절로 돌아가고 싶지는 않다. 확실히 도움이 되니까. 근데 "AI가 코딩을 대체한다"는 말에는 동의 안 한다. 설계하고, 리뷰하고, 디버깅하는 건 여전히 사람 몫이다.

도구가 하나 추가된 거지, 일하는 방식이 근본적으로 바뀐 건 아직 아닌 것 같다. 아직은.

관련 글