복잡 논리 지시문 자동 생성과 평가

복잡 논리 지시문 자동 생성과 평가
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 코드 함수에서 검증 가능한 자연어 지시문을 자동으로 생성하는 LogicIFGen 프레임워크와, 이를 활용해 426개의 복잡 논리 지시문을 포함하는 LogicIFEval 벤치마크를 제시한다. 실험 결과 최신 LLM들은 60% 이하의 정확도로 논리‑풍부한 지시문을 따르지 못함을 보여, 현재 모델의 한계를 드러낸다.

상세 분석

LogicIFGen은 세 단계 파이프라인으로 구성된다. 첫 번째 단계에서는 원본 코드의 변수와 함수명을 익명화하고, 실행 흐름을 추적할 수 있는 상태 트래커(state tracker)를 삽입한다. 상태 트래커는 루프 반복 횟수, 조건문 실행 횟수, 힙 크기 등 함수 내부의 중요한 중간값을 기록하도록 설계되어, 모델이 최종 출력뿐 아니라 내부 논리까지 재현했는지를 검증한다. 두 번째 단계에서는 익명화된 코드를 기반으로 LLM을 활용해 상세한 자연어 지시문을 생성한다. 지시문은 “이제 …”, “다음으로 …”와 같은 대화형 표현을 사용해 단계별 수행 과정을 명확히 서술한다. 세 번째 단계에서는 다중 턴 검증·정제 모듈이 지시문의 완전성을 점검한다. LLM이 지시문을 다시 검토하면서 누락된 조건, 루프 경계, 예외 처리 등을 찾아내고, 필요 시 수정한다. 이 과정을 최소 3번 반복해 97% 이상의 정확도를 확보한다.

복잡도 측정은 Python AST를 이용해 사이클로매틱 복잡도(C), 중첩 깊이(D), 함수 호출 수(F), 코드 길이(L)를 추출하고, 가중치( D×3 + F×2 + C×1 + L×0 )를 적용해 종합 점수를 산출한다. 이를 통해 지시문을 Easy·Medium·Hard 세 수준으로 분류하고, 각 수준별 난이도 균형을 맞춘다.

LogicIFEval은 Codeforces와 POJ의 고난이도 시뮬레이션 문제 솔루션을 수집해 구성하였다. 중복 함수는 텍스트 임베딩 기반 유사도 분석으로 제거하고, 실행 오류가 발생할 가능성이 높은 테스트 케이스는 사전 필터링한다. 최종적으로 426개의 함수와 3,050개의 테스트 케이스가 남으며, 각 지시문은 평균 3,428자 길이로 복잡한 논리 흐름을 담고 있다.

실험에서는 GPT‑4.1, Claude‑4‑Sonnet, Gemini‑2.5‑Flash 등 최신 상용 모델과 LLaMA‑3, Qwen 등 오픈소스 모델을 평가하였다. 전체 평균 정확도는 48% 수준으로, 특히 중첩 깊이와 함수 호출이 많은 Hard 수준에서는 30% 이하로 급락한다. ‘Think‑before‑answer’ 프롬프트(Explicit Thinking)를 적용하면 일부 모델의 성능이 5~10% 상승하지만, 근본적인 논리 추론 능력은 여전히 부족하다. 오류 분석 결과는 (1) 조건문 분기 오해, (2) 루프 종료 조건 누락, (3) 상태 트래커 값 오기 등으로 요약된다.

본 연구는 LLM이 자연어 지시문을 통한 복합 논리 시뮬레이션을 수행하도록 평가하는 새로운 패러다임을 제시한다. 향후 연구는 (a) 상태 트래커를 보다 정교하게 설계해 미세한 연산 흐름까지 검증, (b) 학습 단계에서 논리‑풍부한 지시문 데이터를 활용해 모델의 내부 논리 표현 능력을 강화, (c) 인간‑모델 협업을 통한 오류 교정 메커니즘 도입 등을 제안한다.


댓글 및 학술 토론

Loading comments...

의견 남기기