<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>工作流编排 on DataAgentX</title><link>https://e343c64b.dataagentx.pages.dev/zh-cn/tags/%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%BC%96%E6%8E%92/</link><description>Recent content in 工作流编排 on DataAgentX</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 09 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://e343c64b.dataagentx.pages.dev/zh-cn/tags/%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%BC%96%E6%8E%92/index.xml" rel="self" type="application/rss+xml"/><item><title>Data Agent 会规划，为什么任务仍然做不完</title><link>https://e343c64b.dataagentx.pages.dev/zh-cn/tech/20260909-planning-and-orchestration/</link><pubDate>Wed, 09 Sep 2026 00:00:00 +0000</pubDate><guid>https://e343c64b.dataagentx.pages.dev/zh-cn/tech/20260909-planning-and-orchestration/</guid><description>&lt;p&gt;“新客转化下降，帮我找原因并给建议。”Agent 先查了渠道，再查地区，第三步遇到超时，于是从头重跑；或者生成十几步计划，却在拿到第一张结果表后忘了最初要验证的假设。它看起来会“思考”，任务仍然没有完成。&lt;/p&gt;&#10;&lt;p&gt;规划层的职责不是输出一段漂亮的待办清单，而是把复杂目标变成一个能保存状态、检查证据、恢复失败并在必要时交给人的执行过程。&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://e343c64b.dataagentx.pages.dev/images/articles/planning-and-orchestration/core-zh.svg"&gt;&lt;img src="https://e343c64b.dataagentx.pages.dev/images/articles/planning-and-orchestration/core-zh.svg" alt="Data Agent 从任务解析到停止或升级的规划状态机"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;图中每一步都应该有输入、产物、通过条件和失败去向。缺少其中任何一个，所谓“自主循环”很容易变成无界重试。&lt;/p&gt;&#10;&lt;h2 id="先分流任务再决定是否需要规划"&gt;先分流任务，再决定是否需要规划&lt;/h2&gt;&#10;&lt;p&gt;并非所有问题都值得启动 Agent 循环：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;已有指标、单次只读查询、风险低的问题，可以直接走受约束的查询模板。&lt;/li&gt;&#10;&lt;li&gt;需要多个数据源、多个假设或代码分析的任务，才进入计划—执行—验证循环。&lt;/li&gt;&#10;&lt;li&gt;涉及写入、外发、敏感数据或高成本计算的任务，应在规划前标出审批节点。&lt;/li&gt;&#10;&lt;li&gt;目标、口径或数据覆盖不清时，先澄清，不要用规划掩盖需求缺口。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;复杂度分流既节省成本，也缩小故障面。让每个问题都进入多 Agent 编排，通常只会增加延迟和排错难度。&lt;/p&gt;&#10;&lt;h2 id="一份可执行计划需要七个字段"&gt;一份可执行计划需要七个字段&lt;/h2&gt;&#10;&lt;p&gt;每个步骤至少包含：&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;字段&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;作用&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;step_id&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;稳定引用，便于恢复和审计&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;objective&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;这一步要减少哪项不确定性&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;inputs&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;使用的数据、语义版本和前置产物&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;tool_contract&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;允许调用的工具、参数和权限&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;output_contract&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;预期结果的结构、版本和保存位置&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;verification&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;通过条件、容差和独立检查&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;on_failure&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;重试、改计划、降级、澄清或升级给人&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;“分析渠道影响”不是合格步骤，因为它没有说明使用什么数据、怎样判定完成。更好的目标是：“按渠道计算本月与基准期转化率，在相同口径和覆盖范围下标记绝对变化最大的三个渠道，并验证分母完整性。”&lt;/p&gt;&#10;&lt;h2 id="状态不能只存在对话里"&gt;状态不能只存在对话里&lt;/h2&gt;&#10;&lt;p&gt;长任务的事实状态应存放在 Harness，而不是靠模型记忆：任务目标、约束、当前计划版本、完成步骤、产物引用、失败次数、预算、审批和未解决问题。模型每轮只接收完成当前判断所需的切片。&lt;/p&gt;&#10;&lt;p&gt;一个实用状态机可以包含：&lt;code&gt;PLANNING → READY → RUNNING → VERIFYING → COMPLETED&lt;/code&gt;，以及 &lt;code&gt;WAITING_INPUT&lt;/code&gt;、&lt;code&gt;WAITING_APPROVAL&lt;/code&gt;、&lt;code&gt;REPLAN_REQUIRED&lt;/code&gt;、&lt;code&gt;FAILED&lt;/code&gt; 和 &lt;code&gt;CANCELLED&lt;/code&gt;。状态迁移由规则和工具结果触发，模型可以建议迁移，但不能随意把失败改成完成。&lt;/p&gt;&#10;&lt;p&gt;检查点应保存逻辑产物与版本，而不是完整复制所有敏感数据。恢复时先检查数据、语义、权限和批准是否仍有效；不能拿昨天的批准运行今天已经改变参数的动作。&lt;/p&gt;&#10;&lt;h2 id="规划执行和验证要分工"&gt;规划、执行和验证要分工&lt;/h2&gt;&#10;&lt;p&gt;常用模式是 Planner 提出下一步，Executor 通过受控工具运行，Verifier 检查结果与约束。它们可以是三个独立组件，也可以由同一模型在不同权限和上下文下完成。关键不在角色名称，而在控制面是否隔离：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Planner 不能持有生产凭证。&lt;/li&gt;&#10;&lt;li&gt;Executor 不自行扩张任务范围。&lt;/li&gt;&#10;&lt;li&gt;Verifier 使用独立规则、查询结果或测试，不只让模型评价自己的输出。&lt;/li&gt;&#10;&lt;li&gt;Harness 决定预算、重试和停止。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;多 Agent 只有在专业上下文、工具权限或并行工作确实需要隔离时才有价值。把一个任务拆成许多拟人角色，却共享同一上下文、权限和评分器，只增加通信损耗。&lt;/p&gt;</description></item></channel></rss>