- 长臂猿-企业应用及系统软件平台
机器之心专栏
近年来,代码生成在学术界和工业界都取得了很大进展,特别是大型语言模型(LLM)展示了令人印象深刻的代码生成能力,吸引了各个领域的关注。本文介绍了两篇关于代码生成的研究。


,由
元组串联而成,
,其中
表示人类的 intent,
表示 plan,
表示两者的串联。plan 是对子问题的调度,它从 intent 中抽象和分解出来,intent 被设定为
。在推理过程中,测试时 intent 将被添加在提示之后,
将被送入 LLMs
,后者将试图为新的 intent 做规划,从而得到测试时的 plan
。
是一个相当小的数字,意味着仅通过注释几个演示规划的例子就可以实现自我规划。
附加到 intent
上,作为模型
的输入,得到最终代码
。
,因此:





,利用大模型执行 Self-collaboration 以生成输出 y。该任务定义为
。Self-collaboration 框架由两部分组成:分工和合作。
并构建一些不同的角色
,这些角色基于大模型和角色指令。每个角色
负责一个或多个阶段
。
。
是阶段
的输出,
表示
前提阶段的输出,
表示
对应的角色。请注意,如果阶段
之间的关系不是线性关系,self-collaboration 框架可以并行化。计算
被视为合作,其中角色
与每个前面阶段的角色合作生成
。输出
随着阶段
的进展迭代更新:
是一个更新函数。
完成后,得到最终输出
。为了促进有效合作,作者建立了一个消息共享池,每个角色从中获取所需的信息以完成各自的任务
。算法 1 给出了 self-collaboration 框架的完整算法。
,分析师将分解为几个易于解决的子任务,以方便程序员直接实施,并制定概述实施主要步骤的 plan。
编码时更新输出
,并且此开发过程在测试人员确认
满足要求时结束。




© THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com
本文来自机器之心