StateFlow: Enhancing LLM Task-Solving through State-Driven Workflows

📄 arXiv: 2403.11322v5 📥 PDF

作者: Yiran Wu, Tianwei Yue, Shaokun Zhang, Chi Wang, Qingyun Wu

分类: cs.CL, cs.AI

发布日期: 2024-03-17 (更新: 2024-09-14)


💡 一句话要点

提出StateFlow以解决复杂任务求解的效率问题

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大型语言模型 状态机 任务求解 动态交互 效率提升 可解释性 自动化 智能系统

📋 核心要点

  1. 现有方法在处理复杂任务时缺乏有效的控制和解释能力,导致效率低下。
  2. StateFlow通过将任务求解过程视为状态机,区分过程基础与子任务求解,从而提升了控制性和可解释性。
  3. 实验结果显示,StateFlow在多个基准测试中成功率显著提高,同时成本大幅降低,展示了其优越性。

📝 摘要(中文)

近年来,利用大型语言模型(LLMs)处理复杂任务的趋势日益明显,尤其是需要一系列动作和与工具及外部环境动态交互的任务。本文提出了StateFlow,一种基于LLM的任务求解新范式,将复杂任务求解过程概念化为状态机。在StateFlow中,我们区分了“过程基础”(通过状态和状态转移)与“子任务求解”(通过状态内的动作),增强了任务求解过程的控制性和可解释性。状态表示运行过程的状态,状态之间的转移由启发式规则或LLM的决策控制,允许动态和自适应的进展。结果表明,StateFlow显著提高了LLM的效率,例如在InterCode SQL和ALFWorld基准测试中,StateFlow的成功率分别比ReAct高出13%和28%,且成本分别降低了5倍和3倍。我们还展示了StateFlow可以与迭代精炼方法如Reflexion结合,以进一步提升性能。

🔬 方法详解

问题定义:本文旨在解决现有大型语言模型在处理复杂任务时效率低下和缺乏可解释性的问题。现有方法往往无法有效管理任务的动态性和复杂性,导致成功率低和资源浪费。

核心思路:StateFlow的核心思路是将复杂任务求解过程建模为状态机,通过状态和状态转移来增强任务求解的控制性和可解释性。每个状态代表任务的某一阶段,状态之间的转移由启发式规则或LLM的决策驱动。

技术框架:StateFlow的整体架构包括状态定义、状态转移控制和子任务求解三个主要模块。状态定义用于描述任务的当前状态,状态转移控制决定如何从一个状态转移到另一个状态,而子任务求解则在每个状态内执行具体的动作,包括调用LLM和使用外部工具。

关键创新:StateFlow的主要创新在于将复杂任务求解过程视为状态机,明确区分过程基础与子任务求解。这种设计使得任务求解过程更加灵活和可控,显著提高了效率和成功率。

关键设计:在设计上,StateFlow采用了启发式规则来控制状态转移,并结合不同的提示来调用LLM。此外,系统还支持动态调用外部工具,以满足任务需求,确保在不同状态下能够灵活应对。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果显示,StateFlow在InterCode SQL和ALFWorld基准测试中,成功率分别比ReAct高出13%和28%,同时在成本上分别降低了5倍和3倍。这些结果表明StateFlow在复杂任务求解中的显著优势,验证了其有效性。

🎯 应用场景

StateFlow的研究成果在多个领域具有广泛的应用潜力,包括自动化任务处理、智能助手、游戏AI和机器人控制等。通过提升复杂任务的求解效率和可解释性,StateFlow能够为实际应用提供更高效的解决方案,推动智能系统的进一步发展。

📄 摘要(原文)

It is a notable trend to use Large Language Models (LLMs) to tackle complex tasks, e.g., tasks that require a sequence of actions and dynamic interaction with tools and external environments. In this paper, we propose StateFlow, a novel LLM-based task-solving paradigm that conceptualizes complex task-solving processes as state machines. In StateFlow, we distinguish between "process grounding" (via state and state transitions) and "sub-task solving" (through actions within a state), enhancing control and interpretability of the task-solving procedure. A state represents the status of a running process. The transitions between states are controlled by heuristic rules or decisions made by the LLM, allowing for a dynamic and adaptive progression. Upon entering a state, a series of actions is executed, involving not only calling LLMs guided by different prompts, but also the utilization of external tools as needed. Our results show that StateFlow significantly enhances LLMs' efficiency. For instance, StateFlow achieves 13% and 28% higher success rates compared to ReAct in InterCode SQL and ALFWorld benchmark, with 5x and 3x less cost respectively. We also show that StateFlow can be combined with iterative refining methods like Reflexion to further improve performance.