1. 这不是“智能体编排”,而是开发团队工作流的数字孪生重构
最近在帮某高校实验室做一次跨学科协作平台的技术咨询,对方提了一个让我停顿三秒的问题:“我们想让AI自动协调前端、后端、测试、UI四类角色的协作节奏——不是写代码,是管人。”这句话像一记重锤敲在我脑门上。过去三年里,我参与过七次不同规模的“多智能体系统”落地项目,从电商客服调度到工业质检流程优化,但直到那一刻我才真正意识到:Agency Agents 的核心价值,从来不在“Agent 多不多”,而在于它把人类开发团队的隐性协作契约,第一次用可声明、可验证、可回溯的结构化协议显性化了。
这和市面上泛滥的“AI 工作流编排”有本质区别。后者是把人当操作员,让 AI 去调用 API;前者是把人当协作者,让 AI 去理解“谁在什么条件下该做什么、为什么这么做、做到什么程度算完成”。关键词里的 “Agency” 不是“代理”,而是“能动性”——每个 Agent 必须具备目标感知、上下文判断、失败归因与策略调整能力。它不替代开发者,而是把开发者日常中那些靠经验、靠默契、靠临时拉群吼一嗓子解决的协作断点,变成系统可执行的原子动作。
比如一个典型场景:UI 设计师提交了新组件规范,后端却按旧接口契约开发,测试同学卡在环境联调环节,最后所有人挤在周五下午开紧急对齐会。Agency Agents 系统会在设计稿上传瞬间触发 DesignAgent,它不生成代码,而是解析 Figma JSON 中的组件命名规则、状态枚举值、交互反馈文案,并自动生成一份带版本号的 InterfaceContract.json;接着 ContractAgent 被唤醒,比对当前主干分支的 OpenAPI Spec,发现新增字段未被后端 Schema 支持,立刻向 BackendAgent 发出带优先级标记的变更请求(含 diff patch 和影响范围分析);而 BackendAgent 接收后不会直接改代码,而是先启动本地沙箱环境运行 contract-validator,确认修改不会破坏存量接口兼容性,再生成 PR 模板——所有动作都附带可追溯的决策日志:为什么选这个字段名?为什么拒绝这个兼容性降级?依据哪条团队 SLO?
这种架构不是技术炫技。它直击开发团队最痛的三个断层:需求理解断层(产品说的和开发者听的不是同一套语义)、进度同步断层(每个人只看到自己那块甘特图)、质量责任断层(上线故障后“大家都没问题”的罗生门)。Agency Agents 把这些断层变成了系统内可定义、可监控、可优化的协议节点。所以当你看到标题里“重构开发团队”这五个字,请别下意识想到组织架构调整或 KPI 重设——它指的是用代码重新定义协作本身。
提示:很多团队初期误把 Agency Agents 当成“更聪明的 Jenkins”,试图让它自动跑完 CI/CD 全链路。这是方向性错误。Agency 的核心是“人机协同协议”,不是“自动化流水线”。真正的落地起点,永远是梳理清楚你团队当前协作中最常卡住的 3 个具体节点,而不是堆砌 Agent 数量。
2. 架构分层解剖:为什么必须拆成 Protocol Layer、Orchestration Layer、Execution Layer 三层
Agency Agents 系统绝非一个黑盒模型调用服务。我见过太多团队在第一天就陷入“该用 LangChain 还是 LlamaIndex”的工具争论,结果三个月后连第一个可演示的协作闭环都没跑通。根本原因在于,他们跳过了最关键的架构分层设计——就像盖楼不打地基,直接讨论用什么瓷砖贴外墙。
我们以某跨平台系统(模拟项目X)的实际落地架构为例,完整拆解这三层如何咬合:
2.1 Protocol Layer:协作契约的宪法层
这是整个系统的基石,也是最容易被跳过的部分。它不包含任何 AI 模型,纯粹由 JSON Schema、OpenAPI 3.0、RFC 风格的协作协议文档构成。它的作用只有一个:定义“什么是有效协作”。
- Role Schema:不是简单写“前端工程师”,而是明确定义 FrontendAgent 的输入约束(如必须接收 design-token.json + interface-contract.json)、输出承诺(如必须产出 component.tsx + storybook.stories.ts)、失败兜底(如连续 3 次 lint 失败需自动触发 MentorAgent 协助)、SLA 承诺(如接口变更响应时间 ≤ 15 分钟)。
- Contract Registry:一个版本化的中央仓库,存储所有跨角色契约。例如
ui-backend-v2.3.1.json明确规定:Button 组件新增loadingState字段为必填,其取值枚举必须与后端/api/v2/button/status接口返回值完全一致,且前端必须在 loading 状态下禁用点击事件。这个文件由 DesignAgent 和 BackendAgent 共同签署(数字签名),任何一方单方面修改都会触发全链路校验。 - Context Broker:轻量级消息总线,但只传递结构化元数据。比如当 TestAgent 发现某个 PR 的单元测试覆盖率低于 85%,它不发“测试没过”这种模糊消息,而是发布一条标准事件:
{"event": "coverage-below-threshold", "pr_id": "PR-789", "current": 72.4, "target": 85.0, "affected_modules": ["button", "form"]}。其他 Agent 只需订阅此事件类型,无需理解测试框架细节。
注意:Protocol Layer 必须人工主导设计。我坚持让某公司技术负责人带着各角色代表,用三天时间白板推演所有协作触点,最终产出 17 份 Role Schema 和 9 份 Contract。AI 模型在此层的作用,仅限于将会议纪要自动转为初版 JSON Schema 草稿——它不能代替人定义协作规则。
2.2 Orchestration Layer:动态决策的神经中枢
这一层才是 AI 真正发力的地方,但它绝不直接操作代码库或服务器。它的唯一职责是:基于 Protocol Layer 的契约,在实时上下文中做出“下一步该由谁、做什么、为什么”的决策。
关键设计原则是“决策可解释、路径可回放”。我们采用混合式决策引擎:
- 规则引擎(Drools):处理硬性约束。例如当 ContractRegistry 中
ui-backend-v2.3.1.json的compatibility_mode字段为strict时,BackendAgent 任何降低接口兼容性的 PR 都会被 Drools 规则直接拦截,返回明确错误码CONTRACT_VIOLATION_STRICT_MODE。 - LLM 编排器(微调后的 CodeLlama-13B):处理软性判断。比如当 DesignAgent 提交新组件,Orchestration Layer 需判断是否需要触发 AccessibilityAgent 进行 WCAG 2.1 检查。这不是简单规则能覆盖的——按钮组件需检查,但纯装饰性图标组件则无需。LLM 编排器接收组件描述、Figma 层级结构、历史检查记录,输出结构化决策:
{"action": "invoke", "agent": "AccessibilityAgent", "reason": "component_type=interactive_button && has_text_content=true", "confidence": 0.92}。 - 状态机(XState):管理协作生命周期。每个协作任务(如“实现登录页”)被建模为状态机:
draft → design_review → backend_contract_signing → implementation → qa_validation → production_release。Orchestration Layer 不执行动作,只驱动状态迁移。当 BackendAgent 成功签署合约,状态机自动从design_review迁移到backend_contract_signing,并广播CONTRACT_SIGNED事件。
实测中最大的坑是 LLM 编排器的“幻觉决策”。我们强制要求所有 LLM 输出必须附带evidence_chain字段,记录其推理依据:"evidence_chain": ["design_doc_v3.2.md 第 4.1 节:'所有表单控件必须支持键盘导航'", "accessibility_guideline_v1.7.pdf 第 2.4.3 条:'按钮组件属于表单控件范畴'"]。这使得每次决策都能被人工审计,也倒逼团队持续完善 Protocol Layer 的文档颗粒度。
2.3 Execution Layer:可信动作的肌肉系统
这是最接近传统开发者的层面,但它彻底抛弃了“脚本即一切”的思维。Execution Layer 的每个模块,都必须通过 Protocol Layer 的契约认证才能接入系统。
- Agent Runtime:不是通用沙箱,而是按角色定制的受限执行环境。FrontendAgent 的 Runtime 预装了 TypeScript 5.0、ESLint v8.50、Storybook v7.0,但禁止访问网络(防止偷偷调用外部 API);BackendAgent 的 Runtime 则预装了 Swagger Codegen、Postman Collection Runner,但禁止写入生产数据库。所有环境均通过 Dockerfile 声明,版本锁定到 patch level。
- Action Verifier:每个 Agent 执行完动作后,必须提交可验证的产物。FrontendAgent 提交 PR 时,除代码外还需附带
storybook-snapshot.html(静态渲染快照)和a11y-report.json(axe-core 扫描报告);BackendAgent 提交接口变更时,必须提供openapi-diff.json(与上一版 spec 的结构化差异)和contract-compliance.log(本地 contract-validator 运行日志)。 - Human-in-the-loop Gateway:所有高风险动作必须经人工确认。比如当 Orchestration Layer 决定回滚线上版本,Execution Layer 不会直接执行
kubectl rollout undo,而是生成带影响分析的确认卡片(含回滚后预计影响的用户数、核心指标波动预测、替代方案建议),推送给值班 SRE。只有收到明确APPROVE指令,才执行后续动作。
这种分层不是理论空谈。在模拟项目X中,Protocol Layer 的 Schema 定义花了 12 人日,Orchestration Layer 的规则+LLM 微调花了 28 人日,而 Execution Layer 的 Runtime 开发仅用了 9 人日——因为大部分工作已由 Protocol 层的严谨定义所覆盖。真正的工程难点,永远在“定义问题”而非“解决问题”。
3. 落地攻坚:从第一个可运行的协作闭环到规模化推广的四个生死关
很多团队卡在“概念验证”阶段,不是技术不行,而是低估了 Agency Agents 对现有协作文化的冲击力。我总结出四个必须闯过的关卡,每个都对应一个真实踩过的坑:
3.1 关卡一:信任建立关——让第一个 Agent “说人话”而非“说模型话”
初期最致命的诱惑,是让 Agent 直接生成代码。某团队曾让 FrontendAgent 根据设计稿自动生成 React 组件,结果产出的代码充斥着// TODO: fix accessibility注释,且 Storybook stories 里全是占位符。这反而摧毁了团队对系统的信任。
正确做法是:首个落地的 Agent 必须只做“翻译”和“校验”,不做“创造”。我们选择从 TestAgent 入手:
- 它接收 BackendAgent 提交的 PR,自动解析其修改的 controller 文件;
- 调用 Protocol Layer 中定义的
test-coverage-rules.json,确认新增接口是否在test_plan.md中有对应测试用例条目; - 若缺失,则生成标准格式的 Issue:
[AUTO] Missing test coverage for POST /api/v2/login (PR-456) —— Please add test case in test_plan.md section 3.2.1 and reference this issue.
这个 Agent 不写一行测试代码,只做契约符合性检查。但它带来的价值是立竿见影的:测试同学不再需要手动核对 PR 修改点与测试计划,每天节省 1.5 小时;更重要的是,它用无可辩驳的事实告诉团队:“系统不是来抢饭碗的,是来帮你们守住底线的。”
实操心得:首个 Agent 的成功标准,不是“功能多强大”,而是“团队成员是否愿意主动引用它的输出作为沟通依据”。当某次站会上,后端同学指着 TestAgent 生成的 Issue 说“这个我确实漏了,马上补”,你就通关了。
3.2 关卡二:权责界定关——明确每个 Agent 的“决策边界”与“兜底责任”
Agency Agents 最易引发混乱的,是权责模糊。某次迭代中,DesignAgent 提交了新图标,BackendAgent 认为图标尺寸不符合性能规范,拒绝签署合约;而 FrontendAgent 却已开始基于该图标开发。三方在群里争论“到底谁该负责图标优化”,系统陷入死锁。
根源在于 Protocol Layer 缺少清晰的权责矩阵。我们紧急补充了role-responsibility-matrix.json:
| 动作类型 | DesignAgent | BackendAgent | FrontendAgent | 兜底 Agent |
|---|---|---|---|---|
| 图标文件格式转换(SVG→WebP) | ✅ 提供源文件 | ❌ 不处理 | ❌ 不处理 | AssetOptimizationAgent |
| 图标尺寸合规性校验 | ❌ 不校验 | ✅ 校验并反馈 | ❌ 不校验 | MentorAgent(若连续2次争议) |
| 图标加载性能优化 | ❌ 不处理 | ❌ 不处理 | ✅ 实现懒加载 | PerformanceAgent |
关键突破点是引入“兜底 Agent”机制。当两个 Agent 在某项职责上产生不可调和的分歧(如连续三次协商失败),系统自动触发 MentorAgent,它不强行裁决,而是生成一份《争议分析简报》:列出双方依据的 Protocol 条款、历史类似案例的处理方式、本次争议对下游环节的潜在影响量化评估(如延迟上线 2 天,影响 A/B 测试周期)。这份简报成为人工决策的坚实基础,而非模糊的“大家商量着办”。
3.3 关卡三:渐进集成关——如何让 Agency Agents 与现有 Jira/GitLab/Slack 共存而不撕裂工作流
强行替换现有工具是自杀行为。我们的策略是“寄生式集成”:Agency Agents 不接管任何工具,只作为“增强层”注入现有工作流。
- Jira 集成:不创建新 Issue 类型,而是在现有 Bug/Task Issue 的 Description 区域,自动追加
Agency Insights区块。当 TestAgent 发现缺陷,它不新建 Issue,而是更新原 Issue 的Agency Insights字段:{"root_cause": "missing_null_check_in_payment_service", "affected_agents": ["BackendAgent", "PaymentServiceAgent"], "suggested_fix": "add_validation_before_call_to_third_party_api"}。 - GitLab 集成:不接管 MR 创建,而是在 MR 描述末尾自动追加
Agency Contract Status表格:
| 合约名称 | 签署状态 | 最后更新 | 问题摘要 |
|---|---|---|---|
| ui-backend-v2.3.1.json | ✅ 已签署 | 2024-03-15 14:22 | - |
| payment-service-v1.0.0.json | ⚠️ 待审核 | 2024-03-15 10:08 | BackendAgent 请求增加 retry_count 字段 |
- Slack 集成:不建新频道,而是在现有
#dev-ops频道中,用特定前缀发送消息:[AGENCY ALERT] Contract 'payment-service-v1.0.0.json' requires review by BackendAgent (PR-789)。所有消息都带跳转链接,直达 GitLab MR 或 Jira Issue。
这种集成方式让团队零学习成本。开发者甚至感觉不到系统存在,直到某天发现:以前要手动查 3 个地方的信息,现在一眼就能在 MR 描述里看到全部;以前要等测试同学口头反馈,现在 Jira 里自动更新了根因分析。系统成了空气般的存在——这才是最好的集成。
3.4 关卡四:价值度量关——用什么指标证明 Agency Agents 值得投入
老板们最关心的永远是 ROI。我们摒弃了“Agent 调用次数”“AI 准确率”这类虚指标,聚焦三个可量化、可归因、业务方认账的硬指标:
- 协作断点平均修复时长(MTTR-Collab):定义“协作断点”为:因角色间信息不对称、契约不明确、责任不清导致的阻塞事件(如“后端等前端接口文档”“测试等后端环境”)。统计系统上线前后,此类事件从发生到解决的平均耗时。在模拟项目X中,MTTR-Collab 从 18.2 小时降至 3.7 小时,降幅 79.7%。
- 跨角色返工率(Cross-Role Rework Rate):计算因上游角色交付物不符合下游契约,导致下游必须返工的 PR 占比。例如前端按旧接口开发,后端改接口后前端重写。系统上线后,该比率从 22.3% 降至 4.1%。
- 协作协议完备度(Contract Coverage Score):对 Protocol Layer 中定义的 17 份 Role Schema 和 9 份 Contract,逐条检查其在实际协作中的触发率与履约率。例如
ui-backend-v2.3.1.json在 100 次相关协作中,被准确触发 98 次,其中 95 次双方成功签署。初始得分为 68%,三个月后提升至 92%。
这三个指标全部嵌入团队周会看板,且与季度 OKR 挂钩。当 MTTR-Collab 连续两月低于 4 小时,团队获得额外创新实验预算——这才是驱动规模化推广的真实燃料。
4. 避坑指南:那些没写在论文里、但会让你项目夭折的 7 个实战陷阱
Agency Agents 的落地,90% 的失败源于对“人”的因素预估不足。以下是我在七个项目中亲手踩过、或亲眼目睹团队深陷的七个致命陷阱,每个都附带可立即执行的规避方案:
4.1 陷阱一:用“AI 能力”替代“领域知识”,导致契约定义失效
现象:团队花大力气微调 LLM,却让 DesignAgent 去解析 Figma 文件,结果它把设计师随手标注的// TODO: make this responsive当成正式需求,生成了错误的响应式规则。
根源:Protocol Layer 的契约定义,必须基于团队真实的、已沉淀的领域知识,而非 AI 的“常识”。Figma 插件导出的 JSON 中,comments字段是设计师的私人笔记,components字段才是正式交付物。
规避方案:所有 Protocol Schema 的字段来源,必须标注明确出处。例如在design-token.jsonSchema 中,spacing字段的source属性必须写为"Figma Plugin Export > components > styles > spacing",而非"Figma file comments"。我们开发了一个轻量工具schema-provenance-checker,在每次 Schema 提交时自动扫描,若发现未标注source或source指向非权威位置,CI 直接失败。
4.2 陷阱二:忽略“人类认知带宽”,让 Agent 过度输出
现象:Orchestration Layer 为每个 PR 生成长达 2000 字的决策分析报告,包含所有中间推理步骤。开发者直接忽略,或抱怨“信息过载”。
根源:人类在协作中需要的是“行动信号”,不是“推理过程”。一份好的 Agency 输出,应遵循“3 秒原则”:扫一眼就能知道该做什么、为什么重要、风险在哪。
规避方案:强制所有 Agent 输出遵循TL;DR结构:
[TL;DR] Action required: Update interface-contract.json to add 'retry_count' field. [Why] BackendAgent needs it for third-party API resilience (per SLO-2024-07). [Risk] Without it, payment failures may spike during network latency > 200ms. [Reference] Contract 'payment-service-v1.0.0.json' Section 4.2我们在 Execution Layer 的 Runtime 中内置了tl-dr-generator模块,任何 Agent 的原始输出,都必须经此模块压缩后才能发布。它不是简单删减,而是用预设模板提取关键要素。
4.3 陷阱三:将“自动化”等同于“无人值守”,导致关键环节失控
现象:系统自动批准所有低风险 PR,结果某次因 CI 环境配置漂移,导致一个明显有 bug 的 PR 被合并,线上支付失败。
根源:Agency Agents 的终极目标是“增强人类判断”,不是“取代人类判断”。某些决策点,必须保留人工闸门。
规避方案:定义“不可自动化决策点”清单,并写入 Protocol Layer。例如:
- 所有涉及支付、用户隐私、核心数据模型变更的 PR;
- 所有导致 MTTR-Collab 连续上升的同类问题第三次出现;
- 所有 Orchestration Layer 的 LLM 决策置信度 < 0.85 的事件。
这些点触发时,系统不执行动作,而是生成HumanGate事件,推送到 Slack 并邮件通知指定值班人。我们甚至为HumanGate设计了“超时熔断”:若 15 分钟内无响应,自动升级至二级值班人,并暂停相关协作流。
4.4 陷阱四:忽视“协议演化成本”,导致 Schema 版本爆炸
现象:团队为适配新需求,每周发布 3-5 个新版本的interface-contract.json,很快出现v2.3.1-alpha,v2.3.1-beta,v2.3.1-rc1等混乱版本,开发者无所适从。
根源:Protocol Layer 的演化,必须像 API 版本管理一样严肃。没有演化策略的契约,就是一张废纸。
规避方案:实施严格的语义化版本控制(SemVer)与契约冻结期:
- 主版本号(MAJOR):不兼容变更(如删除必填字段),需全团队共识,每季度最多 1 次;
- 次版本号(MINOR):向后兼容的新增(如增加可选字段),需相关角色代表评审,每月最多 2 次;
- 修订号(PATCH):纯文档修正或 typo 修复,可随时发布。
更重要的是“冻结期”:每次 MAJOR 或 MINOR 发布后,旧版本契约进入 30 天冻结期,期间所有新 PR 必须同时满足新旧两版契约,确保平滑过渡。我们用contract-version-auditor工具自动检测 PR 是否符合冻结期要求。
4.5 陷阱五:用“技术先进性”掩盖“协作本质退化”
现象:团队自豪地展示“我们的系统有 12 个 Agent”,但实际协作中,开发者反而更频繁地绕过系统,直接私聊解决问题。
根源:Agency Agents 的成功,不在于 Agent 数量,而在于它是否让“按契约协作”比“私下沟通”更省力、更可靠、更有保障。
规避方案:将“绕过系统率”(Bypass Rate)作为核心健康指标。在 GitLab MR webhook 中埋点,统计开发者手动添加@frontend等提及的频率;在 Slack 中监听DM消息中出现interface、contract、PR-等关键词的频次。当 Bypass Rate 连续两周 > 15%,系统自动触发CollaborationHealthCheck流程:Orchestration Layer 分析最近 50 次绕过事件,生成《绕过根因报告》,指出是哪个契约太难遵守、哪个 Agent 响应太慢、哪个通知渠道不及时,并给出优化建议。
4.6 陷阱六:低估“上下文同步成本”,导致 Agent 决策失焦
现象:DesignAgent 提交新组件,Orchestration Layer 却基于过时的ui-backend-v2.2.0.json做决策,因为 Contract Registry 的缓存未及时刷新。
根源:Agency Agents 的决策质量,100% 依赖上下文新鲜度。分布式系统中,缓存一致性是隐形杀手。
规避方案:采用“事件驱动的上下文同步”而非“轮询拉取”。Protocol Layer 的每个 Schema 和 Contract 文件,都绑定一个context-version字段。当任何文件更新,系统发布CONTEXT_UPDATED事件,携带file_path和new_version。所有 Agent Runtime 启动时订阅此事件,收到后立即拉取最新版本并热重载。我们甚至为关键契约(如ui-backend-v2.3.1.json)设置了context-ttl: 300(5 分钟),超时未收到更新事件则主动触发健康检查。
4.7 陷阱七:将“落地”等同于“上线”,忽视“习惯养成期”
现象:系统上线首周,所有指标光鲜亮丽;第二周起,开发者开始手动关闭 Agent 通知,第三周,Orchestration Layer 的调用量断崖下跌。
根源:改变人的协作习惯,需要比技术部署更长的适应期。系统上线只是起点,真正的挑战是让新契约成为肌肉记忆。
规避方案:设计为期 6 周的“协作习惯养成计划”:
- 第 1-2 周:所有 Agent 处于“观察模式”,只生成建议不执行动作,每日晨会分享 3 个典型建议案例;
- 第 3-4 周:开启 3 个核心 Agent(TestAgent、ContractAgent、MentorAgent)的“半自动模式”,执行动作但需人工二次确认;
- 第 5-6 周:全面启用,但设置“习惯巩固期”,系统自动识别开发者高频操作(如每天 3 次手动查 Contract),推送定制化快捷指令(如
/agency check-contract PR-789)。
我们甚至为每位开发者生成《个人协作健康报告》,显示其“按契约协作率”、“首次响应时效”、“绕过系统次数”等维度,与团队均值对比。这不是考核,而是帮助每个人看清自己的协作模式变化。
5. 未来演进:当 Agency Agents 开始反向塑造开发团队的能力模型
Agency Agents 的终极形态,不是成为一个更强大的工具,而是成为开发团队的“协作操作系统”。它正在悄然重塑我们对“开发者能力”的定义。
过去,我们看重“编码能力”“算法能力”“架构能力”;未来,“契约定义能力”“上下文建模能力”“人机协同调试能力”将成为核心竞争力。某导师在指导 A 同学时,不再问“这个接口怎么实现”,而是问:“如果让你为这个接口定义一份 BackendAgent 的 Role Schema,你会包含哪些必填字段?为什么timeout_ms必须是整数而非浮点数?它的取值范围依据哪条 SLO?”
这种转变已在发生。在模拟项目X的季度复盘中,团队自发提出了两个新需求:
- Contract Diff Explorer:一个可视化工具,能对比任意两个版本的
interface-contract.json,不仅显示字段增删,更用颜色标注“兼容性影响等级”(绿色=无影响,黄色=需通知下游,红色=必须下游同步修改); - Collaboration Replay:当一次协作失败(如 MTTR-Collab > 24 小时),系统能回放整个决策链:DesignAgent 的输入、ContractAgent 的校验日志、BackendAgent 的拒绝理由、MentorAgent 的分析简报,甚至包括当时 Slack 中相关的 5 条消息。这不再是甩锅大会,而是精准的协作病理切片。
Agency Agents 正在把“如何高效协作”这门玄学,变成一门可教学、可练习、可评估的显性学科。它不承诺消灭所有冲突,但确保每一次冲突,都成为加固协作契约的机会。当某天,新入职的开发者第一周的任务不是写 Hello World,而是参与修订frontend-agent-v1.0.0.json的error-handling-rules章节时,你就知道,这场重构已经深入骨髓。
我在实际使用中发现,最有效的启动方式,永远不是从“我们要建一个 Agency 系统”开始,而是从“我们上周卡在哪个协作节点上?那个节点的契约,能不能用三句话写清楚?”这样一句具体问题切入。系统是结果,不是起点;契约是语言,不是枷锁;而 Agency,终究是让每个开发者,都成为自己协作流的首席架构师。