mlsanityData to 7 Oct 2026

ANPL: Towards Natural Programming with Interactive Decomposition

arXiv 2305.18498 ↗First posted 29 May 2023cs.PL cs.AI cs.CLcited by 13

Not on the map. Why?

Abstract (arXiv)

Though LLMs are capable of generating plausible programs, it's challenging to interact with the LLMs further to revise the program, especially if the user's specific requirements are different from the initial proposal. In this paper, we introduce ANPL, an interactive programming system that ensures users can always refine the generated code towards their specific programmatic intents via structured decompositions. Borrowing the paradigm of sketching from program synthesis, an ANPL program consists of a set of input-outputs that it must satisfy, a ``sketch'' -- control/data flow expressed in precise code (e.g. Python), and ``holes'' -- sub-modules to be implemented by the LLM specified with natural language. The user revises an ANPL program by either modifying the sketch, changing the language used to describe the holes, or providing additional input-outputs to a particular hole, turning it into a sub-ANPL program that can be solved recursively. This workflow allows the users to offload programming burdens to the LLM as much as possible while retaining the ability to pinpoint and resolve bugs locally, without exposing the rest of the program to the LLM. We deploy ANPL on the Abstraction and Reasoning Corpus (ARC), a set of unique tasks that are challenging for state-of-the-art AI systems, showing it outperforms baseline programming systems that (a) without the ability to decompose tasks interactively and (b) without the guarantee that the modules can be correctly composed together. Additional evaluations on APPS, HumanEval, and real-world programming tasks have validated that the ANPL framework is applicable to multiple programming domains. We release the ANPL solutions to the ARC tasks as a dataset, providing insights into how humans decompose novel tasks programmatically. See our code at https://iprc-dip.github.io/ANPL/.

Key facts. Cited by 13 papers in the map (data through 7 Oct 2026). Builds on 40 of its 71 references that are in the map. First posted on arXiv 29 May 2023.

Builds on

40 of 71 references.

References · 40

  1. 2021Evaluating Large Language Models Trained on Codecited by 8,053
  2. 2023Toolformer: Language Models Can Teach Themselves to Use Toolscited by 4,072
  3. 2023Reflexion: Language Agents with Verbal Reinforcement Learningcited by 4,064
  4. 2021Program Synthesis with Large Language Modelscited by 3,509
  5. 2023Self-Refine: Iterative Refinement with Self-Feedbackcited by 3,317
  6. 2023Sparks of Artificial General Intelligence: Early experiments with GPT-4cited by 2,579
  7. 2022Competition-Level Code Generation with AlphaCodecited by 1,427
  8. 2023Teaching Large Language Models to Self-Debugcited by 963
  9. 2021Measuring Coding Challenge Competence With APPScited by 879
  10. 2022CodeGen: An Open Large Language Model for Code with Multi-Turn Program Synthesiscited by 876
  11. 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
  12. 2023Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Modelscited by 659
28 more
  1. 2023ViperGPT: Visual Inference via Python Execution for Reasoningcited by 591
  2. 2023MM-REACT: Prompting ChatGPT for Multimodal Reasoning and Actioncited by 511
  3. 2022InCoder: A Generative Model for Code Infilling and Synthesiscited by 492
  4. 2022CodeT: Code Generation with Generated Testscited by 369
  5. 2022CodeRL: Mastering Code Generation through Pretrained Models and Deep Reinforcement Learningcited by 342
  6. 2022Binding Language Models in Symbolic Languagescited by 224
  7. 2022Grounded Copilot: How Programmers Interact with Code-Generating Modelscited by 216
  8. 2023TaskMatrix.AI: Completing Tasks by Connecting Foundation Models with Millions of APIscited by 184
  9. 2020DreamCoder: Growing generalizable, interpretable knowledge with wake-sleep Bayesian program learningcited by 159
  10. 2022Synchromesh: Reliable code generation from pre-trained language modelscited by 156
  11. 2022PromptChainer: Chaining Large Language Model Prompts through Visual Programmingcited by 134
  12. 2022Language Model Cascadescited by 104
  13. 2017Learning a Neural Semantic Parser from User Feedbackcited by 98
  14. 2023InternGPT: Solving Vision-Centric Tasks by Interacting with ChatGPT Beyond Languagecited by 96
  15. 2021Hierarchical Task Learning from Language Instructions with Unified Transformers and Self-Monitoringcited by 53
  16. 2023"What It Wants Me To Say": Bridging the Abstraction Gap Between End-User Programmers and Code-Generating Large Language Modelscited by 48
  17. 2021People construct simplified mental representations to plancited by 45
  18. 2021Leveraging Language to Learn Program Abstractions and Search Heuristicscited by 44
  19. 2021In-IDE Code Generation from Natural Language: Promise and Challengescited by 41
  20. 2021Communicating Natural Programs to Humans and Machinescited by 35
  21. 2021Fast and flexible: Human program induction in abstract reasoning taskscited by 33
  22. 2019People infer recursive visual concepts from just a few examplescited by 23
  23. 2020Learning abstract structure for drawing by efficient motor program inductioncited by 23
  24. 2020Learning Adaptive Language Interfaces through Decompositioncited by 22
  25. 2015Program Synthesis from Polymorphic Refinement Typescited by 20
  26. 2017Naturalizing a Programming Language via Interactive Learningcited by 20
  27. 2023Large Language Model Programscited by 11
  28. 2020Resource-rational Task Decomposition to Minimize Planning Costscited by 9

Built on by

Cited by year (2026 to 7 Oct)

Citing papers per year: 2024: 4; 2025: 6; 2026: 3.

13 papers.

Sort:

By area: