ChatPaper.aiChatPaper

Staat delen tussen prompts en programma's

Sharing State Between Prompts and Programs

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

Samenvatting

De opkomst van grote taalmodellen (LLM's) heeft een nieuw type programmeren geïntroduceerd: natuurlijk taalprogrammeren. Door het schrijven van prompts die LLM's aansturen om natuurlijke taalverwerking, codegeneratie, redenering, enz. uit te voeren, schrijven gebruikers code in natuurlijke taal – natuurlijke taalcode – die door het LLM wordt uitgevoerd. Een opkomend onderzoeksgebied maakt interoperabiliteit mogelijk tussen natuurlijke taalcode en formele talen zoals Python. Wij presenteren een nieuwe programmeerabstractie, gedeelde programmatoestand, die het handmatige werk wegneemt dat nodig is om interoperabiliteit tussen natuurlijke taalcode en programmatoestand mogelijk te maken. Met gedeelde programmatoestand kunnen programmeurs natuurlijke code schrijven die rechtstreeks programmavariabelen beschrijft, rekent met programma-objecten en controle-structuren in het programma implementeert. Wij presenteren een schema voor het specificeren van natuurlijke functie-interfaces die programmeersystemen uitbreiden om natuurlijke code te ondersteunen, en benutten dit schema om gedeelde programmatoestand als een natuurlijk functie-interface te specificeren. Wij implementeren gedeelde programmatoestand in het Nightjar-programmeersysteem. Nightjar stelt programmeurs in staat om Python-programma's te schrijven die natuurlijke code bevatten die de Python-programmatoestand deelt. Wij tonen aan dat Nightjar-programma's een vergelijkbare of hogere taaknauwkeurigheid bereiken dan handmatig geschreven implementaties (+4-19%), terwijl het aantal regels code gemiddeld met 39,6% afneemt. De keerzijde van het gebruik van Nightjar is dat het runtime-overhead kan veroorzaken (0,4-4,3x runtime van handmatige implementaties).
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).
PDF01December 31, 2025