Anderson의 관점
2020년 인간 코드, 대형 언어 모델 이전에 작성된 코드가 바이브 코딩 에이전트를 테스트에서 물리치다

ChatGPT 및 기타 바이브 코딩 도구는 거의 40,000번의 매치에서 테스트되었으며, 대형 언어 모델 이전에 작성된 대학원생 코드에 패배하였다.
영국에서 진행된 새로운 연구에서 연구자들은 인간 코딩 에이전트와 바이브 코딩 에이전트를 비교하였으며, 후者の 경우 최신 대형 언어 모델(Large Language Models, LLMs)을 사용하여 개발하였다. 연구 결과, 대형 언어 모델을 사용하지 않고 개발된 에이전트들이 훨씬 더 우수한 성능을 보였다.
두 집단의 에이전트는 스위스 연방 기술 연구소의 인공지능 연구소에서 다른 세대의 학생들이 개발하였다. 비-인공지능 에이전트는 2020년에 개발되었으며, 이는 ChatGPT와 LLM 혁명의 시작 이전이었다. 새로운 에이전트들은 현재의 학생들이 개발하였으며, 최신의 최고의 LLMs를 사용하였다.
게임을 조작하여도, 바이브 코딩 솔루션은 승리할 수 없었다. 상위 5개의 자리는 일관되게 ‘원시’ 에이전트가 차지하였으며, 대부분의 LLM 에이전트(33개 중 40개)는 ‘매우 간단한’ 기준 에이전트에 의해 쉽게 패배하였다. 이는 38,304개의 도전 과정을 통해, 다양한 변수와 상황에서 진행된 토너먼트에서 나타난 결과이다.
이 논문은 다음과 같이 말한다:
‘우리의 연구는 최신의 LLMs가 코드를 생성할 수 있지만, 생성된 솔루션은 인간이 설계한 솔루션에 비해 경쟁력이 떨어진다는 것을 보여준다. 즉, 전략적 계획, 최적화, 또는 다중 에이전트 경쟁과 같은 차원에서.’
‘따라서, 이 연구는 새로운 코드 생성의 전위를 강조하며, 벤치마크, 데이터셋, 및 오픈 소스 기준을 개발하여 코드 합성의 이유를 강조하는 것을 목표로 한다.’
도전 과제는 경매에 참여하여, 다양한 전략을 사용하여, 이긴 항목을 승자에게 전달하는 로직을 구축하는 것이었다.
연구자들은 LLMs에게 여러 가지 이점을 주었지만, 그럼에도 불구하고 LLMs는 인간 코딩 에이전트에 패배하였다:
‘우리의 벤치마크에서, 좋은 솔루션을 제시해도, LLM은 여전히 이를 사용할 수 없다.’
‘이 결과는 또한 복잡한 시나리오에서 맥락 내 학습과 검색 보강 문제 해결의 한계에 대한 흥미로운 미래 연구 질문을 제기한다.’
테스트에 사용된 LLMs는 GPT-5 Thinking, Gemini 2.5 Pro, Claude Opus 4.1, 및 DeepSeek R1*이었다.
새로운 논문은 바이브 코딩이 대학원생 코드를 이길 수 있는가? LLM 대 인간 코딩 토너먼트에 대한 시장 주도적 전략 계획으로 제목이 붙여져 있으며, 사우스햄프턴 대학교와 옥스포드 대학교 및 앨런 튜링 연구소의 연구자들이 참여하였다. 벤치마크는 곧 공개될 예정이다.
방법
연구자들은 전통적인 테스트는 이진 솔루션(정확 또는 부정확)을 가지는 도전 과제에 초점을 맞추고 있음을 지적한다. 그러나 이 접근법은 LLM-보조 코드의 한계를 탐구하기에 이상적이지 않다. 따라서 연구자들은 더 복잡한 도전 과제를 설계하였다.

