摘要
我们首次对基于大型语言模型 (LLM) 的算法的设计和分析进行了正式研究,这类算法将一个或多个大型语言模型调用作为子程序,并严重依赖于大型语言模型的能力。虽然基于大型语言模型的算法,从简单的带提示工程的 LLM 调用到复杂的 LLM 驱动的代理系统和复合 AI 系统,都取得了显著的经验成功,但它们的设计和优化主要依赖于启发式方法和试错法,这在很大程度上是由于缺乏对这些算法的正式和分析研究。为了填补这一空白,我们首先确定了基于大型语言模型的算法的计算图表示、任务分解的设计原则以及一些关键抽象,这些抽象有助于我们对基于大型语言模型的算法的准确性和效率进行正式分析,尽管大型语言模型本身是黑盒。通过对一系列案例研究进行广泛的分析和经验调查,我们证明了所提出的框架广泛适用于各种场景和基于大型语言模型的算法的不同模式,例如并行、层次和递归任务分解。我们提出的框架有望推动基于大型语言模型的算法的发展,揭示好奇的经验现象背后的原因,指导超参数的选择,预测算法的经验性能,并激发新的算法设计。为了促进对基于大型语言模型的算法的进一步研究,我们在 https://github.com/modelscope/agentscope/tree/main/examples/paper_llm_based_algorithm 发布了我们的源代码。