[Paper] 적을수록 더 좋다: 정적 분석에서 LLM 참여가 챗봇 정확도에 미치는 영향 측정
Source: arXiv - 2604.21746v1
번역할 텍스트를 제공해 주시겠어요? 텍스트를 입력해 주시면 원본 형식과 마크다운을 유지하면서 한국어로 번역해 드리겠습니다.
Overview
이 논문은 대형 언어 모델(LLM)이 자연어 질문을 Joern의 정적 분석 쿼리 언어인 CPGQL로 변환할 때 어느 정도까지 “주도”해야 하는지를 조사한다. LLM 참여 정도를 체계적으로 달리함으로써, 저자들은 규모가 작고 스키마 제약이 있는 중간 포맷이 정확도를 크게 향상시킬 수 있음을 보여준다—이는 모델이 최종 쿼리를 직접 생성하게 하거나, 도구가 보강된 반복적인 “에이전트” 루프를 실행하게 하는 것보다 종종 더 큰 효과를 낸다.
주요 기여
- 3단계 아키텍처 비교 – 직접 쿼리 생성, JSON 기반 스키마 제한 중간 표현, 그리고 도구가 보강된 에이전트 방식.
- 포괄적인 벤치마크 – 낮음, 중간, 높음 복잡도로 나뉜 20개의 정적 분석 작업을 4개의 오픈‑웨이트 LLM(두 패밀리 × 두 크기)으로 2 × 2 실험 설계에서 각각 3회 실행.
- 실증적 발견 – 구조화된 중간 표현(방법 2)이 대형 모델에서 직접 생성보다 15‑25 pp 향상되며, 토큰 예산의 약 ⅛만 사용하면서 에이전트 방식을 능가함.
- 확장성 통찰 – 중간 표현의 이점은 모델 크기가 커질수록 증가하고, 작은 모델은 “스키마 준수” 한계에 도달함.
- 정적 분석 도구에 대한 가이드 – LLM 출력을 잘 정의된 형식으로 제한하고 결정론적 쿼리 구성을 위임하면 정확도와 비용 사이의 최적 균형을 얻을 수 있음을 보여줌.
Source: …
방법론
- 작업 집합 – 20개의 현실적인 코드‑분석 질의(예: “네트워크 소켓을 읽는 모든 함수 찾기”)를 난이도별로 세 단계로 구분.
- LLM 패밀리 및 규모 – 두 개의 오픈‑소스 패밀리(예: LLaMA‑스타일 및 Mistral‑스타일)를 각각 “소형”(≈7 B 파라미터)과 “대형”(≈30 B) 체크포인트에서 평가.
- 세 가지 아키텍처
-
접근법 1 (Direct) – 자연어 요청으로부터 직접 CPGQL 문자열을 출력하도록 LLM에 프롬프트.
-
접근법 2 (Intermediate JSON) – 사전에 정의된 스키마에 맞는 JSON 객체를 생성하도록 LLM에 프롬프트, 예시:
{ "entity": "function", "property": "calls", "target": "socket" }결정론적 후처리기가 이 JSON을 유효한 CPGQL로 변환.
-
접근법 3 (Agentic) – LLM에 Joern을 도구로 사용할 수 있는 권한을 부여하여, 반복적으로 쿼리하고 결과를 관찰하며 답변을 정제하도록 함(ReAct 또는 툴‑사용 루프와 유사).
-
- 평가 지표 – 결과 일치율: 생성된 쿼리가 실제 정답 쿼리와 정확히 동일한 코드 요소 집합을 반환하는 비율.
- 반복 실행 – 각 구성마다 세 번 실행하여 확률적 변동성을 완화하고, 결과를 평균하여 집계.
이 설계는 “위임 정도”를 독립 변수로 다루어, 추론을 LLM 내부에 두는 정도와 결정론적 코드에 맡기는 정도를 명확히 비교할 수 있게 한다.
Results & Findings
| 아키텍처 | 소형 모델 | 대형 모델 |
|---|---|---|
| Direct (A1) | ~45 % match | ~55 % match |
| Intermediate JSON (A2) | ~60 % match | ~80 % match |
| Agentic (A3) | ~58 % match | ~78 % match |
- A2 beats A1 by 15‑25 pp on large models, confirming that a typed intermediate representation dramatically reduces hallucination and syntax errors.
- A2 rivals A3 while consuming roughly 1/8 of the token budget, making it far cheaper to run at scale.
- Complexity matters – Gains are most visible on medium/high‑complexity tasks where query structure is non‑trivial.
- Model size effect – Large models can better respect the JSON schema, so A2’s advantage widens; small models often produce malformed JSON, limiting the approach.
Overall, the study suggests that “less is more”: giving the LLM a narrow, well‑defined output space leads to higher fidelity than letting it generate free‑form code or orchestrate a multi‑step tool‑use loop.
실용적인 시사점
- 툴 제작자 – 정적 분석 엔진(Joern, CodeQL 등)에 자연어 프론트엔드를 추가할 때, 직접 코드를 생성하는 대신 스키마 검증된 JSON 또는 protobuf 중간 형식을 구현하십시오.
- 비용 절감 – 개발자는 API 토큰 사용량의 일부만으로도 거의 에이전트 수준의 성능을 달성할 수 있어 SaaS 제품의 운영 비용을 낮출 수 있습니다.
- 신뢰성 – 구조화된 중간 형식은 결정론적 쿼리 컴파일러를 호출하기 전에 정적 검사(JSON 스키마 검증)를 추가하기 쉽게 하여 런타임 충돌을 줄입니다.
- 확장성 – 중간 형식은 LLM 프롬프트 로직을 건드리지 않고도 버전 관리 및 확장이 가능하며(예: “confidence” 필드 추가) 할 수 있습니다.
- 팀 워크플로우 – 보안 중심 팀은 원시 생성 쿼리보다 JSON 페이로드를 더 쉽게 감사할 수 있어 컴플라이언스 검토를 용이하게 합니다.
간단히 말해, 이 연구 결과는 정확하면서도 비용 효율적인 LLM 지원 코드 분석 도우미를 구축하기 위한 구체적인 레시피를 제공합니다.
제한 사항 및 향후 연구
- 스키마 경직성 – JSON 스키마는 각 분석 도메인마다 수동으로 작성해야 하며, 새로운 쿼리 유형으로 확장하려면 엔지니어링 작업이 필요할 수 있습니다.
- 소형 모델 병목 – 파라미터가 약 7 B 이하인 모델에서는 스키마 준수가 급격히 떨어지며, 이는 더 나은 프롬프트 설계나 파인튜닝이 필요함을 시사합니다.
- 벤치마크 범위 – 본 연구는 단일 정적 분석 플랫폼(Joern)에서 20개의 작업을 사용했습니다. 다른 도구(예: CodeQL, Semgrep)를 포함한 광범위한 평가가 일반화 가능성을 높일 것입니다.
- 에이전시 베이스라인 – 에이전시 접근법은 간단한 ReAct 루프로 구현되었으며, 보다 정교한 계획이나 메모리 메커니즘이 격차를 줄일 수 있습니다.
- 사용자 연구 – 논문은 자동화된 메트릭에 초점을 맞추었으며, 향후 연구에서는 각 아키텍처와 상호작용할 때 개발자 만족도와 생산성을 평가할 수 있습니다.
이러한 점들을 해결하면 “구조화된 중간” 패러다임을 정교화하고, 보다 다양한 개발자 중심 AI 어시스턴트에 적용할 수 있습니다.
저자
- Krishna Narasimhan
논문 정보
- arXiv ID: 2604.21746v1
- Categories: cs.SE
- Published: 2026년 4월 23일
- PDF: Download PDF