자연어에서 ASP 프로그램 자동 변환 벤치마크

자연어에서 ASP 프로그램 자동 변환 벤치마크
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

ASP‑Bench는 128개의 자연어 문제와 그에 대응하는 정답 검증기를 제공하여, 자연어를 Answer Set Programming(ASP)으로 자동 변환하는 시스템을 평가한다. 64개의 기본 문제를 쉬운 변형과 어려운 변형으로 확장했으며, 선택 규칙, 집합 연산, 최적화 등 ASP 핵심 기능을 골고루 포함한다. 문제는 최적화, 시간 순서, 기본 논리, 자원 할당, 재귀, 공간, 정량 복잡도 등 7가지 추론 측면으로 분류된다. ReAct 기반 에이전트를 이용한 피드백‑드리븐 반복 학습으로 모든 문제를 완전 해결했으며, python_exec 호출 횟수를 통해 문제 난이도를 정량화하였다.

상세 분석

ASP‑Bench는 자연어 사양을 논리 프로그램으로 자동 변환하는 작업을 체계적으로 측정하기 위해 설계된 최초의 대규모 벤치마크이다. 128개의 인스턴스는 64개의 기본 문제를 기반으로 하며, 각 문제는 “easy”와 “hard” 두 변형을 제공한다. 이때 “hard” 변형은 인스턴스 규모 확대, 제약 조건 추가, 다중 목표 최적화 등으로 난이도를 단계적으로 높였다. 중요한 점은 모든 문제에 대해 정답 검증기(reference validator)를 제공한다는 것이다. 검증기는 파이썬 스크립트 형태로 구현되어, 제시된 JSON 형식의 해답이 문제 명세를 만족하는지 여부를 논리적으로 판단한다. 따라서 문자열 매칭에 의존하는 기존 NL‑2‑ASP 벤치마크와 달리, 의미 기반 평가가 가능해 실제 응용에서 요구되는 다양한 정답을 허용한다.

벤치마크의 핵심 설계는 7가지 추론 측면(OPT, TEMP, DEFAULT, RESOURCE, RECURSIVE, SPATIAL, QUANT)이다. 각 측면은 ASP의 서로 다른 언어 구성요소와 연관된다. 예를 들어 OPT은 minimize/maximize 구문, TEMP는 순서 제약과 시간 스텝, DEFAULT는 soft constraint와 선호도, RESOURCE는 용량 제한, RECURSIVE는 고정점 연산이나 사이클 탐지, SPATIAL은 격자·인접 관계, QUANT는 제약 수와 변수 규모가 큰 경우를 의미한다. 이러한 분류는 문제 난이도 분석에 직접 활용되었으며, Figure 1에서 각 문제별 측면 조합과 python_exec 호출 횟수(난이도 지표) 사이의 상관관계를 시각화한다.

실험에서는 ReAct 프레임워크를 기반으로 한 단일 프롬프트 LLM 에이전트를 사용했다. 에이전트는 Claude Sonnet 4.5를 백엔드로 두고, clingo 파이썬 API를 통해 ASP 프로그램을 동적으로 생성·수정한다. 핵심은 “reason‑act‑observe” 사이클을 반복하면서 clingo의 오류 메시지와 검증기의 실패 사례를 피드백으로 활용한다는 점이다. 이를 위해 지속적인 IPython 커널 상태를 유지하고, python_exec 호출을 통해 코드를 실행·디버깅한다. 에이전트는 사전 정의된 워크플로우(계획 → 모델링 → 구현 → 해결 → 포맷)와 anti‑pattern 가이드를 포함한 프로젝트 프롬프트를 통해 ASP 문법 안전성, 변수 안전성, 집합 연산 위치 등을 자동으로 교정한다.

실험 결과는 놀라웠다. 모든 64개의 easy 문제와 64개의 hard 문제를 각각 2~3번 반복 실행했을 때, 에이전트는 100% 정확도로 정답을 도출했다. 평균 python_exec 호출 수는 7.7회였으며, 가장 쉬운 문제는 3.7회, 가장 어려운 문제는 26.0회에 달했다. 특히 DNA 어셈블리(문제 47)와 메트로이드베니아 생성(문제 46) 등 복합적인 추론 측면을 동시에 요구하는 사례에서도 성공했다. 난이도와 추론 측면 간의 상관관계를 분석한 결과, OPT·QUANT·RECURSIVE가 동시에 포함된 문제는 호출 수가 크게 증가했으며, 반면 단일 측면(예: TEMP만 포함)인 문제는 상대적으로 적은 호출로 해결되었다.

이러한 결과는 두 가지 중요한 시사점을 제공한다. 첫째, 의미 기반 검증과 피드백‑드리븐 반복 학습이 NL‑2‑ASP 변환에서 기존의 일회성 생성보다 훨씬 안정적임을 입증한다. 둘째, 문제 난이도를 정량화하는 새로운 지표(python_exec 호출 수)를 통해 추론 측면의 조합이 모델링 복잡도에 미치는 영향을 체계적으로 평가할 수 있다. 한계점으로는 현재 에이전트가 Claude Sonnet 4.5에 특화되어 있어 다른 LLM에 대한 일반화 가능성을 검증하지 않았으며, 20초 이하의 solver 제한이 있는 경우에만 실험을 수행했다는 점이다. 향후 연구에서는 다양한 모델, 더 긴 solver 타임아웃, 그리고 자동화된 프롬프트 최적화 기법을 도입해 확장성을 검증할 필요가 있다.


댓글 및 학술 토론

Loading comments...

의견 남기기