CodeARC: Evaluación de las Capacidades de Razonamiento de Agentes LLM para la Síntesis Inductiva de Programas
CodeARC: Benchmarking Reasoning Capabilities of LLM Agents for Inductive Program Synthesis
March 29, 2025
Autores: Anjiang Wei, Tarun Suresh, Jiannan Cao, Naveen Kannan, Yuheng Wu, Kai Yan, Thiago S. F. X. Teixeira, Ke Wang, Alex Aiken
cs.AI
Resumen
La síntesis inductiva de programas, o programación por ejemplos, requiere sintetizar funciones a partir de ejemplos de entrada-salida que generalicen a entradas no vistas. Si bien los agentes basados en modelos de lenguaje grandes han mostrado potencial en tareas de programación guiadas por lenguaje natural, su capacidad para realizar síntesis inductiva de programas está poco explorada. Los protocolos de evaluación existentes se basan en conjuntos estáticos de ejemplos y pruebas reservadas, sin ofrecer retroalimentación cuando las funciones sintetizadas son incorrectas y sin reflejar escenarios del mundo real, como la ingeniería inversa. Proponemos CodeARC, el Desafío de Abstracción y Razonamiento de Código, un nuevo marco de evaluación donde los agentes interactúan con una función objetivo oculta al consultarla con nuevas entradas, sintetizar funciones candidatas y refinar iterativamente sus soluciones utilizando un oráculo de pruebas diferenciales. Este entorno interactivo fomenta que los agentes realicen llamadas a funciones y autocorrección basada en retroalimentación. Construimos el primer benchmark a gran escala para síntesis inductiva de programas de propósito general, que incluye 1114 funciones. Entre los 18 modelos evaluados, o3-mini obtiene el mejor rendimiento con una tasa de éxito del 52.7%, destacando la dificultad de esta tarea. El ajuste fino de LLaMA-3.1-8B-Instruct en trazas de síntesis curadas produce una mejora relativa de rendimiento de hasta un 31%. CodeARC ofrece un entorno de prueba más realista y desafiante para evaluar la síntesis de programas y el razonamiento inductivo basados en modelos de lenguaje grandes.
English
Inductive program synthesis, or programming by example, requires synthesizing
functions from input-output examples that generalize to unseen inputs. While
large language model agents have shown promise in programming tasks guided by
natural language, their ability to perform inductive program synthesis is
underexplored. Existing evaluation protocols rely on static sets of examples
and held-out tests, offering no feedback when synthesized functions are
incorrect and failing to reflect real-world scenarios such as reverse
engineering. We propose CodeARC, the Code Abstraction and Reasoning Challenge,
a new evaluation framework where agents interact with a hidden target function
by querying it with new inputs, synthesizing candidate functions, and
iteratively refining their solutions using a differential testing oracle. This
interactive setting encourages agents to perform function calls and
self-correction based on feedback. We construct the first large-scale benchmark
for general-purpose inductive program synthesis, featuring 1114 functions.
Among 18 models evaluated, o3-mini performs best with a success rate of 52.7%,
highlighting the difficulty of this task. Fine-tuning LLaMA-3.1-8B-Instruct on
curated synthesis traces yields up to a 31% relative performance gain. CodeARC
provides a more realistic and challenging testbed for evaluating LLM-based
program synthesis and inductive reasoning.