论文

StoryCoder:LLM 代码生成中结构化推理的叙述重构

StoryCoder: Narrative Reformulation for Structured Reasoning in LLM Code Generation

上下文与知识上下文工程

摘要

有效的代码生成需要模型功能和问题表示,以仔细构建模型的推理和计划方式。现有的方法增加了推理步骤或将特定结构注入模型的思考方式,但保持分散的问题条件不变。受到人类将碎片信息组织成连贯解释的方式的启发,我们提出了 StoryCoder,这是一种叙事重新表述框架,可将代码生成问题转化为连贯的自然语言叙事,提供比简单的改写更丰富的上下文结构。每个叙述由三个部分组成:任务概述、约束和示例测试用例,以所选算法和类型为指导。 HumanEval、LiveCodeBench 和 CodeForces 上的 11 个模型的实验证明了一致的改进,在零样本传递@10 中平均增益为 18.7%。除了准确性之外,我们的分析还表明,叙述性重构可以引导模型采用正确的算法策略,减少实现错误,并产生更加模块化的代码结构。分析进一步表明,这些好处取决于叙述连贯性和类型一致性,这表明无论模型规模或架构如何,结构化问题表示对于代码生成都很重要。我们的代码可在 https://github.com/gu-ni/StoryCoder 获取。