표준적인 유닛 테스트 기반 접근 방식(위)과 연구자들이 설계한 더 개방적인 도전 과제 시나리오(아래)의 비교. 출처
경매, 픽업, 및 배달 문제(Auction, Pickup and Delivery Problem, APDP)는 연구자들의 연구에 사용되었다. 이 문제는 부분적으로 스위스 대학의 2020년 학생 작품을 사용할 수 있었기 때문에 선택되었다.
연구자들은 인기 있는 테스트 프레임워크를 피하려고 하였다. 이 프레임워크는 데이터 오염의 문제를 겪을 수 있다.
APDP는 두 단계의 로지스틱 문제로 구성되며, 역방향 경매와 차량 경로 설정이 포함된다. 첫 번째 단계에서는 에이전트들이 배달 작업을 위해 입찰하며, 두 번째 단계에서는 에이전트들이 이긴 작업을 효율적으로 계획하여 수행해야 한다.
에이전트들의 목표는 작업을 완수하는 것이 아니라, 작업을 묶어 함께 수행하여 최대 이익을 얻는 것이다.
APDP 벤치마크는 코드 생성 과제의 난이도를 높이며, 전략적 계획과 다중 에이전트 경쟁을 포함한다.
이 문제의 핵심은 NP-하드 문제로, 즉 알고리즘이 합리적인 시간 내에 최적의 솔루션을 찾을 수 없다. 따라서 에이전트들은 정밀도를 속도와 교환해야 한다.
경쟁이 시작되었다
연구자들의 평가에서는 40개의 LLM-코딩 에이전트와 17개의 인간-코딩 에이전트를 비교하였다. 각 에이전트는 다른 네 가지 도로 네트워크 토폴로지에서 두 번씩 경쟁하였다.
이 설정은 총 38,304개의 매치를 생성하였다. 각 매치에서는 50개의 배달 작업이 경매되었으며, 작업은 무작위로 도로 레이아웃에 할당되었다.

