CodeScout: Contextual Problem Statement Enhancement for Software Agents

이 논문은 코드베이스에 대한 경량화된 사전 탐색을 통해 불충분한 사용자 요청을 포괄적인 문제 진술로 변환하는 'CodeScout'을 제안함으로써, 소프트웨어 에이전트의 실패 패턴을 줄이고 SWEBench-Verified 벤치마크에서 해결률을 20% 향상시켰다고 요약할 수 있습니다.

Manan Suri, Xiangci Li, Mehdi Shojaie, Songyang Han, Chao-Chun Hsu, Shweta Garg, Aniket Anand Deshmukh, Varun Kumar

게시일 Mon, 09 Ma
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

코드 스카우트 (CodeScout): AI 프로그래머를 위한 '미리보기' 지도

이 논문은 **"AI 가 코딩 실수를 왜 자주 할까?"**라는 질문에서 시작합니다. 결론은 간단합니다. AI 가 바보가 아니라, 사람이 내린 지시 (문제 설명) 가 너무 막연해서 혼란을 겪는다는 것입니다.

이 문제를 해결하기 위해 제안된 **'코드 스카우트 (CodeScout)'**라는 시스템을 일상적인 비유로 설명해 드리겠습니다.


1. 문제 상황: "그냥 고쳐줘"라고만 한다면?

상상해 보세요. 당신이 아주 유명한 **건축 기사 (AI)**를 고용해서 집을 고쳐달라고 했습니다. 그런데 당신이 건네준 메모는 이렇습니다.

"거실 천장 좀 고쳐줘. 뭔가 이상해."

이때 건축 기사는 어떻게 될까요?

  1. 혼란: 천장 어디가 이상한지, 왜 이상한지 모릅니다.
  2. 헤매기: 천장 전체를 두드리고, 벽을 뚫고, 배관을 확인하며 시간을 낭비합니다.
  3. 실패: 결국 "아무것도 고칠 게 없네"라고 말하거나, 엉뚱한 곳을 고쳐서 더 큰 문제를 만듭니다.

이것이 현재 AI 코딩 도구가 겪는 문제입니다. 개발자들이 "버그가 있어"라고만 말하면, AI 는 코드 전체를 뒤지며 헤매다가 (과도한 탐색) 같은 실수를 반복하다가 지쳐버립니다.

2. 해결책: 코드 스카우트 (CodeScout) 의 등장

이때 등장하는 코드 스카우트는 바로 **"현장 조사원"**입니다.

건축 기사 (AI) 가 일을 시작하기 전에, 스카우트가 먼저 현장에 가서 다음과 같은 일을 합니다.

  1. 현장 답사: 천장이 왜 무너졌는지, 어떤 재료가 문제인지, 과거에 비슷한 수리가 어떻게 됐는지 코드를 미리 훑어봅니다.
  2. 상세한 지도 작성: "거실 천장 3 번 보강재가 부러졌고, 2 층 배관과 연결되어 있으니 여기서 수리하세요"라고 정확한 위치와 방법을 적어줍니다.
  3. 주의사항 전달: "여기서 망치로 치면 안 되고, 드라이버로 풀어야 합니다"라고 을 줍니다.

이제 건축 기사 (AI) 는 막연한 지시 대신, 정확한 지도를 받고 일을 시작합니다.

3. 코드 스카우트의 핵심 원리: "일단 보고, 그 다음에 행동하라"

논문에서는 이 과정을 3 단계로 나눕니다.

  • 1 단계: 어디를 볼지 정하기 (Scoping)
    • "거실 천장"이라는 키워드만 보고, 관련 있는 파일과 함수를 10 개 정도 추려냅니다. (전체 집을 다 뒤지지 않음)
  • 2 단계: 자세히 살펴보기 (Analysis)
    • 추려진 10 개 파일의 코드를 자세히 읽어보며, "아, 여기가 문제구나", "이 함수가 원인일 수도 있겠다"라고 분석합니다.
  • 3 단계: 완벽한 지시서 만들기 (Synthesis)
    • 원래의 막연한 요청 ("천장 고쳐줘") 에 분석 결과를 합쳐서, AI 가 바로 실행할 수 있는 완벽한 지시서로 바꿉니다.
    • 예: "천장 고쳐줘" → "거실 천장의 3 번 보강재가 부러져서 배관과 연결된 2 층에 영향을 줬어. forms.py 파일의 260 번째 줄을 수정하고, widget 속성을 추가해. 테스트는 이렇게 해봐."

4. 왜 이렇게 하면 좋은가요? (결과)

이 방법을 적용한 결과, 놀라운 변화가 일어났습니다.

  • 실패 감소: AI 가 엉뚱한 곳을 헤매는 시간이 줄어듭니다.
  • 성공률 향상: 문제를 해결하는 비율이 20% 이상 늘어났습니다.
  • 비용 절감: AI 가 더 적은 단계 (예: 21 단계 → 6 단계) 로 문제를 해결합니다.

비유하자면:

  • 기존 방식: AI 가 어둠 속에서 손으로 더듬어 가며 21 번이나 실수를 반복하다가 결국 문제를 찾음.
  • 코드 스카우트 방식: AI 가 밝은 전등 (정확한 지시서) 을 켜고 6 번 만에 정확하게 문제를 해결함.

5. 요약: 왜 이 연구가 중요한가?

이 논문은 **"AI 의 지능을 높이는 것보다, AI 가 받을 '지시'를 더 잘 만드는 것이 더 중요하다"**는 사실을 증명했습니다.

마치 **명장 (AI)**에게 **정밀한 설계도 (코드 스카우트)**를 주는 것이, 명장에게 "무언가 고쳐줘"라고 막연히 부탁하는 것보다 훨씬 효율적이라는 것입니다.

코드 스카우트는 AI 가 코딩할 때 헤매지 않도록, 미리 현장 조사해서 정확한 지도를 그려주는 똑똑한 조력자입니다. 덕분에 AI 는 더 빠르고 정확하게 소프트웨어를 개발할 수 있게 되었습니다.