소식

오픈 소스 AI 소프트웨어 엔지니어 목록에서 1위를 차지한 UIUC의 에이전트 없는 솔루션은 실제 프로그래밍 문제를 해결합니다.

2024-07-15

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

AIxiv 칼럼은 Machine Heart가 학술 및 기술 콘텐츠를 게재하는 칼럼입니다. 지난 몇 년 동안 Heart of the Machine AIxiv 칼럼은 전 세계 주요 대학 및 기업의 최고 연구실을 대상으로 2,000개 이상의 보고서를 접수하여 학술 교류 및 보급을 효과적으로 촉진했습니다. 공유하고 싶은 훌륭한 작품이 있다면 자유롭게 기여하거나 보고를 위해 연락주시기 바랍니다. 제출 이메일: [email protected] [email protected]

본 논문의 저자는 모두 UIUC(University of Illinois at Urbana-Champaign)의 Zhang Lingming 교수 팀 출신이며, 여기에는 AI 기반 자동 코드 복구를 연구 방향으로 삼고 있는 박사 과정 4년차 Steven Xia가 포함됩니다. 모델; 대형 AI 모델을 기반으로 한 코드 생성을 연구 방향으로 삼고 있는 4학년 박사 과정 학생인 Deng Yinlin, 현재 UIUC의 3학년 학생인 과학 연구 인턴 Soren Dunn. Zhang Lingming 선생님은 현재 UIUC 컴퓨터과학과 부교수로 재직하고 있으며 주로 소프트웨어 엔지니어링, 기계 학습, 코드 대형 모델 관련 연구에 종사하고 있습니다.

더 자세한 정보를 원하시면 Zhang 선생님의 개인 홈페이지를 방문해 주세요: https://lingming.cs.illinois.edu/

Devin(최초의 완전 자동 AI 소프트웨어 엔지니어)이 제안된 이후 소프트웨어 엔지니어링을 위한 AI 에이전트 설계가 연구의 초점이 되었습니다. 점점 더 많은 에이전트 기반 AI 자동 소프트웨어 엔지니어가 SWE-벤치에서 제안되고 성과를 거두었습니다. 좋은 성능을 달성했으며 많은 실제 GitHub 문제를 자동으로 수정했습니다.

그러나 복잡한 에이전트 시스템은 추가적인 오버헤드와 불확실성을 가져올 것입니다. GitHub 문제를 해결하기 위해 실제로 그렇게 복잡한 에이전트를 사용해야 합니까? 에이전트에 의존하지 않는 솔루션이 성능에 근접할 수 있습니까?

이 두 가지 문제에서 시작하여 University of Illinois at Urbana-Champaign(UIUC)의 Zhang Lingming 교수 팀은 단 한 번만 실제 GitHub 문제를 해결할 수 있는 간단하고 효율적이며 완전한 오픈 소스 Agent-less 솔루션인 OpenAutoCoder-Agentless를 제안했습니다. $0.34. Agentless는 단 며칠 만에 GitHub에서 300명 이상의 GitHub 스타를 유치했으며 DAIR.AI의 주간 가장 인기 있는 ML 논문 목록 상위 3개 중 하나로 선정되었습니다.



제목: AGENTLESS: LLM 기반 소프트웨어 엔지니어링 에이전트의 신비화 해소

논문 주소: https://huggingface.co/papers/2407.01489

오픈 소스 코드: https://github.com/OpenAutoCoder/Agentless

AWS 연구 과학자 Leo Boytsov는 다음과 같이 말했습니다. "Agentless 프레임워크는 모든 오픈 소스 Agent 솔루션보다 성능이 뛰어났으며 SWE Bench Lite에서 거의 최고 수준(27%)에 도달했습니다. 또한 훨씬 저렴한 비용으로 모든 오픈 소스 솔루션을 능가했습니다. 프레임워크는 A를 사용합니다. 계층적 쿼리 접근 방식(파일, 클래스, 기능 등을 찾기 위해 LLM 질문을 하는 것)은 LLM을 활용하지만 LLM이 계획 결정을 내리는 것을 허용하지 않습니다."



Agentless는 간단한 2단계 접근 방식을 사용하여 코드 베이스에서 버그를 찾아 수정하는 자동화된 소프트웨어 개발 문제 접근 방식입니다. 찾기 단계에서 Agentless는 계층적 접근 방식을 사용하여 의심스러운 파일, 클래스/함수 및 특정 편집 위치로 점차 범위를 좁힙니다. 복구를 위해 간단한 diff 형식(오픈 소스 도구 Aider에서 참조)을 사용하여 여러 후보 패치를 생성하고 필터링하고 정렬합니다.