토너먼트에서 사용된 간소화된 도로 네트워크: 영국(상단 왼쪽), 스위스(상단 오른쪽), 네덜란드(하단 왼쪽), 프랑스(하단 오른쪽). 파란색과 빨간색 사각형은 픽업과 배달 작업을 나타낸다. 색상 삼각형은 에이전트의 차량 위치를 나타낸다.
학생 에이전트들은 2020년 코스 토너먼트에서 선정되었다. 8개의 에이전트는 단일 탈락 토너먼트의 상위 수행자로부터 선정되었으며, 4개의 에이전트는 기준 에이전트와의 대결에서 강한 성과를 보인 에이전트들로부터 선정되었다.
기준 에이전트들은 고정된 휴리스틱을 따랐다. 나이브는 총 거리를 계산하고 입찰하였다. ExpCostFixedBid는 10개의 무작위 작업을 시뮬레이션하고 평균 변동 비용을 입찰하였다. 어머니는 실제 변동 비용을 계산하였다. 모델 오포넌트는 동일한 작업을 수행하였으며, 최대 입찰을 하였다. 리스크 시킹은 시간 감소하는 이전과 실시간 비용 추정을 결합하여 입찰하였다.
평가는 40개의 LLM-코딩 에이전트를 포함하였다. 각 모델은 다섯 가지 다른 전략으로 프롬프트되었다.
두 가지 전략은 정적 프롬프트를 사용하였으며, 다른 하나는 모델이 자신의 출력을 수정하도록 하였다. 마지막 전략은 GPT-4를 사용하여 이전 접근 방식을 검토하여 새로운 프롬프트를 생성하였다.
기본 프롬프트는 원래 학생 과제를 반영하며, 모델에게 입찰하고 계획하여 최대 이익을 얻도록 지시하였다.
모든 LLM 에이전트들은 자체적으로 버그를 수정하기 위해 프롬프트되었다.
공통적인 LLM 실패에는 타임아웃, 작업을 उठ거나 배달하지 못하는 경우, 및 차량 용량 제한 위반이 포함되었다.
‘또한 우리는 LLM이 일관되게 버그를 해결하지 못하는 경우를 발견하였다(주로 Gemini, Claude, 및 DeepSeek에서). 예를 들어, 에이전트가 일관되게 타임아웃이 발생하거나, 버그를 해결하기 위해 여러 번(예: 5-15번) 프롬프트를 받았음에도 불구하고, 업데이트된 코드 버전을 받았다.’
‘이러한 상황에서 유일한 해결책은 처음부터 다시 시작하는 것이다. 우리는 버그가 없는 코드를 얻기 위해 상당히 많은 에이전트를 생성해야 했다.’
결과는 12개의 더블 라운드 로빈 토너먼트에서 요약되었다.
| 에이전트 | 평균 승리 수/토너먼트 | 표준 편차 승리 수/토너먼트 | 평균 패배 수/토너먼트 | 표준 편차 패배 수/토너먼트 | 총 승리 수 | 총 패배 수 | 승률 |
|---|---|---|---|---|---|---|---|
| 학생 1 | 108.167 | 1.193 | 3.833 | 1.193 | 1298 | 46 | 0.9658 |
| 학생 2 | 104.917 | 2.539 | 7.083 | 2.539 | 1259 | 85 | 0.9368 |
| 학생 3 | 103.917 | 2.466 | 8.083 | 2.466 | 1247 | 97 | 0.9278 |
| 학생 4 | 103.25 | 1.815 | 8.75 | 1.815 | 1239 | 105 | 0.9219 |
| 학생 5 | 96.5 | 2.908 | 15.5 | 2.908 | 1158 | 186 | 0.8616 |
| LLM(O, IR, 1) | 95.417 | 2.314 | 16.583 | 2.314 | 1145 | 199 | 0.8519 |
| LLM(O, A2, 1) | 94.583 | 2.314 | 17.417 | 2.314 | 1135 | 209 | 0.8445 |
| 학생 6 | 93.167 | 1.899 | 18.833 | 1.899 | 1118 | 226 | 0.8318 |
| 학생 7 | 93.167 | 3.563 | 18.833 | 3.563 | 1118 | 226 | 0.8318 |
| LLM(O, A1, 1) | 86.083 | 3.029 | 25.917 | 3.029 | 1033 | 311 | 0.7686 |
| LLM(O, GEN, 2) | 84.083 | 6.947 | 27.917 | 6.947 | 1009 | 335 | 0.7507 |
| LLM(O, CR, 2) | 83.5 | 4.442 | 28.5 | 4.442 | 1002 | 342 | 0.7455 |
| 학생 8 | 83.417 | 4.122 | 28.583 | 4.122 | 1001 | 343 | 0.7448 |
| RiskSeeking | 82.417 | 3.343 | 29.583 | 3.343 | 989 | 355 | 0.7359 |
| LLM(O, GEN, 1) | 80.667 | 4.355 | 31.25 | 4.372 | 968 | 375 | 0.7208 |
| ModelOpponent | 80.583 | 3.26 | 31.417 | 3.26 | 967 | 377 | 0.7195 |
| LLM(D, A1, 1) | 79.417 | 3.965 | 32.583 | 3.965 | 953 | 391 | 0.7091 |
| ExpCostFixedBid | 77.167 | 4.951 | 34.833 | 4.951 | 926 | 418 | 0.689 |
| LLM(O, IR, 2) | 73.917 | 3.502 | 38 | 3.618 | 887 | 456 | 0.6605 |
| LLM(O, A1, 2) | 72.417 | 2.193 | 39.583 | 2.193 | 869 | 475 | 0.6466 |
| LLM(G, A1, 2) | 68.5 | 3.555 | 43.5 | 3.555 | 822 | 522 | 0.6116 |
| LLM(A, GEN, 2) | 67.917 | 2.968 | 44.083 | 2.968 | 815 | 529 | 0.6064 |
| LLM(G, IR, 2) | 65.917 | 2.314 | 46.083 | 2.314 | 791 | 553 | 0.5885 |
| 학생 9 | 64.167 | 11.044 | 47.833 | 11.044 | 770 | 574 | 0.5729 |
| LLM(G, A1, 1) | 64 | 4.243 | 47.917 | 4.316 | 768 | 575 | 0.5719 |
| LLM(G, IR, 1) | 60.333 | 3.725 | 51.667 | 3.725 | 724 | 620 | 0.5387 |
| LLM(O, A2, 2) | 59.333 | 4.499 | 52.667 | 4.499 | 712 | 632 | 0.5298 |
| LLM(D, CR, 1) | 55.083 | 6.694 | 56.833 | 6.59 | 661 | 682 | 0.4922 |
| LLM(G, GEN, 2) | 53.167 | 3.664 | 58.833 | 3.664 | 638 | 706 | 0.4747 |
| LLM(D, GEN, 2) | 52.083 | 9.06 | 59.917 | 9.06 | 625 | 719 | 0.465 |
| Honest | 50.583 | 3.848 | 61.417 | 3.848 | 607 | 737 | 0.4516 |
| 학생 10 | 48.833 | 2.98 | 63.167 | 2.98 | 586 | 758 | 0.436 |
| LLM(D, IR, 1) | 48.583 | 10.211 | 63.417 | 10.211 | 583 | 761 | 0.4338 |
| LLM(A, A1, 1) | 48 | 4.69 | 64 | 4.69 | 576 | 768 | 0.4286 |
| LLM(G, A2, 1) | 47.25 | 3.864 | 64.75 | 3.864 | 567 | 777 | 0.4219 |
| LLM(A, CR, 1) | 43.833 | 4.609 | 68.167 | 4.609 | 526 | 818 | 0.3914 |
| LLM(A, A1, 2) | 43.75 | 2.05 | 68.25 | 2.05 | 525 | 819 | 0.3906 |
| 학생 11 | 42.083 | 5.664 | 69.917 | 5.664 | 505 | 839 | 0.3757 |
| LLM(A, IR, 1) | 39.5 | 2.541 | 72.5 | 2.541 | 474 | 870 | 0.3527 |
| Naive | 36.75 | 1.712 | 75.25 | 1.712 | 441 | 903 | 0.3281 |
| 학생 12 | 36.333 | 1.775 | 75.667 | 1.775 | 436 | 908 | 0.3244 |
| LLM(D, A2, 1) | 33.917 | 2.193 | 78.083 | 2.193 | 407 | 937 | 0.3028 |
| LLM(A, GEN, 1) | 30.167 | 1.749 | 81.833 | 1.749 | 362 | 982 | 0.2693 |
| LLM(D, A2, 2) | 29.833 | 2.038 | 82.167 | 2.038 | 358 | 986 | 0.2664 |
| LLM(G, A2, 2) | 27 | 2.256 | 85 | 2.256 | 324 | 1020 | 0.2411 |
| LLM(A, A2, 1) | 26.333 | 0.985 | 85.667 | 0.985 | 316 | 1028 | 0.2351 |
| LLM(O, CR, 1) | 25 | 3.411 | 87 | 3.411 | 300 | 1044 | 0.2232 |
| LLM(A, IR, 2) | 24.333 | 8.542 | 87.667 | 8.542 | 292 | 1052 | 0.2173 |
| LLM(A, A2, 2) | 24 | 1.809 | 88 | 1.809 | 288 | 1056 | 0.2143 |
| LLM(A, CR, 2) | 23.333 | 1.557 | 88.667 | 1.557 | 280 | 1064 | 0.2083 |
| LLM(D, GEN, 1) | 22.5 | 1.784 | 89.5 | 1.784 | 270 | 1074 | 0.2009 |
| LLM(D, A1, 2) | 13.333 | 1.826 | 98.667 | 1.826 | 160 | 1184 | 0.119 |
| LLM(G, CR, 1) | 9.5 | 1.087 | 102.5 | 1.087 | 114 | 1230 | 0.0848 |
| LLM(G, GEN, 1) | 9.167 | 0.937 | 102.833 | 0.937 | 110 | 1234 | 0.0818 |
| LLM(D, IR, 2) | 7.75 | 0.622 | 104.25 | 0.622 | 93 | 1251 | 0.0692 |
| LLM(G, CR, 2) | 7.25 | 1.422 | 104.75 | 1.422 | 87 | 1257 | 0.0647 |
| LLM(D, CR, 2) | 5.667 | 0.985 | 106.333 | 0.985 | 68 | 1276 | 0.0506 |
각 에이전트는 112번의 매치를 수행하였으므로, 평균 승리 또는 패배 수의 최대값은 112이다. 표준 편차는 토너먼트 간의 변동성을 반영한다. 인간 코딩 에이전트는 볼드체로 표시되어 있다. LLM-코딩 에이전트는 모델(GPT-5 Thinking, Gemini 2.5 Pro, Claude Opus 4.1, DeepSeek R1)을 나타내는 문자와 두 자리 문자 코드 및 생성된 에이전트 번호로 표시된다. 출처
위의 결과에 대해 연구자들은 다음과 같이 말한다:
‘LLMs는 기대되는 코드를 생성하지 못했다. 이것은 LLMs의 새로운 약점을 강조한다.’
‘우리의 결과는 인간 코딩 에이전트의 명확한 우위를 보여준다. 상위 5개의 자리는 일관되게 학생 에이전트가 차지하며, 대부분의 LLM 에이전트(33개 중 40개)는 매우 간단한 기준 에이전트에 의해 패배한다.’
‘또한 우리는 학생 코드를 디버깅하지 않았으며, LLM 코드를 철저히 테스트하고 디버깅하였다. 학생 에이전트가 충돌할 때마다, 우리는 자동으로 LLM 에이전트에게 승리를 주었다. 많은 충돌은 쉽게 수정할 수 있었을 것이다. 따라서 학생 에이전트는 잠재적으로 더 높은 순위를 차지할 수 있었다.’
추가 실험으로, GPT-5 Thinking은 최상위 수행 에이전트인 학생 1의 코드를 개선하도록 프롬프트되었다. 그러나 LLM-수정된 에이전트는 10위로 떨어졌으며, 이는 모든 인간 에이전트 중 가장 낮은 순위였다. LLM의 변경은 원래 솔루션을 약 20% 낮췄다.
연구자들은 다음과 같이 결론을 내린다:
‘우리의 결과는 LLM 코드 생성의 중요성을 강조한다. 그러나 LLMs는 여전히 코드 생성의 한계를 가지고 있다. 우리는 코드가 컴파일되는 것보다 코드가 경쟁하는 것을 목표로 해야 한다.’
결론
연구자들은 바이브 코딩이 기술적인 배경과 상관없이 모든 사람에게 힘을 실어주는 것으로 간주하며, 이는 긍정적인 측면이다. 그러나 바이브 코딩의 한계는まだ 알려지지 않았으며, 현실적으로 기대할 수 있는 것보다 더 높을 수 있다.
그들은 ‘컴파일되는 코드에서 경쟁하는 코드로‘의 목표를 설정하면서 논문을 마무리한다.
이 논문을 읽는 독자들은 연구자들이 강력한 도전 과제를 설정했는지, 아니면 너무 약한 도전 과제를 설정했는지 궁금해할 수 있다.
* 논문은 ‘DeepThink R1’을 계속 언급하지만, 이는 존재하지 않는 것으로 보인다. 이는 다른 저자들이 ‘DeepSeek R1’을 잘못 작성한 것으로 추정된다. 이것이 나의 오류라면, 프로필 세부 정보를 통해 연락주시기 바랍니다. 그리고 나는 이를 수정할 것입니다.
† 저자의 강조, 나의 것이 아님.
最初에 2025년 11월 26일에 게시되었으며, 17:35 EST에 형식으로 수정되었습니다.












