ChatPaper.aiChatPaper

Compartilhamento de Estado Entre Prompts e Programas

Sharing State Between Prompts and Programs

December 16, 2025
Autores: Ellie Y. Cheng, Logan Weber, Tian Jin, Michael Carbin
cs.AI

Resumo

O surgimento de grandes modelos de linguagem (LLMs) introduziu um novo tipo de programação: a programação em linguagem natural. Ao escrever instruções (prompts) que direcionam os LLMs para realizar processamento de linguagem natural, geração de código, raciocínio, etc., os usuários estão escrevendo código em linguagem natural – código de linguagem natural – para ser executado pelo LLM. Uma área emergente de pesquisa permite a interoperabilidade entre o código de linguagem natural e linguagens formais, como Python. Apresentamos uma nova abstração de programação, o *estado de programa compartilhado*, que elimina o trabalho manual necessário para permitir a interoperabilidade entre o código de linguagem natural e o estado do programa. Com o estado de programa compartilhado, os programadores podem escrever código natural que grava diretamente variáveis do programa, calcula com objetos do programa e implementa fluxo de controle no programa. Apresentamos um esquema para especificar interfaces de função natural que estendem sistemas de programação para suportar código natural e aproveitamos esse esquema para especificar o estado de programa compartilhado como uma interface de função natural. Implementamos o estado de programa compartilhado no sistema de programação Nightjar. O Nightjar permite que os programadores escrevam programas Python que contenham código natural que compartilha o estado do programa Python. Mostramos que os programas Nightjar alcançam uma precisão de tarefa comparável ou superior às implementações escritas manualmente (+4-19%), enquanto diminuem as linhas de código em 39,6% em média. A contrapartida do uso do Nightjar é que ele pode incorrer em sobrecarga de tempo de execução (0,4-4,3x o tempo de execução das implementações manuais).
English
The rise of large language models (LLMs) has introduced a new type of programming: natural language programming. By writing prompts that direct LLMs to perform natural language processing, code generation, reasoning, etc., users are writing code in natural language -- natural language code -- for the LLM to execute. An emerging area of research enables interoperability between natural language code and formal languages such as Python. We present a novel programming abstraction, shared program state, that removes the manual work required to enable interoperability between natural language code and program state. With shared program state, programmers can write natural code that directly writes program variables, computes with program objects, and implements control flow in the program. We present a schema for specifying natural function interfaces that extend programming systems to support natural code and leverage this schema to specify shared program state as a natural function interface. We implement shared program state in the Nightjar programming system. Nightjar enables programmers to write Python programs that contain natural code that shares the Python program state. We show that Nightjar programs achieve comparable or higher task accuracy than manually written implementations (+4-19%), while decreasing the lines of code by 39.6% on average. The tradeoff to using Nightjar is that it may incur runtime overhead (0.4-4.3x runtime of manual implementations).
PDF11February 27, 2026