ChatPaper.aiChatPaper

Zustandsverwaltung zwischen Prompts und Programmen

Sharing State Between Prompts and Programs

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

papers.abstract

Der Aufstieg großer Sprachmodelle (LLMs) hat eine neue Art der Programmierung eingeführt: die Programmierung mit natürlicher Sprache. Indem sie Prompts verfassen, die LLMs anweisen, natürliche Sprachverarbeitung, Code-Generierung, logisches Schließen usw. durchzuführen, schreiben Benutzer Code in natürlicher Sprache – Natural Language Code –, der vom LLM ausgeführt wird. Ein aufstrebendes Forschungsgebiet ermöglicht die Interoperabilität zwischen Natural Language Code und formalen Sprachen wie Python. Wir stellen eine neuartige Programmierabstraktion vor, den gemeinsamen Programmzustand (Shared Program State), der die manuelle Arbeit zur Ermöglichung der Interoperabilität zwischen Natural Language Code und dem Programmzustand überflüssig macht. Mit einem gemeinsamen Programmzustand können Programmierer natürlichen Code schreiben, der direkt Programmvariablen beschreibt, mit Programmobjekten rechnet und Kontrollfluss im Programm implementiert. Wir stellen ein Schema zur Spezifikation von Natural Function Interfaces vor, das Programmierumgebungen erweitert, um natürlichen Code zu unterstützen, und nutzen dieses Schema, um den gemeinsamen Programmzustand als ein Natural Function Interface zu spezifizieren. Wir implementieren den gemeinsamen Programmzustand im Nightjar-Programmiersystem. Nightjar ermöglicht es Programmierern, Python-Programme zu schreiben, die natürlichen Code enthalten, der sich den Python-Programmzustand teilt. Wir zeigen, dass Nightjar-Programme eine vergleichbare oder höhere Aufgabengenauigkeit erreichen als manuell geschriebene Implementierungen (+4-19 %), bei gleichzeitiger Reduzierung der Codezeilen um durchschnittlich 39,6 %. Der Kompromiss bei der Verwendung von Nightjar ist ein potenzieller Laufzeit-Overhead (0,4-4,3-fache Laufzeit manueller Implementierungen).
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 20, 2025