Although large language models have demonstrated impressive ability in code
generation, they are still struggling to address the complicated intent
provided by humans. It is widely acknowledged that humans typically employ
planning to decompose complex problems and schedule the solution steps prior to
implementation. Thus we introduce planning into code generation to help the
model understand complex intent and reduce the difficulty of problem solving.
This paper proposes a self-planning code generation method with large language
model, which consists of two phases, namely planning phase and implementation
phase. Specifically, in the planning phase, the language model plans out the
solution steps from the intent combined with in-context learning. Then it
enters the implementation phase, where the model generates code step by step,
guided by the solution steps. The effectiveness of self-planning code
generation has been rigorously evaluated on multiple code generation datasets
and the results have demonstrated a marked superiority over naive direct
generation approaches with language model. The improvement in performance is
substantial, highlighting the significance of self-planning in code generation
tasks