← 최신 논문
💻 computer science

Building an Internal Coding Agent at Zup: Lessons and Open Questions

이 논문은 Zup 의 내부 코딩 에이전트 'CodeGen' 사례를 통해 모델 자체의 성능보다 도구 설계, 안전 장치, 상태 관리 및 인간 신뢰 조절과 같은 엔지니어링 결정이 실제 생산 환경에서의 에이전트 신뢰성과 채택을 좌우한다는 점을 강조합니다.

원저자: Gustavo Pinto, Pedro Eduardo de Paula Naves, Ana Paula Camargo, Marselle Silva

게시일 2026-04-15
📖 4 분 읽기☕ 가벼운 읽기

원저자: Gustavo Pinto, Pedro Eduardo de Paula Naves, Ana Paula Camargo, Marselle Silva

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

지업 (Zup) 의 '코드젠 (CodeGen)' 이야기: 코딩을 대신 해주는 AI 비서가 어떻게 성장했나?

이 논문은 브라질의 IT 기업 '지업 (Zup)'이 개발한 **내부용 AI 코딩 에이전트 '코드젠 (CodeGen)'**을 어떻게 만들고, 어떻게 실제 업무에 성공적으로 도입했는지에 대한 생생한 경험담입니다.

단순히 "AI 가 코드를 짜면 된다"는 생각으로 끝난 게 아니라, **"실제 개발자들이 믿고 쓸 수 있게 하려면 어떤 공학적 장치가 필요한가?"**에 대한 깊은 통찰을 담고 있습니다.

이 복잡한 기술 논문을 일상적인 비유로 쉽게 풀어보겠습니다.


1. 핵심 문제: "시험 점수 100 점" vs "실전 1 점"

많은 기업이 AI 코딩 도구를 만들 때 겪는 함정은 바로 이것입니다.

  • 시험 (벤치마크): AI 가 문제를 풀면 점수가 매우 높습니다. (예: "파일 내용을 읽어와서 수정해"라고 하면 완벽하게 해냅니다.)
  • 실전 (프로덕션): 하지만 실제 회사 업무에 투입하면 엉망이 됩니다.
    • 왜? AI 가 실수를 하면 개발자가 직접 고쳐야 하니까 귀찮아하고, AI 가 실수로 중요한 파일을 지우거나 (예: rm -rf 명령어), 회사 서버를 망가뜨릴 수도 있기 때문입니다.

비유:

마치 **천재 요리사 (AI)**를 고용한 식당을 상상해 보세요. 이 요리사는 이론적으로는 세계 최고지만, 칼질 실수가 잦아 손님이 다치고, 재료를 다 버려버립니다.
식당 주인 (개발자) 은 이 요리사를 믿고 부엌에 혼자 맡길 수 없습니다. 결국 요리사가 칼을 들 때마다 주인이 "잠깐, 그걸로 자르면 안 돼!"라고 말려야 합니다.

이 논문은 바로 **"천재 요리사를 어떻게 안전하게 부엌에 두어, 주인이 안심하고 일할 수 있게 할까?"**에 대한 해답을 제시합니다.


2. 코드젠의 성공 비결 3 가지 (핵심 교훈)

논문은 모델 자체를 더 똑똑하게 만드는 것보다, 주변 장치 (도구와 안전장치) 를 잘 만드는 것이 더 중요했다고 말합니다.

① "전체 파일을 다시 써라" 대신 "잘라내고 붙여넣기" (도구 설계)

  • 문제: AI 에게 "이 긴 파일 수정해 줘"라고 하면, AI 는 종종 파일의 중간을 잘라먹거나 (Truncation), 엉뚱한 내용을 넣습니다.
  • 해결: AI 가 파일을 통째로 다시 쓰게 하지 않고, **"이 특정 줄만 찾아서 이 내용으로 바꿔"**라고 구체적으로 지시했습니다.
  • 비유:

    긴 소설책을 다시 쓰게 하면 (전체 재작성), AI 는 중간에 지루해서 책을 찢어버릴 수 있습니다. 대신 **"3 페이지 5 번째 줄의 '사과'를 '배'로만 바꿔"**라고 시키면, 실수가 훨씬 적어집니다.

