# Interactive and Expressive Code-Augmented Planning with Large Language Models

arXiv: https://arxiv.org/abs/2411.13826 · HTML: https://mlsanity.com/paper/2411.13826/

## Key facts

- Cited by 7 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 21 Nov 2024.

## Built on by (most cited first, 7 of 7)

- [Code to Think, Think to Code: A Survey on Code-Enhanced Reasoning and Reasoning-Driven Code Intelligence in LLMs](https://mlsanity.com/paper/2502.19411/) (2025)
- [ReCode: Unify Plan and Action for Universal Granularity Control](https://mlsanity.com/paper/2510.23564/) (2025)
- [PEARL: Self-Evolving Assistant for Time Management with Reinforcement Learning](https://mlsanity.com/paper/2601.11957/) (2026)
- [CodeDelegator: Mitigating Context Pollution via Role Separation in Code-as-Action Agents](https://mlsanity.com/paper/2601.14914/) (2026)
- [Learning Abstractions for Hierarchical Planning in Program-Synthesis Agents](https://mlsanity.com/paper/2602.00929/) (2026)
- [Code Driven Planning with Domain-Adaptive Critic](https://mlsanity.com/paper/2509.19077/) (2025)
- [Agent Behavior as Code: Efficient and Robust LLM Agents with Programmatic Specifications](https://mlsanity.com/paper/2610.04824/) (2026)

## Abstract (arXiv)

Large Language Models (LLMs) demonstrate strong abilities in common-sense reasoning and interactive decision-making, but often struggle with complex, long-horizon planning tasks. Recent techniques have sought to structure LLM outputs using control flow and other code-adjacent techniques to improve planning performance. These techniques include using variables (to track important information) and functions (to divide complex tasks into smaller re-usable sub-tasks). However, purely code-based approaches can be error-prone and insufficient for handling ambiguous or unstructured data. To address these challenges, we propose REPL-Plan, an LLM planning approach that is fully code-expressive (it can utilize all the benefits of code) while also being dynamic (it can flexibly adapt from errors and use the LLM for fuzzy situations). In REPL-Plan, an LLM solves tasks by interacting with a Read-Eval-Print Loop (REPL), which iteratively executes and evaluates code, similar to language shells or interactive code notebooks, allowing the model to flexibly correct errors and handle tasks dynamically. We demonstrate that REPL-Plan achieves strong results across various planning domains compared to previous methods.
