#Subagent

🎉 “AI编程的本质是管理上下文” 这句话太有用了,它能解释AI应用的发展过程和未来趋势 如果说LLM是CPU,那么上下文就是内存, 而内存容量是有限的,数据的取舍成为了模型输出质量的关键 ❓ 那上下文这个内存中会存什么?分别该怎么优化? 1️⃣ 系统提示词 优化就是以前提示词工程那套,所以优秀提示词的核心要素必须得安排。但提示词工程已不再新鲜,上下文工程才是热门,所有AI应用都在跟进 2️⃣ 工具列表 上下文信息不足,就需要调用工具去获取,刚开始AI应用只有少量的核心工具(读写文件、执行命令),后来通过MCP扩展了很多外部工具和服务 3️⃣ 文件 (知识库/rag) 问题相关的文档也很重要,Cursor等IDE都会自动将 当前打开的文件、最近打开的文件、问题相关的文件和检索到的关键代码 保存到上下文中 而且,上下文工程会自动管理内存数据,就像内存清理操作一样,没啥用的数据就替换出去,有用的数据就放前面来点,提高权重等等 ❓ 这一切看起来挺好的,为什么cc又搞了个subagent? 随着对话的进行,上下文中的内容越来越多,快要撑爆了! LLM为了回答问题,可能会多次调用工具(例如读文件),工具返回结果+加载的文件内容,不断补充到上下文中,主agent的上下文很容易就快要撑爆了,模型的输出质量开始下降,甚至出现幻觉。 引入subagent可以有效降低主agent的上下文压力,把活分派出去,有些数据就存储到子agent的上下文,这样就可以保证主agent的上下文空间处于总是够用的位置,输出质量就有保障。 n8n引入了 ai agent tool 节点应该也是类似的道理,ai agent as tools,将 子agent 作为 主agent 的 tool,既将任务解耦,又提高整体工作效率