← 최신 논문
💻 computer science

TICoder: A Repository-Level Code Generation Framework with Test-Driven Planning and Implementation-Aware Reuse

본 논문은 행동 지침을 위한 테스트 주도 반복적 계획 메커니즘과 기존 저장소 코드를 효과적으로 활용하기 위한 이중 뷰 유사성 및 이중 단계 선택을 갖춘 구현 인지적 재사용 전략을 통합함으로써 대규모 언어 모델의 성능을 향상시키는 새로운 저장소 수준 코드 생성 프레임워크인 TICoder를 소개하며, 이를 통해 최신 기술 대비 평균 11.52%의 개선을 달성하였다.

원저자: Siyu Nan, Yaling Luo, Jian Wang, Neng Zhang, Bing Li

게시일 2026-06-09
📖 3 분 읽기☕ 가벼운 읽기

원저자: Siyu Nan, Yaling Luo, Jian Wang, Neng Zhang, Bing Li

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

당신이 숙련된 메인 셰프(AI)라고 상상해 보세요. 당신은 "파스타로 무언가 만들어 줘"라는 고객의 모호한 주문에 따라 복잡한 요리를 하려고 합니다. 당신은 방대한 레시피 북(코드 저장소)을 가지고 있지만, 한 번에 몇 페이지씩만 읽을 수 있습니다.

현재 대부분의 AI 셰프들은 "파스타"와 비슷해 보이는 단일 레시피를 찾아내어 그대로 복사하는 방식으로 이 문제를 해결하려 합니다. 하지만 이는 종ud히 실패하곤 합니다. 고객이 특정 종류의 파스타를 원할 수도 있고, "먼저 물을 끓여라"와 같은 결정적인 단계를 레시피가 놓치고 있을 수도 있기 때문입니다.

TICoder는 AI 셰프를 돕기 위해 개발된 더 똑똑한 방식입니다. 이는 단순히 레시피를 찾는 것을 넘어, AI가 식사를 어떻게 계획하고 재료를 정확하게 사용하는 법을 학습하도록 돕는 매우 조직적인 수셰프(Sous-chef) 역할을 합니다. 그 작동 방식은 세 가지 간단한 부분으로 나뉩니다.

1. "테스트 주도형" 계획 (맛 테스트)

문제점: AI가 고객의 모호한 단어만 보고 요리 단계를 계획하려고 하면, 세부 사항을 놓치는 경우가 많습니다. 파스타가 글루텐 프리인지 확인하는 것을 잊거나, 소스를 한 시간 동안 졸여야 한다는 점을 놓칠 수 있습니다.

TICoder의 솔루션: AI가 요리를 시작하기 전에, TICoder는 "맛 테스트"(테스트 케이스)를 요청합니다. 이것은 "소스는 매콤해야 한다" 또는 "파스타는 알덴테 상태여야 한다"와 같은 구체적인 지침입니다.

  • 작동 방식: AI가 계획안을 작성합니다. 그러면 "판사(Judge)" AI가 계획안과 맛 테스트를 대조하여 검토합니다. 만약 계획이 테스트와 일치하지 않으면(예: "매운맛을 빠뜨렸어요!"), 판사는 계획을 수정하도록 다시 돌려보냅니다.
  • 결과: AI는 계획이 예상된 결과와 완벽하게 일치할 때까지 이 "초안 작성, 판정, 수정"의 루프를 반복합니다. 이를 통해 AI는 무언가를 만들기 시작하기 전에 정확히 무엇을 만들어야 하는지 확실히 알게 됩니다.

2. "구현 인지형" 재사용 (적절한 도구 찾기)

문제점: 일단 AI가 계획을 세우면, 라이브러리에서 도움을 줄 기존 도구(함수)를 찾아야 합니다.

  • 기존 방식: AI는 자신이 필요로 하는 것과 비슷하게 들리는 도구를 찾습니다. 예를 들어, "소스 제조기"를 찾아낼 수는 있지만, 잘못된 열을 사용하거나 소금을 넣지 말아야 할 때 소금을 넣어버릴 수도 있습니다. 도구는 가져왔지만 그것을 어떻게 제대로 사용하는지는 모르는 것입니다.
  • TICoder 솔루션: TICoder는 두 가지 관점에서 도구를 살펴봅니다.
    1. 기능(Function): 적절한 일을 수행하는가? (예: "네, 소스를 만듭니다.")
    2. 구현(Implementation): 적절한 방식으로 작동하는가? (예: "네, 20분 동안 졸여냅니다. 우리가 필요한 방식과 같습니다.")
  • 결과: 이는 작업 설명과 구체적인 실행 방식 모두에 부합하는 정확한 도구를 찾아냅니다.

3. "사용 패턴" 선택 (예시로부터 학습하기)

문제점: AI가 완벽한 도구를 찾았더라도, 그것을 어떻게 끼워 넣어야 할지 모를 수 있습니다. 복잡한 에스프레소 머신을 찾아놓고도 라떼를 만들 것인지 카푸치노를 만들 것인지에 따라 어떤 버튼을 눌러야 하는지 모르는 상황과 같습니다.

TICoder 솔솔루션: TICoder는 단순히 AI에게 도구를 주는 것이 아니라, 다른 셰프들이 과거에 그 도구를 정확히 어떻게 사용했는지를 보여줍니다.

  • TICoder는 라이브 라이브러리를 조사하여 실제로 레시피에서 이 도구가 어떻게 사용되었는지 확인합니다.
  • 수천 개의 예시를 필터링하여 가장 좋고 흔한 사용법을 찾아내고(유사한 방법들을 클러스터링), 혼란스럽거나 특이한 방식은 제거합니다.
  • 결과: AI는 도구를 사용하는 최상의 방법 2~3가지를 담은 "치트 시트(요약본)"를 받게 되어, 최종 요리를 조립할 때 실수를 하지 않게 됩니다.

최종 결과

이 세 가지 부분을 모두 결합하면 다음과 같습니다:

  1. 계획: AI는 "맛 테스트"를 통해 자신의 작업을 검증했으므로 무엇을 해야 할지 정확히 압니다.
  2. 검색: AI는 작업 내용과 방식 모두에 부합하는 완벽한 도구를 찾습니다.
  3. 재사용: AI는 실제 사례를 연구했기 때문에 그 도구들을 어떻게 사용하는지 정확히 압립합니다.

성과: 논문의 실험에서, 이 방식은 AI가 코드를 생성하는 능력을 크게 향상시켰습니다. 다양한 유형의 코딩 작업과 다양한 AI 모델에 걸쳐 성공률을 평균 11.52% 개선했습니다. 본질적으로 TICoder는 혼란스러워하는 AI를 정밀하고, 계획적이며, 경험이 풍부한 셰프로 변화시킵니다.

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

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

Digest 사용해 보기 →