多Agent设计与工程

发布时间:2026/7/13 3:30:49
多Agent设计与工程 最近在参加这个行动营后续会结合课程学到的知识陆续更新AI编程范式转换模型模型的本质无状态函数大语言模型每次调用都是独立无记忆、无状态的三个关键约束无记忆、无决策、无行动本质模型是一个极其强大但完全被动的推理引擎编排器编排器的本质有状态系统Harnesswhile true : 观察——思考——行动——更新状态三个核心能力模型不具备的循环持续运行直到任务完成或用户中断记忆维护对话历史、项目上下文、工具调用结果行动读写文件、执行命令、调用API、与外部系统交互openCode/ claude code/cursor 本质都是编排器都是Harness负责管理状态、调度模型、执行工具、维护上下文提供权限系统和确保运行时安全上下文管理模型上下文窗口有限200k tokensHarness的解决方案自动压缩重注入Harness比模型更重要同一个模型在不同Harness中的表现差距远大于不同模型在同一个harness中的差距。调教Harness的能力 真正的杠杆点扩展补充下RAG vs Claude Agentic Search 核心对比小结编程不再是写代码而是写规范 验证结果编程 设计意图 × 精确表达 × 验证产出模型已经够强差距在你能否把需求说清楚80% 想清楚要什么20% 让 AI 去实现Agent 推理 记忆 行动 各种工程护栏Harness 比模型更重要是你真正的杠杆工具会过时但工程思想不会AI时代最稀缺的是不是会写代码的人而是能够把问题定义好的人能够知道要解决具体事情的人目标比过程更为重要过程完全可以托管给agent。Memory工程什么是MemoryAI的持久化记忆系统工程思想声明式配置优先描述要什么而非怎么做让Agent自己决定最优执行路径可审计、可版本控制、可协作从memory到规范驱动开发SDD层级文件作用项目规范AGENTS.md项目的技术栈、编码规范、架构约束角色规范agents/*.md每个 Agent 的身份、权限、职责能力规范skills/*/SKILL.md每个可复用技能的步骤和输入输出agent.md的6个组成部分项目概述— 一句话说清项目是什么、做什么让 Agent 建立全局认知技术栈— 语言、框架、数据库、测试工具等防止 Agent 推荐错误的技术编码规范— 命名规则、代码风格、禁止项统一团队代码风格项目结构— 目录布局和职责让 Agent 知道代码该放哪里工作流程— 提交规范、分支策略、CI/CD与团队流程对齐特殊约束— 安全要求、性能要求、合规要求等守住底线红线上下文管理策略让Memory更高效分层配置— 根目录 AGENTS.md 放通用规则子目录放特定规则保持精简— 控制在 500 行以内太长反而稀释关键信息优先级明确— 最重要的规则放最前面Agent 注意力有衰减定期维护— 随项目演进更新 Memory过期规则及时清理团队共建— Memory 文件纳入 Code Review 流程团队共同维护规则双向配置—正面的规则和负面禁止的规则需要明确小结 AGENTS.md 项目的 “入职手册” Memory 三层项目规范 → 角色规范 → 能力规范 声明式配置优先写 What, 不写 How Memory 在上下文压缩后会被重新注入 —— 持久生效的秘密角色定义Sub-Agents角色分工核心概念Agent 角色 权限 任务隔离上下文、任务委派为什么要角色分工问题 1上下文爆炸 — 一个 Agent 干所有事Token 飙到 50K信息丢失采集 30 条数据 逐条分析 去重入库 → 后面的指令被遗忘问题 2角色混乱 — AI 分不清现在该采集还是分析采集时顺手改了文件分析时编造了数据问题 3权限泄漏 — 没有边界AI 什么都能做本该只读的操作执行了写入甚至跑了rm -rf问题 4调试困难 — 出了问题不知道是哪个环节结果不对是采集错了分析错了还是整理错了Harness才是AgentLLM只是推理引擎反直觉真相同一个 Claude 模型换不同 Harness能力天壤之别Harness 五大机制① Agentic Loop — while (tool_call) { execute → feed_back → repeat }② 工具权限图 — allowed-tools 白名单系统级硬约束③ 上下文压缩器 — 92% 窗口占用时自动压缩CLAUDE.md 重新注入④ Sub-Agent 隔离边界 — 独立 context window 结果压缩回传⑤ 实时转向队列 — 用户可在 Agent 执行中途注入新指令工程启示如果你还在纠结用哪个模型你问错了问题。10 倍差距来自 Harness怎么管理上下文、约束工具、隔离执行。模型是大宗商品Harness 才是产品。Agent SDK — 把 Claude Code 的 Harness 抽出来给你用pip install claude-agent-sdk / npm i anthropic-ai/claude-agent-sdk上下文隔离 对注意力的分治算法经典分治大问题 → 分成小问题 → 分别求解 → 合并结果Sub-Agent 隔离大上下文 → 分成小上下文 → 分别推理 → 合并摘要注意力压缩比实测子 Agent 内部消耗 50,000 tokens 探索 → 返回 1,500 tokens 摘要压缩比 33:1主 Agent 注意力零损耗Google Research 量化验证arXiv:2512.08296, 2025.12独立多 Agent无隔离 → 错误放大 17.2 倍集中式协调有隔离 → 错误控制在 4.4 倍并行任务性能提升 80.9%但串行推理反而退化 39-70%Token 经济学单 Agent 6 轮对话~180,000 input tokens三 Agent 流水线~138,000 input tokens省 23%决策法则上下文 5K → 别分SP 开销不划算中间输出 500 tokens → 该分注意力已被污染实战mention 和 Task 工具委派 Sub-Agent 有什么区别什么时候用哪种两种方式触发analyzer ... — 带上 analyzer 的角色定义读了 knowledge/raw/分析后直接输出 JSON没写文件organizer ... — 带上 organizer 的角色定义执行了 Write 把 10 个文件写入 knowledge/articles/跟之前 collector 的问题一样 —mention 本质是角色提示注入工具权限没有被真正切掉。分析环节本该只读但我在 analyzer 时其实也有 Write 能力只是没调用整理环节 organizer 的 WebFetch 禁不掉只是没用到。核心收获mention快速切换角色适合简单任务Task 工具创建隔离上下文适合复杂独立任务Agent 之间通过文件协作不通过上下文共享SKILLskill各字段含义Skill不是代码是知识。是方法论框架。Skill vs Sub-Agents vs context:fork 三者关系Sub-Agent — 独立执行上下文需要手动调度知识在对话中临时的Skill — 持久化知识包AI 自动触发知识在文件中永久的Skill context:fork — 两者合体持久知识 自动创建临时子代理--- name: 产品文档校对 trigger: [校对文档, 文案检查, PRD校验] context:fork: true --- # 校对SOP1. 统一公司专属术语、固定格式怎么选→ 需要 AI 自己判断何时用 → Skill→ 需要隔离执行环境 → Sub-Agent→ 需要持久知识 隔离执行 → Skill context:fork类比:Sub-Agent 公司内部专家你要给他交代细节Skill 团队内部的 SOP 手册写一次所有人都能用Skill fork SOP 手册 临时派人去独立执行Superpowers官方标准技能包适用于claude code 等工具git仓库地址https://github.com/obra/superpowers/总结