SOTA Sync
全部文章
Agent 设计2026-04-22

AgentSPEX:用 YAML 定义 Agent 工作流,让非程序员也能修改 Agent 行为

UIUC 等机构的研究团队提出 AgentSPEX,一种用于描述 LLM Agent 工作流的声明式语言和执行环境。其核心动机是:现有框架(LangGraph、DSPy、CrewAI)将工作流逻辑与 Python 代码紧密耦合,难以维护和修改;而纯 ReAct 式提示缺乏可控性。AgentSPEX 用 YAML 定义工作流,支持类型化步骤、分支、循环、并行执行和可复用子模块,通过 MCP 协议连接工具,在 Docker 沙箱中执行。配套提供双向可视化编辑器:在图形视图中拖拽节点与 YAML 文本实时同步。在 7 项基准上的测试覆盖科学、写作、代码、论文理解等领域,用户研究显示比现有框架更易于理解和修改。

#问题背景

当前 LLM Agent 开发面临两个极端:

极端 A:纯 ReAct 式提示 ——一条 system prompt 驱动 Agent 开放式地执行工具调用序列。实现简单,但控制流隐式、行为难以预测,长链任务(需要分支和迭代)表现不稳定。

极端 B:Python 工作流框架 ——LangGraph、DSPy、CrewAI 等提供了更强的结构控制,但工作流逻辑深度耦合 Python 代码,学习曲线陡峭,非程序员无法修改,维护成本高。

AgentSPEX 的定位是中间路径:声明式语言 + 明确控制流 + 自然语言指令。

#核心设计

#工作流语言

AgentSPEX 用 YAML 描述工作流,支持以下构件:

构件类型关键词说明
调用task / steptask 开新对话,step 保留历史
控制流if / switch / while / for_each分支和循环
并发parallel / gather并行执行多个操作
组合call调用另一个工作流作为子模块
状态set_variable / save_as显式上下文管理

每个工作流包含 namegoalconfig(工具集、模型配置)、workflow(操作序列)。变量用 Mustache 语法引用:{{variable_name}}

name: "research_assistant"
goal: "Research a topic and write a summary"
config:
  model: "gpt-5.4"
  enabled_tools: ["web_search", "file_write"]
workflow:
  - task:
      instruction: "Generate search queries for {{topic}}"
      save_as: "search_queries"
  - call:
      module: "modules/search_and_summarize.yaml"
      parameters:
        queries: "{{search_queries}}"
      save_as: "paper_summary"
  - task:
      instruction: "Write a report at {{file_path}} based on: {{paper_summary}}"

#task vs step 的关键区别

task 每次开启全新对话,适合将中间结果通过变量传递给后续步骤;step 在同一对话中累积历史,适合需要多轮工具调用和推理的任务。这个设计给工作流作者提供了对上下文可见性的直接控制——决定每个步骤"看到什么"而不是让模型自行管理。

#执行环境(Agent Harness)

#沙箱执行

每个工作流在 Docker 容器中运行,提供隔离的浏览器、文件系统访问,以及通过 MCP(Model Context Protocol)连接的 50+ 工具,覆盖文件操作、网络搜索、代码执行、浏览器自动化等。

#持久化与恢复

面向长时间运行的工作流,AgentSPEX 提供:

  • Checkpoint :每步完成后保存状态(变量值、步骤输出、沙箱状态),支持从任意断点恢复
  • 执行轨迹追踪 :记录完整执行轨迹,包括模型响应、工具调用结果、对话状态
  • 选择性重放 :修改某个步骤的 instruction 后,可复用之前步骤的轨迹跳过重新执行,只重跑修改点之后的部分

#可视化编辑器

提供双向同步的图形界面:工作流显示为可交互流程图,每个节点对应一个操作。用户可以拖拽节点或直接编辑 YAML,两个视图实时同步,修改后可直接在编辑器中执行。

#评测与用户研究

团队基于 AgentSPEX 构建了三个即开即用的 Agent:

  1. Deep Research :多层次搜索策略,生成 Markdown 研究报告,类似 OpenAI Deep Research
  2. AI Scientist :生成新颖学术研究提案(基于 TinyScientist 实现)
  3. AI Advisor :对研究提案进行 Rubric 式评审

在 7 项基准上(涵盖科学、数学、写作、论文理解、软件工程)进行测试,并与 LangGraph 等现有框架对比。用户研究显示 AgentSPEX 提供了"更易于解读和修改的工作流编写范式"。

#与现有框架的定位差异

AgentSPEX 不是要替代 LangGraph 或 DSPy,而是填补"谁来写和改 Agent"的协作空白:领域专家用 YAML 和自然语言指令表达工作流逻辑,工程师负责工具集成和基础设施。工作流文件独立于执行代码,可以版本控制、diff、共享,不依赖工程师每次修改 Python。