多 Agent
并发的代价:谁能同时跑
「看」可以并行:多个搜索同时跑不会冲突。「改」必须排队:两个 Agent 同时改同一个文件会出事。判断一个操作能否并发,关键就一条:它是只读的吗?
可并行 vs 必须串行
可并行(只读操作)
搜索网页
读取文件
查询 API
数据分析
数据库查询
读取笔记
这些操作不修改任何东西,多个同时跑互不影响。10 个 Agent 同时搜索不会冲突。
必须串行(写操作)
写入文件
发送邮件
执行命令
删除资源
支付操作
编辑笔记
这些操作会改变外部状态。两个 Agent 同时改同一个文件 = 数据覆盖、内容丢失。
时间线对比
同一个任务:3 次搜索 + 1 次写入
3 个搜索并行,写入排在最后
0s2s4s6s
总耗时:~4 秒 ✓
判断规则
一条规则判断能否并发:
这个操作执行完,世界有没有变?没变 → 可以并行
这个操作执行完,世界有没有变?变了 → 必须排队
两个「写」操作如果改的是不同的东西(不同文件、不同数据库表)→ 也可以并行
简单说:冲突发生在多个操作修改同一个资源的时候。只要目标不同,写操作之间也可以并行。
并行能省时间,但只有只读类操作才安全,涉及「写」的操作必须排队。设计多 Agent 系统时,第一步就是把工具分成「读」和「写」两类。