기본 콘텐츠로 건너뛰기

라벨이 코딩자동화인 게시물 표시

AI와 함께 춤을.. 아니, 코딩을.. (5) - 에이전트 팀으로 컨텍스트 압축 해결하기

지난 포스팅에서 개발 환경을 모노레포로 통합 하여, 동일한 Claude 세션 안에서 앱과 서버들을 한꺼번에 개발할 수 있게 했다고 이야기했다. 덕분에 명세 동기화 문제나 연동 디버깅의 번거로움이 크게 줄었다. 그런데 이렇게 앱과 여러 서버를 하나의 세션에서 다루다 보면, 또 다른 효율 저하 요인이 생긴다. 바로 컨텍스트 사이즈 제약 이다. 컨텍스트 압축이라는 새로운 문제 요즘은 Max 요금제 기준으로 기본 1MB 컨텍스트를 제공해서 예전만큼 빡빡하지는 않다. 하지만 불과 두어 달 전까지만 해도 컨텍스트 크기가 지금보다 훨씬 작았다(그래도 다른 서비스보다는 컸다). 그래서 한꺼번에 많은 코드를 분석시키고 대화를 조금만 이어가면, 빈번한 컨텍스트 압축 이 발생하곤 했다. 컨텍스트 압축이 일어나면 대화의 맥락이 흐려지기 시작한다. 방금 전까지 이해하고 있던 내용을 다시 설명해야 하거나, 이미 정한 구현 방향을 잊고 다른 길로 가기도 한다. 모노레포로 프로젝트를 합친 직후에 이 문제가 두드러지게 나타났다. 해결: 에이전트 팀 구성하기 이 문제를 줄이기 위해 Claude Code가 지원하는 서브에이전트(Sub-agent) 기능 을 적극적으로 활용하기로 했다. 앱과 각 서버를 담당할 전문 에이전트를 만들고, 이들을 총괄할 팀 리더 에이전트 를 따로 두는 방식이다. 말 그대로 "에이전트 팀"을 꾸리는 셈이다. 페르소나 구성은 대략 이렇게 잡았다. 팀 리더 └─ 제품 전체 기획 / 각 개발자에게 업무 지시 앱 개발자 └─ 모바일 앱 개발에 능숙한 개발자 서버#1 개발자 └─ Node.js 개발에 뛰어난 개발자 서버#2 개발자 └─ Python 개발자 이렇게 담당 프로젝트의 특성에 맞춰 각 에이전트의 페르소나를 정의한다. 테스터 에이전트를 따로 두는 분들도 있는데, 나는 별도로 분리하지 않았다. 서브에이전트 생성은 Claude Code에서 프롬프트로 설정할 수 있고, 추가한 뒤에는 세션을 새로 ...

AI와 함께 춤을.. 아니, 코딩을.. (1) - 오래된 개발자의 AI 코딩 여정기

ChatGPT가 본격적으로 서비스를 시작하면서 나 뿐만 아니라 우리 모두의 삶에 많은 것이 달라졌다. 🤖 ChatGPT와의 첫 만남 회사 대표의 강권에 힘입어 ChatGPT가 서비스를 시작하자마자 유료 구독을 해서 사용하기 시작했다. 그런데 나는 인터넷을 업무 외 용도로는 크게 사용하지 않는 편이다. 인터넷 쇼핑도 거의 안 하고, 배달앱은 아직도 사용하지 않고 있다. 인터넷에서 하는 거라고는 개발을 위한 검색, 게시판 읽기, 가끔 궁금한 것 찾아보기 정도다. 그러다 보니, ChatGPT가 처음 나왔을 때 나에겐 크게 쓸모가 없었다. 그때는 ChatGPT에 환각이 많았기 때문에 개발 관련해서 뭔가를 물어보면 쓸 만한 답변을 하질 못했다. 답변을 받았더라도 이를 검증하기 위해 다시 구글링을 해야 했기 때문에 크게 도움이 되진 않았다. 💡 우연히 시작된 AI 코딩 ChatGPT를 코딩에 사용한 것은 우연한 기회였다. 집사람 친구 딸이 학교에서 코딩 숙제가 나왔는데 도저히 모르겠다고 도움을 요청해 왔다. 간단한 계산기였던가 그랬던 것 같은데, 직접 코딩해서 돌아가는지 확인하는 것까지는 귀찮아서 혹시나 하는 마음에 ChatGPT에 작성을 지시했다. 어라. 대충 눈으로 컴파일했을 때 문제없이 동작할 것 같은 코드가 나와서 그걸 보내줬다. 그러면서 개발에 ChatGPT를 사용하기 시작했다. 간단한 함수 단위로 머리 쓰기 싫을 때 작성을 맡기고 복사해서 붙여넣는 방식이었다. 그럼에도 이걸 적극적으로 사용할 수 없었던 것은 코딩에도 환각이 발생했기 때문이다. 코드에서 환각이 발생할 일이 뭐가 있겠냐 싶겠지만, 정확히 기억은 안 나는데 무엇인가를 구현해야 했는데 잘 모르는 부분이라 GPT에게 요청했다. 언제나 그렇듯이 매우 그럴듯한 코드를 뽑아줬다. 다만 존재하지 않는 패키지를 사용하라는 가이드와 함께... 그래서 간단한 함수 작성 같은 경우에만 쓰다가 이것도 귀찮아서 잘 사용하지 않게 되었다. ⚡ GitHub Copilot — ID...