

我最近尝试做了两个Agent:一个是在工作中给我做年底工作总结的,另一个是我在网络上的数字分身,这里我分别叫它牛马Agent和网络分身Agent。
先说下两个Agent的实现。技术方案完全一样:先把我能找到的内容切片后灌入向量数据库,然后给Agent设置一个身份和简单的背景信息,关键是告诉它需要自行检索向量数据库来完成对话。懂行的同学已经看出来了,其实就是一个Agentic RAG。
这里给大家简单介绍下Agentic RAG ,这是一种智能检索增强生成技术。与传统 RAG 直接用用户问题检索不同,Agentic RAG 让 AI 自主决定检索策略、动态生成查询关键词,并能进行多轮检索和推理,就像一个主动思考的研究助手。
如图是我用n8n快速的牛马Agent 的具体实现:

核心分两个流程
网络分身Agent的实现与牛马Agent一致(不再赘述),区别仅在于向量数据库中存储的数据,以及 System Prompt 差异。牛马Agent主要使用工作相关数据,核心是每周周报,涵盖所有项目进展、思考和总结,总计40来份周报,累计不到 2w 字。而网络分身Agent中,我放入的是我在各个平台的输出内容——博客文章、社交媒体发言、技术分享、个人思考等。数据量方面,有400多篇博客,还有2年多周报中脱敏后的思考总结,累计40万字以上。
无奖竞猜环节:你觉得哪个Agent的问答效果会更好?答案出乎意料——是牛马Agent!没错,就是底层数据量只有网络分身Agent十分之一的那个。
这个我没办法去量化它俩之间之间效果的差异,就从我使用的感受上来说下,我在和牛马 Agent 对话的时候,它给我的答案远超我预期,如果真让它替我去给老板们去做述职总结,它的回答一定比我的更符合老板眼中优秀员工的标准,回答有条有理、逻辑清晰,面对职场灵魂拷问还能保持情绪稳定。反观数字分身Agent,它给我的答案就远不及预期,整个回答就很 AI,虽然它能够引用我写过的内容,但往往缺乏针对性,回答显得泛泛而谈。
然后我就开始思考,究竟是什么导致了两个Agent效果上的巨大差异。思考了两天后,我终于悟了——其实结果本该如此,是我对数字分身Agent抱有了过多不切实际的幻想。我总结起来,其实有以下两大核心因素导致效果的差异。
牛马Agent更像一个"纯职能型"角色——它的定位很明确:帮助我完成年终总结。因为任务单一,它只需要关注工作相关的内容,检索和回答都围绕着一个清晰的目标展开。由于牛马Agent的角色定位非常明确,上下文也不多,所以我在实现时甚至直接将所有周报内容提炼后放到了System Prompt里,而知识库只负责承载一些细节。 另外一点,大家在提问的时候,由于知道它是牛马 Agent,所以提问的问题也没有脱离它的能力范畴。
相比之下,网络分身Agent的定位是"代表你本人",需要回答各种问题——技术问题、人生感悟、个人观点等。一方面,Agent的System Prompt只能给出模糊的身份定位;另一方面,用户提问时不会刻意限制问题范围。这导致Agent需要应对的场景过于宽泛,检索效果自然大打折扣。
信息的连续性: 牛马Agent的数据大部分围绕具体项目展开,工作事项之间有明确的延续性和因果关系。比如一个项目从立项、开发、测试到上线,整个过程在周报中形成了完整的叙事链条。这种连续性让Agent在回答"某个项目进展如何"时,能够串联起多个时间点的信息,给出有逻辑的完整答案。相比之下,网络分身Agent的博客内容大多是独立的观点和思考,每篇文章都是一个完整的闭环,文章之间缺乏明确的关联性。这导致在回答需要综合多个观点的问题时,Agent难以建立有效的信息关联。
信息聚焦程度: 工作周报的内容高度聚焦——每一条记录都围绕着明确的目标(项目交付、问题解决、进度推进)。这种聚焦性使得检索时的语义匹配更加精准,因为查询意图和文档内容的主题高度一致。而博客内容的主题范围极其广泛,从技术深度剖析、到职场感悟、再到生活思考,甚至一篇文章内就可能横跨多个话题。这种发散性在检索时会引入更多干扰,降低了召回内容的针对性。
信息的密度: 周报数据经过了刻意的结构化处理,每条信息都有明确的上下文(时间、项目、进展状态)和核心要点。信息密度高,冗余少,每个句子都承载着明确的事实。这种高密度让向量检索时的语义匹配更准确,因为查询意图和文档结构高度对齐。博客内容则往往包含大量修辞、情绪表达、背景铺垫等"软信息"。这些内容虽然让文章更有可读性和感染力,但在检索时会稀释核心事实的权重,导致召回结果的相关性下降。
以上就是我对这两个 Agent 的思考和总结。回顾整个实践过程,这是两次非常有价值的尝试——牛马 Agent 超出预期的表现让我看到了 Agent 在垂直场景的巨大潜力,而网络分身 Agent 虽未达预期,却恰恰暴露了当前技术在处理复杂、开放场景时的局限性。最后总结几点核心认知: