LLM2D
先知编程:一种构建LLM启用软件的模块化基础
Oracular Programming: A Modular Foundation for Building LLM-Enabled Software
作者: Jonathan Laurent, Andr\'e Platzer
发布日期: 2/11/2025
arXiv ID: oai:arXiv.org:2502.05310v1

摘要

arXiv:2502.05310v1 类型: cross 摘要:大型语言模型仅凭少数几个示例就证明了在广泛任务中表现出乎意料的有效性。然而,其可靠性不足和模块性差限制了它们解决需要多步推理的大规模问题的能力。为响应这一挑战,研究人员提出了利用领域特定知识的高级流水线,将较小的提示串联起来,提供中间反馈,并通过搜索提高性能。然而,编写、调整、维护和改进此类流水线当前的复杂性限制了它们的复杂性。我们提出了占卜式编程,这是一种构建基于LLM的应用程序的基本范式,让领域专家以程序的形式表达高层问题解决策略,其中包含未解决的选择点。这些选择点在运行时由LLM解决,LLM从用户提供的正确和错误决策示例中进行泛化。一个占卜式程序由三个正交组件组成:一个策略,其包含一个包含选择点的非确定性程序,这些选择点可以在运行时被转化为搜索树;一个策略,指定了如何借助LLM占卜以这种方式导航该树;以及一组演示,描述了不同问题实例中成功的和不成功的搜索树导航场景。每个组件都用专用的编程语言表达,并且可以独立改进或替换。我们解决了模块化组合占卜式程序和在这些组件演化过程中保持其一致性的关键编程语言设计挑战。