Problem
在使用 Qoder CN 的过程中,发现 general-purpose agent 派发子 agent(subagent)时效率很低。子 agent 经常进行大量不必要的文件搜索和探索,读取大量无关内容,浪费大量时间和 token。
具体表现:
- 子 agent 被派发后,不是直接执行明确的任务,而是先做大量探索性搜索
- 即使主 agent 已经在 brief 里给出了明确的文件路径和任务范围,子 agent 仍然会自己去"发现"其他相关文件
- 一个本该几分钟完成的子任务,因为反复搜索和读取无关文件,耗时成倍增加
- 多 agent 并行时,这种低效被放大,整体效率远低于预期
Solution
- 让主 agent 在 brief 中能更严格地限定子 agent 的搜索范围,子 agent 不应超出指定范围自行探索
- 子 agent 应该有"只执行不探索"模式——当任务足够明确时,直接执行,不做额外搜索
- 考虑给子 agent 设置探索深度/广度的上限,避免无限发散
- 或者提供更轻量的子 agent 类型(比如 execute-only agent),不做探索,只做明确指令
Use Case
多 agent 并行开发场景:主 agent 拆分任务后派发给多个 general-purpose 子 agent,每个子 agent 负责明确的文件修改。理想情况是每个子 agent 直接打开指定文件、改完、返回结果。实际情况是子 agent 花大量时间在"理解上下文"和"探索相关代码"上,而这些上下文主 agent 已经提供过了。
Priority
Medium - Important improvement
Additional Info
这个问题在复杂项目中尤其明显,文件数量多、依赖关系复杂时,子 agent 的探索成本急剧上升。希望能优化派发机制,让多 agent 协作真正高效。