② "안전장치는 한두 개가 아니라, 전체 시스템으로" (안전 정책)

  • 문제: "파일 삭제 도구"만 막아봤자, AI 가 "터미널 명령어" 도구를 통해 똑같이 파일을 지울 수 있습니다.
  • 해결: 각 도구 하나하나를 막는 게 아니라, **전체 도구 목록 (Tool Manifest) 을 한눈에 보며 "이런 위험한 행동은 어떤 경로로도 못 하게 막아야 한다"**는 원칙을 세웠습니다.
  • 비유:

    금고 문만 잠그고 창문은 열어두면 도둑은 창문으로 들어갑니다. 창문, 문, 지하실까지 모든 출구를 동시에 잠가야 (전체 시스템 보안) 안전한 것입니다.

③ "완전 자율" 대신 "단계별 신뢰 구축" (사람의 개입)

  • 문제: 처음부터 AI 에게 모든 권한을 주면 개발자들은 공포를 느낍니다.
  • 해결: 2 단계 방식을 도입했습니다.
    1. 승인 모드 (초기): AI 가 "이 파일을 수정할까요?"라고 물어보고, 개발자가 "네"라고 누르면 실행됩니다.
    2. 자율 모드 (나중): 개발자가 AI 를 믿게 되면, 자동으로 실행되도록 설정을 바꿉니다.
  • 비유:

    **새로운 운전사 (AI)**를 태울 때, 처음에는 조수석에 앉아 핸들을 잡게 하지 않습니다. "이제 출발할게요?"라고 물어보고, 운전사가 "좋아"라고 하면 출발합니다. 운전사가 실수 없이 잘 운전하는 모습을 보면, 나중에는 "네가 알아서 해"라고 맡기는 것입니다.


3. 기술적인 선택들 (간단히)

  • 프레임워크를 바로 쓰지 않고 직접 만들었음: 처음엔 유명한 AI 도구 (LangChain 등) 를 쓰려다, 우리 시스템에 맞지 않아 직접 만들었습니다. 그랬더니 나중에 그 도구들이 우리 방식과 똑같이 변해서, 나중에 다시 옮기기 쉬웠습니다. (비유: 레고 조립 설명서를 바로 따르지 않고, 직접 블록을 쌓아보면서 구조를 이해한 뒤, 나중에 레고 회사가 그 구조를 표준으로 만들기를 기다린 것.)
  • CLI(명령어 창) 를 주 인터페이스로: 다양한 프로그램 (IDE) 에 플러그인을 만드는 게 너무 힘들어서, 모든 개발자가 쓰는 '터미널' 하나만 연결했습니다. (비유: 각자 다른 브랜드의 차 (IDE) 에 맞는 키를 만들지 않고, 모든 차에通用的인 '보통 열쇠'를 만든 것.)

4. 아직 풀리지 않은 질문들 (미래의 과제)

이 논문은 "우리가 다 해결했다"가 아니라, "이런 것들은 아직 고민 중"이라고 말합니다.

  1. 도구 설명서 (Tool Manifest) 를 어떻게 작성할까? AI 가 도구를 잘 쓰게 하려면 설명을 어떻게 써야 할까? (규칙이 아직 없음)
  2. AI 가 생각할 것과 사람이 통제할 것의 경계는? AI 가 스스로 판단하게 할지, 사람이 매번 확인하게 할지 어디까지가 적당할까?
  3. 장기 기억은 어떻게? AI 가 어제 한 일을 오늘도 기억하게 하려면 어떻게 해야 할까? (지금은 24 시간만 기억함)
  4. 품질 관리: AI 가 쓴 코드는 어떻게 검증할까? (사람이 쓴 코드와 다른 검증법이 필요할까?)

5. 결론: 요약하자면?

이 논문이 전하는 가장 중요한 메시지는 다음과 같습니다.

"AI 모델 자체를 더 똑똑하게 만드는 것보다, 그 AI 가 실수하지 않도록 안전장치를 치고, 도구를 잘 설계하고, 사람이 천천히 신뢰를 쌓아갈 수 있게 만드는 '공학적 설계'가 훨씬 더 중요하다."

코드젠은 완벽한 AI 를 만든 게 아니라, ** imperfect(불완전한) AI 를 현실 세계에서 안전하게 일하게 만든 사례**입니다. 이는 모든 기업이 AI 에이전트를 도입할 때 따라야 할 중요한 길잡이가 될 것입니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →