Skip to content

1 人 + N Agent:面向产品的智能组织范式 ​

这不是一篇“未来公司”想象,而是从三类系统逐步推出来的工程模型:AI Town 的持续世界、MiroFish 的群体与图谱、戏剧工坊的导演-角色协同。它最终指向的不是短剧,而是产品研发组织。

1. 推导链 ​

三篇来源分别解决了三个问题:

来源它解决的问题留下的设计
AI Town角色如何在持续状态里活动服务端事实、时间推进、角色记忆
MiroFish多个角色如何围绕同一事件产生反应图谱、事件、关系和信息边界
戏剧工坊角色如何在导演调度下协同演出调度、角色职责、反应、旁白、收尾

把这三个部分迁移到产品研发后,得到的不是“更多 AI 聊天”,而是一套组织模型:

text
1 个决策者
  +
N 个岗位 Agent
  +
任务图
  +
产物库
  +
确定性门禁
  +
可追溯记忆

2. 为什么多 Agent 不能只是一个群聊 ​

一个群聊可以让很多模型同时发表意见,但它没有自动解决以下问题:

text
谁负责?
谁可以修改?
哪份文件是正式版本?
什么条件算完成?
失败以后谁返工?
谁批准进入下一阶段?
群聊式协作产品组织式协作
消息是主要产物文件、代码、报告是产物
角色靠 prompt 区分角色有权限与交付契约
“完成”由模型自述“完成”由门禁证明
上下文越积越长状态写入结构化账本
讨论可以无限延长任务有依赖、超时和出口

Agent 组织的最小单位不是一条消息,而是一项带验收条件的任务。


3. 组织总图 ​

这张图里,人不负责每一步执行。人的位置是:

text
确定目标 → 冻结关键决策 → 处理不可验证的取舍 → 批准发布

Agent 负责:

text
调研、拆解、设计、实现、检查、记录、返工、汇报

4. 角色不是人设,而是岗位契约 ​

戏剧工坊里,角色有秘密、目标和说话方式。产品 Agent 还需要增加:

yaml
name: linux-driver-agent
role: 负责设备树和 Linux 驱动
inputs:
  - frozen_requirements
  - hardware_pinmap
  - module_contract
can_read:
  - requirements/*
  - architecture/*
  - hardware/pinmap.csv
can_write:
  - linux/dts/*
  - linux/driver/*
must_produce:
  - dts.patch
  - driver.patch
  - build.log
  - test-report.md
gates:
  - dtc_compile
  - cross_compile
  - unit_test

岗位契约的五个字段 ​

字段回答的问题
输入这个 Agent 可以依据什么工作?
权限它可以读、改、执行什么?
产物它必须交付什么文件?
门禁什么条件下算通过?
边界哪些决策必须交给人或上游角色?

人设让 Agent 更像一个人,岗位契约让它成为一个可用的岗位。


5. 调度:从导演循环到任务 DAG ​

戏剧工坊的导演每一集决定下一拍。产品研发不能完全照搬,因为产品任务有并行依赖:

调度器每次只做三类判断:

状态调度行为
依赖未完成不启动,显示阻塞原因
依赖满足分配 Agent、锁定产物目录
产物提交运行门禁,决定通过或返工

因此可以把两种调度方式分开:

场景调度方式
戏剧导演按冲突和角色压力安排下一拍
产品研发调度器按依赖和门禁安排下一任务

它们可以共享记忆、角色和审查机制,但不能用同一个状态机硬套。


6. 产物必须是一等公民 ​

产品协作的基本记录不是聊天,而是 Artifact:

json
{
  "artifact_id": "artifact_20261022_0042",
  "type": "architecture",
  "path": "architecture/system.md",
  "version": 3,
  "created_by": "system-architect-agent",
  "based_on": ["prd-17", "hardware-pinmap-04"],
  "status": "review_pending",
  "sha256": "...",
  "checks": ["traceability:pass", "interface:pass"]
}

产物生命周期 ​

text
working
  ↓ submit
review_pending
  ├─ reject → working
  └─ approve
       ↓ gate
verified
  ↓ 人审批
accepted / released

这套做法来自戏剧工坊的剧本/分镜导出,但在产品研发里需要更严格:

  • 每份架构必须对应需求来源;
  • 每段代码必须对应模块契约;
  • 每份测试报告必须对应测试版本;
  • 每次发布必须绑定通过过的产物摘要。

7. 门禁比模型能力更重要 ​

Agent 可以写初稿,但不能自己宣布“正确”。

软件产品 ​

text
需求 → 测试用例 → 实现 → 编译 → 单元测试 → 集成测试 → 发布

机器人和嵌入式产品 ​

text
需求
  ↓
器件与电源预算
  ↓
引脚分配 / 总线协议
  ↓
设备树 / MCU 配置
  ↓
驱动 / 应用 / 测试工具
  ↓
交叉编译
  ↓
回环 / HIL / 整机测试
  ↓
烧录与验收
门禁检查方式适合自动化吗
引脚冲突表格规则是
电源预算计算是
DTS 语法dtc是
固件编译工具链是
协议回环测试程序是
代码质量静态检查 + 评审部分
产品方向人的判断否
机械安全实机/HIL部分

Agent 组织的可靠性,取决于它能不能被机器拒绝。

这也是为什么机器人和嵌入式产品特别适合建立 Agent 协作:许多结果可以通过编译、测量、回环和整机验收判断,而不是靠模型自评。


8. 记忆与权限:共享知识不等于全知 ​

AI Town 使用向量记忆回答“哪些历史内容和现在相似”;MiroFish 使用图谱记录实体、关系和事件;戏剧工坊进一步把“谁在场、谁知道什么”做成了显式关系。

产品组织可以沿用同样的模型:

text
Agent ──[:CAN_READ]──> Artifact
Agent ──[:CREATED]────> Artifact
Decision ──[:BASED_ON]─> Artifact
Task ──[:BLOCKED_BY]───> Gate

三类记忆 ​

记忆内容边界
个人工作记忆当前任务、最近结果、未解决问题只给执行 Agent
项目事实已确认接口、约束、测试结果按项目授权
决策账本ADR、取舍、审批与版本对相关角色可读

共享记忆的目标不是让所有 Agent 全知,而是让信息可追溯、可授权、可撤回。


9. 人的审批边界 ​

人不应审批每一行代码,也不能完全退出循环。

阶段人的职责
方向选目标、定优先级、接受市场风险
需求冻结范围与验收标准
架构处理不可逆的技术取舍
实现查看异常、处理阻塞,不逐行代劳
高风险操作烧录、发布、删除、外部发送必须确认
里程碑判断是否进入下一阶段
text
人审批“要不要做、接受什么风险”
Agent 负责“怎么做、如何验证、如何留下证据”

这比“一个人管理一群 AI 员工”更准确:人是边界与决策的所有者,不是所有工作的瓶颈。


10. 一个可落地的产品闭环 ​

第一阶段不应该做“完整 AI 公司”,而应该选一个小模块跑通:

text
需求 Agent → 实现 Agent → 评审 Agent → 编译 / 测试门禁

只有这个闭环真实通过,才值得继续增加调研、架构、项目管理和跨节点 Agent。


11. 边界:哪些事情不适合交给 Agent ​

  • 产品是否值得做;
  • 客户真正愿意付钱的需求是什么;
  • 安全风险是否可以接受;
  • 供应链是否可靠;
  • 机械动作是否可能伤人;
  • 是否烧录生产设备;
  • 是否发布给客户;
  • 是否删除不可恢复数据。

这些任务可以由 Agent 做资料整理和方案比较,但最终需要人确认。

12. 结论 ​

1 人 + N Agent 不是“让一个人拥有很多聊天机器人”,而是建立一套新的产品协作结构:

text
一个人负责目标、约束、取舍和审批
N 个 Agent 负责岗位工作
任务 DAG 负责调度
产物库负责交付
门禁负责验证
记忆图谱负责来源与权限

它从 AI Town 学到持续状态,从 MiroFish 学到事件和图谱,从戏剧工坊学到角色协同;真正迁移到产品研发后,最重要的变化不是 Agent 变多,而是:

每个 Agent 都必须有清楚的职责、可检查的产物和明确的退出条件。

这篇里有不清楚的地方,或者想聊类似的东西?私信我 →