Can Coding Agents Solve Repository-Level Issues with Rendered Code? An Exploratory Study of Visual Representations
본 연구는 렌더링된 코드 이미지를 저장소 수준 코딩 에이전트를 위한 토큰 압축 전략으로 사용하는 것을 평가하며, 이것이 프롬프트 비용을 효과적으로 줄이고 복구 정확도를 유지하면서도, 그 이점은 기저 모델의 역량과 복구 워크플로의 특정 단계에 따라 조건부적이며 제한적이라는 점을 밝혀냈다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
컴퓨터가 초당 수백만 권의 책을 읽을 수 있는 믿기지 않을 정도로 빠르고 똑똑한 사서와 같은 세상이 있다고 상상해 보십시오. 이 "AI 에이전트"들은 거대한 소프트웨어 프로젝트의 고장 난 코드를 고치도록 교육받고 있으며, 인터넷의 디지털 정비사 역할을 하고 있습니다. 하지만 함정이 하나 있습니다. 만약 한꺼번에 도서관 전체를 건네준다면 이 사서들은 과부하에 걸리게 됩니다. 이들은 텍스트를 한 줄씩 읽어야 하며, 처리해야 할 텍스트가 많아질수록 시간과 비용이 더 많이 듭니다. 최근 과학자들은 한 가지 기술을 발견했습니다. 사서에게 텍스트의 벽을 통째로 주는 대신, 코드의 사진을 찍어 주는 것입니다. 이것은 긴 소설을 하나의 밀도 높은 그림으로 바꾸는 것과 같습니다. 이 "시각적 압축(visual compression)"은 공간을 절약해주지만, 이것이 실제로 책을 고치는 데 도움이 될까요, 아니면 단순히 글자를 읽기에는 너무 흐릿한 사진을 만드는 것에 불과할까요?
이 질문은 홍콩 과학기술대학교와 바이트댄스(ByteDance) 연구진의 새로운 연구의 핵심입니다. 그들은 코드를 이미지로 바꾸는 것이 AI 에이전트가 소프트웨어를 수리하려고 할 때 마법 같은 지름길인지, 아니면 실전 업무에 들어갔을 때 한계에 부딪히는 멋진 눈속임에 불과한지를 알고 싶어 했습니다. 그들은 단순히 AI에게 사진을 "보라"고 시킨 것이 아니라, AI가 지저도한 디지털 창고를 뒤져서 고장 난 부분을 찾아내고, 이를 수정하고, 그것이 제대로 작동함을 증명해야 하는 현실적인 시나리오에 배치했습니다. 그들의 연구 결과는 시각적 표현이 비용을 많이 아껴주기는 하지만, AI를 더 똑똑하게 만들지는 못하며, 만약 사진을 너무 꽉 짜낸다면 AI가 혼란에 빠질 수 있다는 점을 시사합니다.
실험: 텍스트에서 픽셀로
이를 테스트하기 위해 연구진은 SWE-bench Verified라는 유명한 벤치마크를 사용하여 디지털 장애물 코스를 설정했습니다. 이것은 AI가 실제 소프트웨어 프로젝트의 버그를 해결해야 하는 거대한 현실 세계의 비디오 게임 레벨과 같습니다. AI 에이전트는 다음 세 가지 주요 작업을 수행해야 했습니다:
- 탐색(Search): 거대한 코드베이스에서 올바른 파일을 찾기 (마치 건초더미에서 바늘 찾기처럼).
- 편집(Edit): 버그를 고치기 위해 코드를 변경하기.
- 검증(Verify): 수정 사항이 실제로 작동하는지, 그리고 다른 것을 망가뜨리지 않았는지 확인하기 위해 테스트 실행하기.
연구진은 AI에게 "단서"를 제공하는 두 가지 방법을 비교했습니다:
- 텍스트 방식: AI가 사람이 책을 읽는 것처럼 코드를 한 줄씩 읽습니다.
- 시각적 방식: 코드가 이미지(렌더링된 스크린샷)로 변환되며, AI는 코드를 이해하기 위해 그 사진을 봅니다.
연구진은 다양한 수준의 "압축"을 사용하여 이를 테스트했습니다. 페이지의 텍스트를 사진 찍는다고 상상해 보십시오. 공간을 절약하기 위해 사진을 더 작게 만들 수 있습니다(압축). 연구진은 AI가 코드를 이해하지 못하게 되기 전까지 얼마나 많은 공간을 절약할 수 있는지 알아보기 위해 사진을 점점 더 작게(압축률 1, 3, 5, 7) 만들어 보았습니다.
결과: 절약과 고군분투의 복합적인 모습
연구 결과는 흥고하면서도 약간 복잡한 양상을 보여주었습니다. 연구진이 발견한 내용은 다음과 같습니다:
1. 돈을 아껴주지만 마법의 지팡이는 아닌 것 (The Money Saver)
코드를 이미지로 바꾸는 것은 확실히 돈을 아껴줍니다. 연구진은 시각적 표현을 사용하는 것이 AI가 읽어야 하는 "토큰"(AI가 처리하는 데이터 단위)의 수를 일관되게 줄여준다는 것을 발견했습니다. 어떤 경우에는 생으로 된 텍스트를 읽는 것에 비해 데이터 양을 최대 2.8배까지 줄였습니다. 하지만 이 절약 효과는 직선적인 형태가 아니었습니다. 이미지를 7배 압축하면 비용도 7배 절약될 것이라고 생각할 수도 있습니다. 하지만 실제로는 그렇지 않습니다. 절약 수치는 매우 빠르게 "바닥(floor)"에 도달합니다. 작은 코드 조각의 경우, 이미지가 읽을 수 있을 만큼 충분히 커야 하기 때문에 아무리 압축하려고 해도 이미지 크기가 거의 줄어들지 않습니다. 이는 우표를 줄이려는 것과 같습니다. 읽을 수 없을 정도로 작게 만들기 전까지는 더 이상 작게 만들 수 없습니다.
2. 정확도의 함정 (The Accuracy Trap)
가장 중요한 발견은 돈을 아끼는 것이 AI를 더 똑똑하게 만들지는 않았다는 점입니다. 버그를 실제로 고치는 AI의 능력(정확도)은 텍스트를 읽든 사진을 보든 거의 동일하게 유지되었습니다.
- AI가 처음부터 전체 작업(탐색, 읽기, 수정)을 수행해야 할 때, 시각적 방법은 텍스트 방법만큼 잘 작동하면서도 더 저렴했습니다.
- 하지만 연구진이 AI에게 이미지를 너무 많이 압축하도록 강제하면(공격적인 압축), AI는 더 많은 실수를 하기 시작했습니다. 사진이 너무 흐릿해지거나 빽빽해져서 AI가 코드를 고치는 데 필요한 세부 사항을 볼 수 없게 된 것입니다.
3. "탐색" 대 "수정" 문제 (The "Search" vs. "Fix" Problem)
연구진은 시각적 기술이 정확히 어디에서 도움이 되는지 알아보기 위해 AI의 작업을 두 가지 뚜렷한 단계로 나누었습니다:
- 로케이터(Locator, 탐색자): 버그가 어디에 있는지 찾는 부분입니다. 여기서 시각적 이미지는 매우 유용했습니다. AI가 건초더미에서 바늘을 찾기 위해 방대한 양의 원시 코드를 읽어야 했기 때문에, 그 코드를 압축된 이미지로 바꾸는 것이 엄청난 양의 데이터를 절약해 주었습니다.
- 에디터(Editor, 수정자): 일단 버그를 찾고 나면, AI는 실제로 코드를 변경하고 테스트를 실행해야 합니다. 여기서 시각적 기술은 큰 도움이 되지 않았습니다. 연구진은 AI가 버그가 정확히 어디에 있는지 알더라도, 문제를 고치는 과정에서의 "시행착오"가 가장 어렵다는 것을 발견했습니다. AI는 수정하고, 테스트하고, 실패하고, 다시 수정하고, 다시 테스트하는 과정을 반복해야 합니다. 이 과정은 주고받는 대화와 테스트로 가득 차 있으며, 초기 코드 이미지를 압축하는 것의 혜택을 많이 받지 못합니다. 실제로 이러한 "수정" 단계에서는 테스트와 편집 과정이 비용의 대부분을 차지하며, 코드를 읽는 데 드는 비용은 미미했습니다.
결론: 유용한 도구이지만 만능 해결책은 아니다
그렇다면, 코딩 에이전트가 렌더링된 코드로 저장소 수준의 문제를 해결할 수 있을까요? 네, 하지만 조건이 있습니다.
연구는 코드를 이미지로 바꾸는 것이, 특히 AI가 방대한 양의 텍스트를 읽고 탐색하는 데 많은 시간을 소비할 때 비용을 절감할 수 있는 실행 가능한 전략임을 시사합니다. 이것은 마치 사서에게 책 전체를 주는 대신 색인을 보여주어 페이지 번호를 찾게 하는 것과 같습니다. 더 빠르고 저렴합니다.
하지만 이것은 AI를 무한히 더 좋게 만드는 마법 같은 해결책은 아닙.
- 이것은 AI의 근본적인 지능을 고쳐주지 않습니다. AI가 버그를 고치는 데 서툴다면, 사진을 본다고 해서 달라지지 않습니다.
- 한계가 있습니다. 돈을 더 아끼려고 이미지를 너무 작게 압축하면 AI는 혼란에 빠지고 정확도가 떨어집니다.
- "탐색" 단계에서 가장 큰 도움을 줍니다. 일단 AI가 문제가 어디에 있는지 알게 되면, 실제 수리 작업(편집 및 테스트)이 병목 구간이 되며, 이때는 시각적 압축이 별로 도움이 되지 않습니다.
요약하자면, 연구진은 시각적 코드가 "조건부" 도구로서 훌륭하다고 결론짓습니다. 이는 코드를 읽는 지루하고 무거운 작업을 수행할 때 비용을 아끼는 스마트한 방법이지만, 실제 수리 작업을 수행할 똑똑하고 세심한 편집자를 대체할 수는 없습니다. AI 코딩의 미래는 단순히 입력을 작게 만드는 것이 아니라, 언제 사진을 사용하고 언제 텍스트를 고수해야 하는지를 아는 데 달려 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.