세미 포멀 추론과 기존 추론의 비교 사례 (사진=arXiv)
대규모 코드 저장소에서 버그 탐지, 코드 리뷰, 패치 검증 등을 수행하는 AI 에이전트가 늘어나는 가운데, 실제 코드 실행 없이도 높은 정확도로 분석할 수 있는 새로운 방법이 개발됐다.
메타 연구진은 1일(현지시간) AI가 코드를 직접 실행하지 않고도 논리적으로 분석할 수 있는 새로운 방법인 ‘
에이전틱 코드 추론(Agentic Code Reasoning)
’ 기법을 온라인 아카이브를 통해 공개했다.
기존 AI 코딩 시스템은 코드가 실제로 어떻게 동작하는지 확인하려면 저장소마다 실행용 샌드박스를 만들어야 했다. 하지만 이 방법은 비용과 연산 자원이 매우 많이 들기 때문에 현실적인 한계가 있었다. 그래서 최근에는 대형언어모델(LLM)을 이용해 코드를 실행하지 않고 추론하는 방식이 주목받고 있다. 그러나 이 방식은 근거 없는 추측이나 ‘환각’ 오류가 자주 발생한다는 단점이 있다.
연구진은 이 문제를 해결하기 위해 ‘에이전틱 코드 추론’ 개념을 제시했다. 이 방식은 AI가 여러 파일을 살펴보고, 코드 간 의존 관계를 추적하며, 코드가 실제로 의미하는 바를 깊이 이해할 수 있도록 하는 능력을 뜻한다. 무엇보다도, 코드를 실제로 실행하지 않고도 의미 분석을 수행할 수 있다는 점이 핵심이다.
세미 포멀 추론 템플릿 예시. 에이전트는 코드베이스에서 수집한 증거를 사용하여 모든 대괄호([ ]) 안의 항목을 채워야 한다. 전체 템플릿에는 패스 간 테스트, 신뢰 수준, 대체 가설 검증 등을 위한 추가 항목이 포함되어 있다. 다른 과제용 템플릿도 동일한 구조를 따르지만, 과제별 전제 조건과 주장 항목이 달라진다. (사진=arXiv)
이를 구현하기 위한 방법으로 제안된 것이 ‘세미 포멀 추론(semi-formal reasoning)’이다. AI가 체계적으로 사고하도록 돕는 방법이다. 이 방법에서는 대형언어모델(LLM) 에이전트가 각 작업에 맞춘 구조화된 추론 템플릿을 따라 문제를 해결하도록 설계된다.
이 템플릿은 AI가 반드시 따라야 하는 논리적 ‘증명서(certificate)’와 같은 역할을 한다. 에이전트는 과제를 수행할 때, 먼저 전제 조건을 명확히 하고, 특정 테스트에서 코드가 어떻게 실행되는지 단계별로 확인한 뒤, 확인 가능한 근거만으로 결론을 내려야 한다.
이 과정은 에이전트가 결론을 내리기 전에 코드 전체에서 실제 증거를 직접 확인하도록 한다. 즉, 함수 이름만 보고 추측하는 것이 아니라, 함수 호출과 데이터 흐름을 단계별로 따라가며 검증해야 한다.
이 과정에서 에이전트는 수집한 증거가 초기 가설과 충돌할 경우, 스스로 논리적 오류를 인지하고 분석 방향을 수정하는 ‘자기 교정’ 단계를 거친다. 이는 숙련된 개발자가 코드를 실행해보기 전, 머릿속으로 실행 흐름을 완벽히 시뮬레이션하며 허점을 찾아내는 과정과 흡사하다.
이런 체계적인 증거 수집 덕분에 혼동을 줄 수 있는 함수 이름 같은 예외 상황에서도 정확한 분석이 가능하며, 근거 없는 주장이나 오류를 크게 줄일 수 있다.
검증 모델로 '클로드 오퍼스 4.5'를 사용한 추론 접근 방식 비교 (사진=arXiv)
실험 결과는 이러한 접근법의 효과를 뚜렷하게 보여준다.
코드 패치가 동일한 결과를 내는지 검증하는 작업에서 정확도는 기존 78%에서 88%로 향상됐으며, 실제 환경에서는 93%에 달하는 성능을 기록했다. 버그 위치를 찾는 작업에서도 상위 정확도가 개선됐고, 복잡한 코드 질의응답에서도 약 87% 수준의 높은 정확도를 달성했다.
특히 세미 포멀 추론은 코드를 실제로 실행하지 않고도 높은 신뢰도로 분석할 수 있어, 강화 학습(RL) 학습 과정에서 발생하는 비용을 크게 줄일 수 있는 잠재력이 있다. 기업 환경에서는 이를 활용해 복잡한 코드베이스 전반에서 자동화된 버그 검증과 코드 리뷰를 수행할 수 있어, 전반적인 개발 생산성 향상에도 기여할 것으로 기대된다.
실제 사례에서도 장점이 뚜렷하게 드러난다. 기존 모델은 단순히 함수 이름만 보고 두 코드가 같은 결과를 낼 것이라고 추정했지만, 세미 포멀 추론을 적용한 AI는 함수 정의와 호출 경로를 단계별로 추적해 서로 다른 동작을 수행한다는 사실을 정확히 밝혀냈다. 이를 통해 오류 가능성을 명확히 지적할 수 있었으며, 표면적인 패턴이 아닌 실제 실행 흐름에 기반한 분석의 중요성을 보여준다.
지만 한계는 존재한다. 실제 실행 환경(샌드박스) 구축에 드는 인프라 비용은 획기적으로 줄일 수 있으나, 구조화된 추론을 위해 더 많은 연산 단계와 토큰이 필요하므로 LLM 자체의 처리 비용과 지연 시간이 늘어날 수 있다.
이미 특정 작업에서 높은 성능을 보이는 모델에서는 성능 향상이 제한적일 수 있으며, 복잡한 추론 과정이 오히려 잘못된 결론에 높은 확신을 부여할 위험도 있다. 또 외부 라이브러리처럼 코드 접근이 제한된 경우에는 여전히 함수 동작을 추정에 의존해야 하는 문제가 남아 있다.
나아가 연구진은 "이번에 생성된 세미 포멀 추론 기록들이 앞으로 더 가볍고 빠른 소형 모델을 학습하기 위한 고품질 추론 데이터로 활용, AI 코딩 에이전트의 전반적인 지능 향상을 이끌 것"으로 내다봤다.
박찬 기자 cpark@aitimes.com
댓글
0