연구원들은 Agentless를 최첨단 오픈 소스 및 상용/비공개 소스 프로젝트를 포함한 기존 AI 소프트웨어 에이전트와 비교했습니다. 놀랍게도 Agentless는 더 낮은 비용으로 기존의 모든 오픈 소스 소프트웨어 에이전트를 능가할 수 있습니다! Agentless는 오픈 소스 솔루션 중 가장 높은 27.33%의 문제를 해결하며, 각 문제를 해결하는 데 평균 0.29달러, 모든 문제(해결 가능한 문제 및 해결되지 않은 문제 포함)에 걸쳐 평균 0.34달러 정도의 비용만 듭니다.



그뿐만 아니라 Agentless도 개선할 수 있는 잠재력을 갖고 있습니다. Agentless는 생성된 모든 패치를 고려할 때 문제의 41%를 해결할 수 있으며, 이는 패치 정렬 및 선택 단계에서 상당한 개선 여지가 있음을 나타내는 상한입니다. 또한 Agentless는 최고의 상용 도구(Alibaba Lingma Agent)로도 해결할 수 없는 몇 가지 고유한 문제를 해결할 수 있어 기존 도구를 보완하여 사용할 수 있음을 시사합니다.



SWE-bench Lite 데이터세트 분석

또한 연구원들은 SWE-bench Lite 데이터 세트에 대해 수동 검사와 세부 분석을 수행했습니다.

연구에 따르면 SWE-bench Lite 데이터 세트의 문제 중 4.3%가 올바른 수정 패치인 문제 설명에서 직접 완전한 답변을 제공하는 것으로 나타났습니다. 질문의 나머지 10%는 올바른 솔루션을 위한 정확한 단계를 설명합니다. 이는 SWE-bench Lite의 일부 문제가 해결하기 더 쉬울 수 있음을 의미합니다.

또한 연구팀은 문제의 4.3%에 사용자가 제안한 해결 방법이나 문제 설명 단계가 포함되어 있었지만 이러한 해결 방법이 개발자의 실제 패치와 일치하지 않는 것으로 나타났습니다. 이러한 오해의 소지가 있는 솔루션으로 인해 AI 도구가 단순히 문제 설명을 따르는 것만으로도 잘못된 솔루션을 생성할 수 있기 때문에 이는 이 벤치마크의 잠재적인 문제를 더욱 드러냅니다.

문제 설명 품질 측면에서 연구원들은 SWE-bench Lite의 대부분의 작업에 충분한 정보가 포함되어 있고 많은 작업이 오류 재현을 위한 실패 사례를 제공하지만 여전히 충분한 정보를 포함하지 않는 문제의 9.3%가 있음을 관찰했습니다. 예를 들어, 새로운 기능을 구현하거나 오류 메시지를 추가해야 하는데 문제 설명에 특정 함수 이름이나 특정 오류 메시지 문자열이 제공되지 않습니다. 즉, 기본 기능이 올바르게 구현되더라도 함수 이름이나 오류 메시지 문자열이 정확히 일치하지 않으면 테스트가 실패합니다.



Princeton University의 연구원과 SWE-Bench의 저자 중 한 명은 Ofir Press에 자신의 연구 결과를 확인했습니다. "Agentless는 SWE-bench Lite에 대해 훌륭한 수동 분석을 수행했습니다. 그들은 Lite의 이론적 최대 점수가 90.7%일 수 있다고 생각합니다. 실제 상한선은 아마도 더 낮을 것입니다(약 80%). 어떤 질문에는 정보가 부족하고 다른 질문에는 너무 엄격합니다.”



SWE-bench Lite-S: 엄격하고 필터링된 문제 하위 집합

이러한 문제에 대응하여 연구원들은 엄격한 문제 하위 집합 SWE-bench Lite-S(252개 질문 포함)를 제안했습니다. 특히 SWE-bench Lite(300개 질문 포함)에서 정확한 패치, 오해의 소지가 있는 솔루션이 포함되어 있거나 문제 설명에 충분한 정보를 제공하지 않은 질문을 제외했습니다. 이는 불합리한 질문을 제거하고 벤치마크의 난이도를 표준화합니다. 필터링된 벤치마크는 원래 SWE-bench Lite와 비교하여 자동화된 소프트웨어 개발 도구의 실제 기능을 더 정확하게 반영합니다.

결론

에이전트 기반 소프트웨어 개발은 ​​매우 유망하지만, 저자는 기술 및 연구 커뮤니티가 더 많은 에이전트를 출시하기 위해 서두르기보다는 핵심 설계 및 평가 방법에 대해 멈추고 생각해야 할 때라고 믿습니다. 연구원들은 Agentless가 미래 소프트웨어 엔지니어링 에이전트의 기준과 방향을 재설정하는 데 도움이 되기를 바랍니다.