한국정보기술진흥원
한국정보기술신문
thumbnail

정보기술 · 인공지능 ·

LLM, 복잡한 소프트웨어 개발엔 한계… "개발자가 주도권 가져야"

발행일
읽는 시간1분 53초

Zed 개발팀, 대형언어모델의 소프트웨어 구축 능력 분석 결과 발표

코드 편집기 개발사 Zed가 최근 발표한 분석 보고서에 따르면, 현재의 대형언어모델(LLM)은 코드 작성 능력은 뛰어나지만 복잡한 소프트웨어 개발에는 근본적인 한계가 있다고 밝혔다. 이 보고서는 소프트웨어 엔지니어 면접 경험을 바탕으로 실제 개발자와 LLM의 작업 방식을 비교 분석한 결과를 담고 있다.

효과적 소프트웨어 개발의 핵심은 '멘탈 모델' 관리

image.png
zed.dev 제공

보고서에 따르면, 숙련된 소프트웨어 엔지니어들은 요구사항에 대한 멘탈 모델 구축, 코드 작성, 실제 코드 동작에 대한 멘탈 모델 구축, 그리고 차이점 식별 및 코드 또는 요구사항 업데이트라는 순환적 과정을 반복한다. Zed 개발팀은 효과적인 엔지니어를 구별하는 핵심 요소가 명확한 멘탈 모델을 구축하고 유지하는 능력이라고 강조했다.

현재 LLM은 코드 작성과 업데이트, 테스트 실행, 로깅 추가 등 개발자가 하는 대부분의 작업을 수행할 수 있지만, 명확한 멘탈 모델을 유지하는 데는 실패한다고 분석했다.

LLM의 근본적 한계점들

LLM이 소프트웨어 개발에서 보이는 주요 문제점으로는 작성한 코드가 실제로 작동한다고 가정하는 오류, 테스트 실패 시 코드를 수정할지 테스트를 수정할지 판단하지 못하는 혼란, 그리고 문제가 복잡해지면 전체를 삭제하고 처음부터 다시 시작하는 비효율적 접근 방식이 지적됐다. 이는 숙련된 개발자들이 테스트하며 진행하고, 실패 시 멘탈 모델을 참조해 판단하며, 막힐 때 도움을 요청하는 방식과 대조적이다.

보고서는 또한 현재 생성형 모델들이 겪는 구체적인 기술적 문제들을 제시했다. 이에는 누락된 맥락을 찾지 못하는 '맥락 누락' 문제, 최근 정보에만 치우치는 '최신성 편향', 그리고 존재하지 않는 세부사항을 만들어내는 '환각' 현상이 포함된다.

모델의 능력이 향상되면서 이러한 한계가 극복될 수 있을지에 대해서는 신중한 입장을 보였다. Zed는 소프트웨어 엔지니어링에는 단순한 코드 생성을 넘어서는 모델이 필요하다고 지적했다. 개발자들이 문제 발생 시 전체 맥락을 임시 저장하고 문제 해결에 집중한 후 다시 원래 작업으로 돌아가는 '멘탈 스택' 관리 능력이나, 세부사항을 일시적으로 제거하고 큰 그림에 집중하는 능력을 LLM이 갖추기 위해서는 모델 구축 및 최적화 방식의 변화가 필요하다고 분석했다.

현재 IBM 등에서 LLM에 메모리를 추가하는 연구가 진행되고 있지만, 아직까지는 일정 복잡성을 넘어서면 실제로 무엇이 진행되고 있는지 이해할 수 없다는 한계가 있다고 보고서는 밝혔다.

개발자-LLM 협업의 새로운 패러다임 제시

Zed는 LLM이 소프트웨어 엔지니어에게 여전히 유용한 도구라고 인정했다. 특히 코드를 빠르게 생성하고 요구사항과 문서를 종합하는 능력은 뛰어나며, 요구사항이 명확하고 문제가 단순한 경우에는 전체 작업을 한 번에 완성할 수 있다고 평가했다. 하지만 복잡한 작업에서는 충분한 맥락을 정확하게 유지하며 작동하는 솔루션으로 반복 개선할 수 없다는 점을 명확히 했다.

결론적으로 Zed는 사람과 에이전트가 함께 소프트웨어를 구축하는 세상을 지향하지만, 적어도 현재로서는 개발자가 주도권을 갖고 LLM을 또 다른 도구로 활용해야 한다는 입장을 밝혔다.

한국정보기술신문 정보기술분과 강민규 기자 news@kitpa.org