AI agent와 함께 코드 작성하기

2026년 09월 08일에 씀
찾아보기: AI, coding, agent

2026년이 시작할 때만 해도 손으로 코드를 작성했다. Cursor를 사용했고, tab 자동완성은 즐겨 했지만 AI에게 제어권을 허락하지 않았다. 몇 달이 지나지 않아, 손으로 코드를 작성하지 않게 되었다.

회사에서는 Claude Code를 주로 사용한다. 이 글을 작성하는 날 기준으로는 opus5를 주로 사용하는데 기본적인 코드를 잘 작성한다. 기능을 요구하면 기능이 동작하는 코드를 작성한다.

그렇다고 AI에게 모든 일을 맡기기는 힘들다. 제품을 매력적으로 만드는 건 세부사항이다. 결국인 취향의 영역이고, 일관성을 유지하면서 무엇을 포기하고 무엇을 얻을까의 결정이 필요하고 이건 아직은 사람이 해야한다.

세부사항을 잘 챙기면서 AI를 활용하기 위해서 요즘은 AI를 이렇게 사용하고 있다.

  1. 기능 구현을 AI에게 맡긴다. 자세히 요구하지는 않고 두 세 문장 이내로 요청한다.
  2. AI가 동작하는 코드를 가져오면 큰 틀의 리뷰를 한다. 나중에 가서 바꾸기 어려운 것들을 챙긴다. DB 스키마와 API spec, 에러 처리, 파일을 어떻게 나눌 것인가, 주요 라이브러리와 코드 스타일을 확인한다. AI에게 이것들을 고치게 시킨다.
  3. 큰 틀에서 고칠게 없는 코드가 완성되면, AI에게 수십 개의 작은 PR로 나누게 한다.
  4. 수십개의 작은 PR을 하나씩 리뷰하면서 세부사항을 챙긴다.

여기서 자잘한 pr을 나눌 때 주의할 점이 있다. 50개의 pr를 리뷰했을 때 AI가 첫 pr 리뷰를 수정했을 때 뒷 pr을 다 rebase하고 충돌을 해결하느라 시간이 많이 소비될 수 있다. 그래서 나는 pr train이라는 skill을 만들어서 사용하는데, 이 skill을 사용하면 AI는 자잘한 PR을 계속 만들어 나간다. 나는 앞 PR부터 리뷰하면서 고칠 지점들을 뒷 PR을 만들고 있는 AI에게 전달한다. AI는 그러면 뒷 PR을 만드는 걸 중단하고 내 요청사항을 반영한 PR을 중간에 삽입하고 뒷 PR을 이어간다. 앞 pr은 완벽하진 않더라도 뒤에서 수정할 것이기 때문에 하나 하나 머지를한다.

완벽하지 않은 머지를 해나가기 때문에 AI가 PR을 쪼갤 때 어느 PR에서 머지가 되든 기능이 깨지지 않도록 제약을 주는 것이 좋다.