Agent 如何成为一个项目的专家?

Agent 如何成为一个项目的专家?
大语言模型掌握了大量知识却不一定了解眼前的项目。它可能会写代码、设计数据库、配置服务器但它不知道这个项目为什么建立功能为什么这样设计哪些决定来自甲方哪些方案已经尝试失败项目目前进行到哪里下一步准备向什么方向发展。因此通用大模型并不天然是项目专家。它拥有解决问题的能力却不一定知道这个项目真正需要解决什么问题。一、人掌握的不只是项目文件人不只是通过阅读文件了解项目。很多时候人本身就是项目的创造者。产品经理参与了项目目标的确定、功能的设计、方案的取舍和需求的调整项目是在他的持续参与下逐渐形成的。因此他看到一个功能时不只知道它如何运行还知道它为什么存在看到一个临时方案时也知道这是历史妥协还是最终设计。人掌握的是项目的形成过程项目目标 设计意图 决策历史 当前状态 未来方向这些信息不一定完整地保存在代码和文档中。项目文件通常保存的是最终结果而项目创造者还掌握着结果产生的原因。二、Agent 看到的是项目留下来的结果Agent 进入项目以后通常能够看到当前代码项目文档设计文件任务记录测试结果。这些资料可以告诉 Agent“项目是什么”却不一定能够说明“项目为什么成为这样”。如果缺少项目背景Agent 就只能根据局部信息进行猜测。它可能把临时方案当成最终设计把甲方已经确认的功能重新修改也可能再次尝试以前已经失败的方案。问题不一定是 Agent 缺少知识而是它缺少项目环境。它不知道自己在哪里 项目从哪里来 当前处于什么状态 哪些决定不能轻易改变 下一步准备走向哪里Agent 拥有搜索能力却不一定拥有项目坐标。三、从通用 Agent 到项目级 Agent本文把加载了特定项目的目标、环境、状态、设计意图和历史经验能够持续参与项目工作的 Agent称为“项目级 Agent”。“项目级 Agent”不是现有 Agent 体系中的正式分类而是为了区别通用 Agent、一次性任务 Agent 和项目管理 Agent给出的工作性定义。通用 Agent 解决的是一般问题项目级 Agent 解决的是某个具体项目中的问题。两者的区别不一定在模型而在模型获得的环境通用大模型 项目目标 设计意图 当前状态 历史经验 项目级 Agent同一个大模型获得网站项目的目标、结构和设计历史就可以参与网站开发获得论文结构、审稿意见和修改记录就可以参与论文修改。模型没有改变改变的是它进入的项目环境。四、项目级 Agent 是动态形成的专家系统传统专家系统通常把特定领域的知识和判断规则预先写入程序特定知识 固定规则 专家系统项目级 Agent 的形成方式不同。它不需要把所有项目知识永久写入模型而是在进入项目时加载相关环境临时获得针对这个项目的专业能力。因此项目级 Agent 可以理解为一种动态加载项目环境的专家系统。传统专家系统的专业能力被固化在程序中项目级 Agent 的专业能力则来自通用模型与具体环境的结合。这也意味着未来可能不需要为每个项目训练一个独立模型。同一个通用模型可以进入不同项目根据加载的环境形成不同的项目身份。五、项目环境决定 Agent 如何使用知识大语言模型可能已经掌握编程、设计、数据库和部署知识但通用知识不会自动转化为项目能力。Agent 还需要知道哪些知识与当前项目有关当前任务处于什么阶段哪些设计已经得到确认哪些限制来自现实条件什么结果才符合项目目标。项目环境的作用不是向模型重复灌输通用知识而是为这些知识建立坐标。可以把它理解为大模型提供解题能力 项目环境定义具体问题 项目状态确定当前起点 设计意图决定前进方向只有这些部分结合起来Agent 才不只是“会写代码”而是知道应该为这个项目写什么代码。六、项目认知需要从人转移给 Agent人和 Agent 的重要区别在于人往往是项目环境的创造者Agent 则是后来进入这个环境的执行者。产品经理、设计人员和开发者在项目推进过程中逐渐形成了共同的项目认知。如果这些认知只存在于人的记忆中Agent 就只能看到项目留下来的表面结果。要让 Agent 成为项目专家就需要把人的项目认知逐渐转化成 Agent 可以理解的外部信息创造者的项目认知 → 结构化的项目环境 → Agent 加载和理解 → 形成项目专业能力这不仅是资料整理也是项目认知的转移。结语项目级 Agent 可以看作一种动态形成的专家系统。大模型提供通用能力项目环境提供目标、设计意图、当前状态和历史经验使 Agent 获得针对具体项目的专业能力。模型决定 Agent 能不能解决问题项目环境决定它解决的是不是眼前这个问题。这也引出了下一个问题Agent 进入项目时究竟应该先加载什么下一篇《AI 渐进编程》之七Agent 启动时加载什么——智能体的 Boot 过程