
연구팀은 소프트웨어 개발에 있어 인공지능(AI)이 직면한 과제에 대한 포괄적인 지도를 발표했으며, 이 분야를 더욱 발전시키기 위한 연구 로드맵을 제안했습니다.
AI가 소프트웨어 개발의 일상적인 작업, 즉 복잡한 코드 리팩토링, 레거시 시스템 마이그레이션, 경쟁 조건 추적 등을 조용히 수행하는 미래를 상상해 보세요. 이를 통해 인간 소프트웨어 엔지니어는 시스템 아키텍처, 설계, 그리고 기계가 아직 해결하지 못하는 창의적인 문제에 집중할 수 있게 됩니다. 최근 AI의 발전은 이러한 비전을 더욱 현실로 만들어 주는 듯합니다.
그러나 MIT 컴퓨터 과학 및 인공지능 연구소(CSAIL)와 협력 연구소의 과학자들이 실시한 새로운 연구에 따르면, 그러한 미래를 실현하려면 먼저 현재 시대의 매우 현실적인 과제를 직접 살펴봐야 한다는 사실이 밝혀졌습니다.
"많은 사람들이 AI가 모든 것을 자동화할 수 있기 때문에 프로그래머가 더 이상 필요 없다고 말합니다."라고 MIT 전기공학 및 컴퓨터과학 교수이자 CSAIL의 선임 연구원이자 이 연구의 주저자인 아르만도 솔라-레자마는 말했습니다. "사실, 우리는 상당한 진전을 이루었습니다. 현재 우리가 사용하는 도구는 이전보다 훨씬 강력합니다. 하지만 자동화의 잠재력을 최대한 실현하려면 아직 갈 길이 멉니다."
아르만도 솔라-레자마 교수는 소프트웨어 엔지니어링에 대한 일반적인 인식이 학생 프로그래밍 과제와 비슷하다고 주장합니다. 작은 함수를 가져와 이를 처리하는 코드를 작성하거나 LeetCode 스타일의 연습 문제를 푸는 것이죠. 하지만 현실은 훨씬 더 복잡합니다. 설계 최적화를 위한 코드 리팩토링부터 COBOL에서 Java로 수백만 줄의 코드를 마이그레이션하는 대규모 마이그레이션까지, 기업의 전체 기술 스택을 변화시키는 작업까지 다양합니다.
측정과 소통은 여전히 어려운 문제입니다.
GPU 코어 조정이나 Chrome V8 엔진의 다층적 개선과 같은 산업 규모의 코드 최적화는 여전히 평가하기 어렵습니다. 현재 벤치마크는 대부분 작고 복잡한 문제에 대한 것입니다. 가장 실용적인 지표인 SWE-Bench는 AI 모델에게 GitHub의 버그를 수정하도록 요청합니다. 이는 수백 줄의 코드를 포함하고 잠재적으로 데이터를 노출할 수 있는 저수준 프로그래밍 작업이며, AI 지원 리팩토링, 인간-기계 페어 프로그래밍, 수백만 줄의 코드를 사용하는 고성능 시스템 재작성과 같은 다양한 실제 시나리오를 고려하지 않습니다. 벤치마크가 이러한 고위험 시나리오까지 확장될 때까지는 진행 상황을 측정하고 이를 가속화하는 것은 여전히 미해결 과제로 남을 것입니다.
인간과 기계의 소통 또한 주요 장벽입니다. 주저자인 박사과정생 알렉스 구는 현재 AI와의 소통이 여전히 "취약한 소통망"과 같다고 말했습니다. AI에게 코드 생성을 요청하면 종종 크고 구조화되지 않은 파일과 몇 개의 간단하고 모호한 테스트 세트만 반환됩니다. 이러한 격차는 AI가 디버거, 정적 분석기 등 인간에게 익숙한 소프트웨어 도구를 효과적으로 활용하지 못한다는 사실에서도 드러납니다.
커뮤니티의 행동 촉구
저자들은 이러한 문제에 대한 마법의 지팡이 같은 해결책은 없다고 주장하며, 커뮤니티 규모의 노력이 필요하다고 주장합니다. 즉, 프로그래머의 실제 개발 프로세스(어떤 코드를 유지할지, 어떤 코드를 제거할지, 시간이 지남에 따라 코드가 어떻게 리팩토링되는지 등)를 반영하는 데이터를 구축하고, 리팩토링 품질, 패치 내구성, 시스템 전환 정확도를 평가하는 공통 평가 도구를 구축하고, AI가 불확실성을 표현하고 인간의 개입을 허용할 수 있는 투명한 도구를 구축해야 합니다.
박사 과정생 알렉스 구는 이를 어떤 단일 연구실도 제공할 수 없는 대규모 오픈소스 커뮤니티를 위한 "행동 촉구"로 보고 있습니다. Solar-Lezama는 이러한 발전이 작고 점진적인 단계, 즉 "한 번에 한 가지 문제를 해결하는 연구 결과"를 통해 AI를 "코드 제안 도구"에서 진정한 엔지니어링 파트너로 탈바꿈시킬 것이라고 예상합니다.
"이게 왜 중요할까요? 소프트웨어는 이미 금융, 교통, 의료 , 그리고 거의 모든 일상생활의 기반입니다. 하지만 소프트웨어를 안전하게 구축하고 유지하려는 인간의 노력은 병목 현상이 되고 있습니다."라고 구는 말했습니다. "숨겨진 오류 없이 어려운 작업을 처리할 수 있는 AI는 프로그래머들이 창의성, 전략, 윤리에 집중할 수 있도록 도와줄 것입니다. 하지만 그러기 위해서는 코드 조각을 완성하는 것이 쉬운 일이고, 그 외의 모든 것이 어려운 일이라는 것을 이해해야 합니다."
(MIT 뉴스에서 간략하게 번역)
출처: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html
댓글 (0)