分类:AI编程
一段多阶段 Agent 的实验记录显示,流程越完整,输出越像一份成熟报告,反而越容易掩盖证据缺失的问题。在一次新能源汽车投资报告生成测试中,系统完整执行了感知、建模、推理、决策、报告五个阶段,输出了章节、表格、指标和结论,但正文日期与文件名日期并不一致,核心评估框架也缺少可核验的计算依据。对 AI 编程实践而言,这类问题比直接报错更难处理:程序没有停在错误处,而是继续生成了一份结构完整的“成品”。
五个阶段全部执行,日期和框架仍然漂移
素材记录的第一次运行中,系统输出 135 行内容,包含七个章节和三张表格,并给出三家公司的 GCI 得分:0.91、0.87、0.79。报告还设定了三维评估框架,权重分别为 40%、35%、25%,并列出四种风险的发生概率:30%、25%、15%、10%,预期收益率为 +18% ± 4%。文件名为 research_report_20261031_152507.txt,但报告第一行写着发布日期 2024年6月3日。
测试者又运行了一次。第二次输出为 152 行,主题从“绿色本地化”变为“闭环再生套利”,核心框架从 GCI 换成 CLOSED_LOOP_ARBITRAGE,报告末尾的署名也从“ESG与新能源战略组”变为“智擎资本投研中心”。这次日期写的是 2024年10月,文件名为 research_report_20261031_153907.txt。两次运行中,文件名都带有 20261031,但正文日期并没有与之对应。
素材指出,程序能够生成带日期时间的文件名,但模型并不知道准确日期。也就是说,正文中的日期并不是从固定记忆中取出的错误值,而是每次生成一个看起来合理的表达。这类问题的隐蔽之处在于:报告仍然完整,章节仍然齐全,读者很容易先被结构说服,再去寻找事实依据。
状态字段显示了错误,但没有真正触发回退
实验还暴露了流程控制层面的问题。该系统使用 LangGraph 将流程打印为 Mermaid 图,路径是感知、建模、推理、决策、报告依次推进。代码中,推理阶段开头会检查 state 中是否存在 world_model;如果缺失,会返回错误信息,并把 current_phase 标回 modeling。
从字面上看,这似乎意味着系统会退回建模阶段重新执行。但三组对照测试给出了不同结果:
- 第一组:清空世界模型后运行,执行节点为 perception → modeling → reasoning,错误记录为“推理阶段缺少世界模型”,流程停在 reasoning,没有回到 modeling 重跑。
- 第二组:让建模阶段直接报错,执行节点为 perception → modeling,错误记录为“建模阶段出错:模拟”,流程停在 modeling。
- 第三组:正常执行,五个阶段全部走完,error 为 None,报告生成。
这意味着,current_phase 被写成 modeling,更多只是状态字段中的字符串,供日志或展示使用,并没有真正驱动调度回退。更细的问题是:当世界模型为空时,建模阶段自身没有发现异常,直到推理阶段才被拦下。前置条件检查被放在使用结果的位置,而不是产生结果的位置。
另一个工程问题是日志噪音。素材提到,Mermaid 图在终端中反复输出,影响了调试信息的可读性。对于多阶段 Agent 来说,这类问题并不只是界面干扰:当日志被重复打印占据时,真正能定位错误的信息反而更难找到。
报告像成品,证据链却断在关键处
两份报告最接近“专业投研”的地方,是它们都搭建了完整框架。第一份报告提出 GCI,即 Green Compliance Index,绿色合规指数,包含本地化产能、绿色能源、合规穿透三个维度,权重分别为 40%、35%、25%,并设定阈值:大于 0.85 表示“政策套利能力已实质性兑现”,小于 0.7 表示“合规仍处规划阶段”。随后,报告给比亚迪 0.91、宁德时代-蔚来联合体 0.87、吉利 0.79 的得分。
第二份报告则更换为 CLOSED_LOOP_ARBITRAGE,即闭环再生套利框架,政策依据从欧盟关税转向国内“一码溯源+双积分加权核算”,核心指标包括工信部溯源平台接入率 63%、车企再生材料认证率、再生前驱体掺混比例,并提到华友 30%、格林美 25%。报告还给出毛利率从 12.3% 到 21.6%、净利润从 2.1 亿到 5.8 亿的变化。
问题在于,这些框架和数字缺少可核对的来源。素材提到,课件中没有 GCI,也没有 CLOSED_LOOP_ARBITRAGE;课件中的投研报告引用的是 2022 年全球 EV 销量增长 42%、锂电池成本降到 107 美元/kWh 这类可查证数据。而 Agent 生成的报告中,分数如何计算、风险概率如何估算、财务预测依据何在,均未说明。
第一份报告的风险表中,四种风险概率分别为 30%、25%、15%、10%,合计 80%。剩余的 20% 代表什么,单个概率如何得出,报告没有解释。第二份报告则完全不写百分比,只列出“具体表现”和“应对机制”。同一个程序、同样的五个阶段,一份报告给出概率,另一份却不给,所谓严谨并没有稳定标准。
报告末尾还列出了 BloombergNEF、乘联会、上海有色网、欧盟委员会公报、TÜV Rheinland 认证数据库、Wind 金融终端等数据支持来源,但正文没有给出具体报告名、发布日期或链接。素材认为,这类来源列表更像装饰,而不是可复核的引用。报告中还出现前后不一致的表述:开头写“欧盟反补贴终裁(最高38.1%临时关税)”,表格中又写成“欧盟反倾销税最高达63.1%”,反补贴和反倾销被混用。
何时该用 Agent:从“能不能跑完”到“能不能验证”
素材并未只批评多阶段 Agent。它还比较了反应式、深思熟虑式和混合式三种架构,并指出它们解决的问题并不相同。反应式关注“下一步该做什么”;深思熟虑式关注“这件事该怎么做完”;混合架构关注“这件事值不值得慢下来”。
在私募基金问答助手案例中,反应式架构能够先承认知识库没有具体持仓数据,但随后又补充“根据我的经验,部分私募基金对单一行业(如科技)的持仓上限常设为20%-30%”。这句补充虽然标注了“经验”,仍然把没有依据的数字给了用户。在投顾 AI 助手案例中,混合架构会根据任务类型分流:简单问题用反应式处理,复杂问题进入深度分析。测试中,询问“今天上证指数的表现如何”耗时 11.34 秒,询问“根据当前市场情况,我应该如何调整投资组合以应对可能的经济衰退”耗时 112.00 秒。
素材引用 Anthropic 的表述称,Agent 通常被实现为 LLM 通过工具调用、基于环境反馈在循环中执行动作的系统;它能处理复杂任务,但实现并不神秘。同时,清晰全面的设计工具集和文档,对 Agent 的成功至关重要。课件给出的建议包括:从简单提示开始,只有简单方案无法解决时,再引入多步智能体系统;在沙盒中充分测试,并设置防护栏。
素材还列出了“不要为所有任务构建 Agent”的判断标准,包括任务复杂性、任务价值、关键能力验证和错误成本。代码生成被视为较理想的场景,因为输出可以通过单元测试快速验证;投资研究报告则不同,错误成本高,但验证难度也高,读者往往只能依靠人工阅读判断。
这次实验真正值得 AI 编程从业者警惕的地方,不在于模型会不会犯错,而在于多阶段流程会把错误包装成结构完整的结论。Agent 能否跑完流程,只是工程层面的结果;报告中的指标、日期、来源和计算过程是否可验证,才决定它是否值得进入真实业务。
原创文章,作者:点点,如若转载,请注明出处:https://www.dian8dian.com/duo-jie-duan-agent-pao-wan-wu-ge-jie-duan-hou-zhen-zheng