← 최신 논문
💻 computer science

From LLMs to Agents in Programming: The Impact of Providing an LLM with a Compiler

이 논문은 대규모 언어 모델에 컴파일러를 갖추는 것이 모델들을 코드 컴파일 성공률을 유의미하게 높이고 다양한 모델 크기에 걸쳐 구문 오류를 줄이는 효과적인 반복적 에이전트로 변모시킨다는 것을 입증하며, 이는 개발 도구에 대한 접근이 성능을 향상시키는 동시에 잠재적으로 거대하고 에너지 집약적인 모델의 필요성을 줄일 수 있음을 시사한다.

원저자: Viktor Kjellberg, Miroslaw Staron, Farnaz Fotrousi

게시일 2026-01-26
📖 3 분 읽기☕ 가벼운 읽기

원저자: Viktor Kjellberg, Miroslaw Staron, Farnaz Fotrousi

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

당신이 아주 유능하지만 경험은 부족한 견습 요리사에게 적힌 레시피를 보고 요리를 해달라고 고용했다고 상상해 보십시오.

문제점: "단 한 번의 기회"만 가진 요리사
과거에 만약 당신이 대규모 언어 모델(AI)에게 컴퓨터 코드를 작성하라고 요청했다면, 그것은 마치 그 견습 요리사에게 단 한 번의 시도로 요리를 완성하라고 요구하는 것과 같았습니다. 그들은 레시시를 보고 재료를 추측한 뒤 음식을 내놓을 것입니다. 만약 향신료를 빠뜨렸거나, 잘못된 팬을 사용했거나, 토스트를 태워버렸더라도, 당신은 음식을 먹어보기 전까지는 알 수 없습니다. 만약 음식을 먹을 수 없는 상태였다면(코드가 작동하지 않았다면), 주방은 이미 문을 닫았기 때문에 요리사는 이를 수정할 방법이 없었습니다. 그들은 단지 단 한 번에 성공하기만을 바랄 뿐이었습니다.

해결책: "맛을 보는 사람"이 있는 "자기 수정형" 요리사
이 논문은 다음과 같은 질문을 던집니다. 만약 우리가 그 견습 요리사에게 "이봐요, 소금을 빠뜨렸어요"라거나 "반죽을 섞기도 전에 케이크를 오븐에 넣었잖아요"라고 즉시 말해줄 수 있는 맛 테스터(컴파일러)를 준다면 어떻게 될까요?

연구진은 16가지의 서로 다른 AI "요리사"(작고 에너지 효율적인 것부터 거대하고 매우 복잡한 것까지)에게 699개의 요리 과제(C 언어 프로그래밍 작업) 목록을 주는 실험을 설계했습니다.

  • 기초 그룹 (Baseline Group): 이 요리사들은 음식을 만들고 즉시 내놓아야 했습니다. 두 번째 기회는 없었습니다.
  • 에이전트 그룹 (Agent Group): 이 요리사들은 요리를 하고, 맛 테스터(컴파일러)로부터 비평을 받은 뒤, 실수를 수정하고 다시 시도할 수 있었습니다. 그들은 음식이 완벽해질 때까지 최대 다섯 번까지 반복할 수 있었습니다.

맛있는 결과들

  1. 성공률이 급증했습니다:
    맛 테스터를 제공하는 것은 엄청난 차이를 만들었습니다. 성공한 요리의 수는 요리사의 종류에 따라 5%에서 거의 80%까지 증가했습니다.

    • 놀라운 점: 가장 큰 승자는 반드시 가장 크고 비싼 요리사가 아니었습니다. 40억 개의 "뇌 세포"를 가진 Qwen 3라는 중간 규모의 요리사는 컴파일러의 도움을 받자 최악의 요리사 중 하나(성공률 18%)에서 최고의 요리사 중 하나(성공률 97%)로 거듭났습니다. 이 요리사는 어떤 경우에는 700억 개의 파라미터를 가진 거대 요리사들을 능가하기도 했습니다.
  2. 맛은 변하지 않았습니다 (음식은 여전히 동일했습니다):
    요리사가 계속 음식을 수정하다 보면 레시피를 완전히 바꿔버릴까 봐 걱정될 수도 있습니다. 하지만 연구진은 "풍미 프로필"(코드의 의미와 논리)을 확인했습니다. 그 결과, 요리사들은 레시피를 바꾸지 않고 오직 실수만을 바로잡았다는 것을 발견했습니다. 최종 요리는 여전히 고객이 주문한 그대로였으며, 단지 탄 가장자리나 빠진 재료가 없을 뿐이었습니다.

  3. 어떤 종류의 실수가 수정되었나요?
    맛 테스터는 구체적이고 명확한 오류를 찾아내는 데 매우 뛰어났습니다:

    • 구문 오류 (Syntax Errors): 쉼표나 세미콜론을 빠뜨리는 것과 같은 오류입니다. 컴파일러가 "여기에 마침표를 빠뜨렸습니다"라고 말하면 요리사가 이를 수정했습니다. 이러한 오류는 75% 감소했습니다.
    • 재료 누락 (Missing Ingredients): 존재하지 않는 함수를 호출하는 것과 같은 오류입니다. 컴파일러가 "당신은 '마법 가루'를 요청했지만 우리에게는 없습니다"라고 말하면 요리사가 이를 수정했습니다. 이러한 오류는 87% 감소했습니다.

    하지만 요리사가 다른 언어(C 대신 Python)로 레시피를 썼거나, 코드 없이 텍스트 문단만 출력하는 등 혼란스러운 실수를 저질렀을 때는 여전히 어려움을 겪었습니다. 이러한 경우 컴파일러의 피드백이 요리사가 이해하기에는 너무 모호했습니다.

핵-심 결론
이 논문의 주요 교훈은 좋은 코드를 작성하기 위해 반드시 거대하고 비싸며 에너지를 많이 소비하는 슈퍼컴퓨터가 필요한 것은 아니라는 점입니다. 만약 더 작고 저렴한 AI에게 자신의 작업을 검토할 도구(컴파일러)를 주고 실수를 통해 배울 수 있게 한다면, 그 AI는 거대 모델만큼 효과적일 수 있습니다.

이는 똑똑한 제자가 좋은 스승과 함께 있을 때, 자신의 작업을 한 번도 점검받지 못하는 천재보다 더 나을 수 있다는 사실을 깨닫는 것과 같습니다. 이 방식은 일을 제대로 완수하면서도 에너지와 컴퓨팅 자원을 절약할 수 있게 해줍니다.

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

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

Digest 사용해 보기 →