S
SkillNav

多 Agent 工作流为何频繁失效?三种工程化方法让系统更可靠

深度GitHub2026-02-24T16:00:00+00:008 分钟阅读
多 Agent 工作流为何频繁失效?三种工程化方法让系统更可靠

如果你构建过多 Agent 工作流,很可能见过一种“说不清楚”的失败方式。

系统看似跑完了,Agent 也都执行了动作。但在某个环节,总会有细微却关键的问题出现。比如,一个 Agent 关闭了另一个 Agent 刚创建的 issue;或者提交了一个变更,却没通过它根本不知道存在的下游检查。

原因在于:当 Agent 开始处理彼此相关的任务——分诊 issue、提出修改、运行检查、发起 pull request——它们会对状态、顺序和校验机制做出隐式假设。如果你没有提供明确的指令、数据格式和接口定义,结果很容易偏离预期。

我们在 GitHub 打造 agentic 体验的过程中(涵盖 GitHub Copilot、内部自动化以及新兴的多 Agent 编排模式)发现,多 Agent 系统的行为与其说像聊天界面,不如说更像分布式系统。

这篇文章面向正在构建多 Agent 系统的工程师。我们会拆解它们最常见的失败原因,以及能显著提升可靠性的工程模式。

1. 自然语言很混乱,typed schema 才能带来可靠性

多 Agent 工作流经常在早期就失败,因为 Agent 之间交换的是混乱的自然语言或不一致的 JSON。字段名会变化、数据类型会不匹配、格式会漂移,而且没有机制保证一致性。

这和软件开发里尽早建立协作契约是一个道理:typed interface 和严格 schema 能在每个边界增加结构化约束。Agent 传递的是可被机器校验的数据;不合法消息会快速失败;下游步骤不再需要猜 payload 的含义。

大多数团队会先定义 Agent 的返回数据结构:

code
type UserProfile = {
  id: number;
  email: string;
  plan: "free" | "pro" | "enterprise";
};

这会把调试方式从“看日志靠猜”变成“这个 payload 违反了 schema X”。把 schema 违规当成契约失败处理:在错误状态传播之前重试、修复或升级处理。

核心结论: 在多 Agent 工作流里,typed schema 是基础设施级别的必需项。没有它,后面都无从谈起。看看 GitHub Models 如何在真实项目中实现结构化、可重复的 AI 工作流。 👉

2. 意图模糊会让 Agent 失灵,action schema 才能讲清楚

即便有 typed data,多 Agent 工作流仍会失败,因为 LLM 不会遵循“暗含意图”,只会遵循“明确指令”。

“分析这个 issue 并帮助团队采取行动”听起来很清楚,但不同 Agent 可能会选择关闭、指派、升级,或者什么都不做——每种都说得通,但都难以自动化。

action schema 的作用,就是定义“允许执行的动作集合”及其结构。并非每个步骤都必须结构化,但最终输出一定要收敛到一组小而明确的动作。

一个 action schema 可能像这样:

code
const ActionSchema = z.discriminatedUnion("type", [
  { type: "request-more-info", missing: string[] },
  { type: "assign", assignee: string },
  { type: "close-as-duplicate", duplicateOf: number },
  { type: "no-action" }
]);

有了这个约束后,Agent 必须返回且只能返回一个合法动作。其他结果都会校验失败,然后进入重试或升级流程。

核心结论: 大多数 Agent 失败,本质上是“动作失败”。如果你希望在工作流更前置的“指令层”就降低歧义,这份自定义指令写作指南很有帮助。 👉

3. 松散接口会制造错误,MCP 提供 Agent 所需的结构化约束

typed schema、受限动作和结构化推理,只有在被持续、严格执行时才有效。没有执行约束,它们只是“约定”,不是“保证”。

Model Context Protocol (MCP) 就是把这些模式变成强契约的执行层。

MCP 为每个工具和资源定义明确的输入/输出 schema,并在执行前完成调用校验。

code
{
  "name": "create_issue",
  "input_schema": { ... },
  "output_schema": { ... }
}

有了 MCP,Agent 不能再凭空发明字段、遗漏必填输入,或在接口间漂移。校验在执行前完成,从而阻止坏状态进入生产系统。

核心结论: schema 定义结构,action schema 定义意图,而 MCP 负责把两者真正执行到位。进一步了解 MCP 的工作原理及其重要性。 👉

一起向前

多 Agent 系统要想可靠运行,前提是结构必须显式化。当你引入 typed schema、受限动作,以及由 MCP 强制执行的结构化接口后,Agent 才会像可靠的系统组件一样工作。

这个转变很简单,但影响巨大:把 Agent 当作代码来工程化,而不是当作聊天界面。

了解 MCP 如何实现结构化、确定性的 Agent-工具交互。 👉

作者

Gwen Davis

Gwen Davis 是 GitHub 的高级内容策略师,长期撰写开发者体验、AI 驱动工作流以及科技职业成长相关内容。

探索更多 GitHub 内容

Docs

Docs

掌握 GitHub 所需的一切内容,集中在一个地方。

前往 Docs

GitHub

GitHub

在 GitHub 上构建下一代产品——这是一个任何人都能从任何地方创造任何内容的平台。

开始构建

Customer stories

Customer stories

了解那些使用 GitHub 构建产品的公司与工程团队。

了解更多

The GitHub Podcast

The GitHub Podcast

收听 GitHub Podcast。这档节目聚焦 GitHub 开源开发者社区内外的话题、趋势、故事与文化。

立即收听

查看原文 ↗

相关文章

如何评估 Coding Agent 的 Skills:LangChain 实战方法
深度LangChain·3月5日
如何评估 Coding Agent 的 Skills:LangChain 实战方法

LangChain 分享了为 Codex、Claude Code、Deep Agents CLI 构建并评估 Skills 的实践经验,核心是通过可复现的任务与清晰指标验证 Skills 是否真正提升 Agent 表现。文章给出一套四步评估流程:搭建干净测试环境、定义约束任务与指标、设计并拆分 Skills、对比不同配置下的性能。实测显示,加入 Skills 后 Claude Code 任务完成率显著提升,同时借助 LangSmith 的 tracing 与评测能力可以更快定位失败原因并迭代优化。

10 分钟
GitHub 与 Andela 经验:让全球开发者真正获得 AI 机会
深度GitHub·3月5日
GitHub 与 Andela 经验:让全球开发者真正获得 AI 机会

GitHub 与 Andela 在过去两年为全球 550 万人才网络推进结构化 AI 培训,已有 3,000 名工程师通过 AI Academy 接受 GitHub Copilot 实战训练。项目将 AI 学习嵌入真实生产流程,而非脱离业务的实验,帮助开发者更快理解遗留系统、提升信心并提高效率。文章指出,AI 技能差距的本质并非能力不足,而是工具、导师与实践环境的可获得性差异。

10 分钟