目录:
上周帮一个客户上线了一个"智能周报助手"。需求方的原话是:“帮我们的销售团队自动生成周报。”
听起来很简单。但往下聊五分钟,你会发现这句话背后藏着至少二十个未定义的决策:周报包含哪些维度?数据从哪来?不同区域的销售负责人关注点一样吗?“好的周报"到底长什么样?客户自己也说不清。
最终的解决方案不是一个固定模板的报表工具,而是一个 Agent——它能根据每个销售负责人的历史偏好、当周数据特征、团队上下文,动态决定周报的结构、重点和措辞。
这件事让我重新思考一个问题:Agent 的核心价值到底是什么? 不是"自动化”,不是"降本",而是——它是目前唯一能规模化解决"复杂个性化需求"的技术方案。
一、传统软件的根本假设:用户知道自己要什么
回想一下我们过去二十年做软件的方式:
- 产品经理收集需求
- 需求被翻译成 PRD(产品需求文档)
- PRD 被翻译成代码
- 代码被部署上线
- 用户使用
这个流程有一个隐含的、致命的假设:用户能够清晰地表达自己的需求。
在标准化场景下,这个假设成立。买机票、转账、查快递——这些需求足够清晰、足够通用,可以被穷举、被模板化。传统软件(包括 SaaS)擅长的正是这类需求:把一个明确的流程固化成代码。
但现实世界中,大量需求是模糊的、个性化的、上下文依赖的。这类需求有三个特征:
1. 用户说不清楚自己要什么
“帮我分析一下这个月的数据,找出问题。"——什么叫"问题”?同比下降 5% 算问题吗?环比波动算问题吗?某个渠道的转化率异常算问题吗?用户不知道,他需要你"看看"之后告诉他。
2. 每个用户要的不一样
同样是"写一份竞品分析",市场总监想看品牌定位和传播策略,产品经理想看功能对比和用户反馈,CEO 想看市场份额和融资动态。需求的"形状"因人而异。
3. 同一个用户在不同时刻要的也不一样
周一晨会前想要简洁的数据摘要,周五复盘时想要深度的趋势分析。同一个人、同一个任务,因为上下文不同,“好的输出"的定义也在变。
这三个特征加在一起,构成了一个传统软件无法逾越的鸿沟:你没法用有限的 if-else 去覆盖无限的个性化组合。
二、为什么不是搜索?不是推荐?不是 Low-Code?
在 Agent 之前,业界已经尝试过很多方案来应对个性化需求:
搜索引擎:用户必须知道问什么
搜索解决的是"我知道我要什么,帮我找到它”。但很多时候用户连关键词都给不出来——他不知道那个概念叫什么,不知道该从哪个角度切入。搜索要求用户先完成需求的形式化,这本身就是最难的一步。
推荐系统:系统猜你要什么
推荐系统通过历史行为推断偏好,本质上是"基于过去预测未来"。但它解决不了全新的、临时的、上下文敏感的需求。你今天突然想研究一个从没接触过的领域,推荐系统帮不了你——它只能推荐你"更多类似的"。
Low-Code / No-Code:用户自己搭
Low-Code 的理念是"把构建能力交给用户"。但这要求用户具备系统性思维,能把模糊的需求拆解成流程、字段、规则。实际情况是,大部分用户连需求都说不清,更别说把它翻译成工作流了。Low-Code 降低的是编码门槛,但没有降低需求定义的门槛。
这三者的共同盲区
它们都假设需求是已知的——要么用户知道(搜索),要么系统能猜到(推荐),要么用户能自己定义(Low-Code)。
但真实世界中最有价值的需求往往是:用户有一个模糊的意图,需要通过交互逐步具象化。
这正是 Agent 的主场。
三、Agent 为什么能解决"说不清"的问题
Agent 和传统软件的根本区别不在于它"更智能",而在于它的工作模式不同:
1. Agent 能处理模糊输入
传统软件需要结构化输入:下拉框、表单、固定参数。用户的意图必须先被翻译成系统能理解的格式。
Agent 直接接受自然语言——包括模糊的、不完整的、甚至自相矛盾的自然语言。“帮我看看最近业务有没有什么不对劲的”,这种输入对传统系统来说是无效的,但 Agent 可以工作。
2. Agent 能通过对话澄清需求
这是最关键的能力。当用户的需求不清晰时,Agent 不是硬猜——它会追问。
用户:帮我分析一下上个月的数据
Agent:好的,我看到上个月有销售、运营、客服三个维度的数据。
您最关注哪个方向?还是想要一个全面的概览?
用户:主要看销售吧,最近感觉增长有点乏力
Agent:明白。我来重点看销售数据的增长趋势。
对比维度上,您更关注同比(去年同期)还是环比(上个月)?
用户:都看看吧,另外帮我看看是哪些渠道在拖后腿
# generated by hugo's coding agent
通过两三轮对话,一个模糊的"帮我分析数据"就变成了一个清晰的任务:“对比同比和环比的销售趋势,按渠道拆解,识别增长放缓的原因”。
这个澄清过程本身就是价值。 很多时候用户不是不愿意说清楚,而是在对话中才逐渐意识到自己真正关心的是什么。
3. Agent 能根据上下文动态决策
传统软件的逻辑是预定义的:if 条件 A then 执行 B。所有分支都必须在开发时想好。
Agent 的"逻辑"是动态生成的。它会根据:
- 用户是谁(角色、偏好、历史交互)
- 当前上下文(时间、数据特征、对话历史)
- 任务目标(通过对话澄清后的具体需求)
实时决定下一步做什么、输出什么格式、强调什么重点。
这意味着面对同一句"帮我写个总结",Agent 给 CEO 和给实习生的输出可以完全不同——不是因为开发者写了两套模板,而是 Agent 自己判断出了应该怎么做。
四、一个公式:何时用 Agent,何时用传统软件
不是所有需求都需要 Agent。我用一个简单的二维模型来判断:
需求明确度
高
│
传统软件 │ 配置化工具
(最优解) │ (够用但笨重)
│
────────────┼──────────── 个性化程度
│ 高
搜索/推荐 │ Agent
(部分解决) │ (最优解)
│
低
- 需求明确 + 个性化低 → 传统软件。买机票、转账、查物流。写死就行。
- 需求明确 + 个性化高 → 配置化工具。CRM、BI 报表。用户自己配规则。
- 需求模糊 + 个性化低 → 搜索 / 推荐。“给我推荐点好看的”。
- 需求模糊 + 个性化高 → Agent。“帮我分析我们团队的问题”。
关键洞察:右下角这个象限,在 Agent 出现之前,几乎没有好的技术解决方案。 这类需求要么靠人(顾问、助理、秘书),要么干脆不被满足。Agent 第一次让这类需求可以被规模化地、低成本地解决。
五、Agent 处理"说不清"需求的四个阶段
一个设计良好的 Agent 处理模糊需求的过程,通常经历四个阶段:
阶段一:意图识别——你大概想干嘛
从用户的模糊输入中提取核心意图。不需要精确,只需要方向性正确。
“最近感觉团队效率不太行”→ 意图:团队效率诊断
阶段二:需求澄清——你具体关心什么
通过对话补全缺失的关键信息。好的 Agent 不会一次问十个问题,而是每次只问最关键的一个。
“效率"具体指什么?交付速度?代码质量?会议时间占比?
阶段三:方案执行——我来搞定
根据澄清后的需求,动态选择工具、拉取数据、生成分析。这一步的关键是自主决策——Agent 自己决定用什么方法、从哪个角度切入,而不是等用户指定每一步。
阶段四:结果校准——这是你要的吗
输出初步结果后,根据用户反馈进行调整。“太细了,帮我精简一下”,“这部分展开讲讲”。通过迭代逼近用户真正想要的输出。
用户的"真实需求"
┌──────────────────────────┐
│ │
│ 用户说出来的(30%) │
│ ┌──────────────┐ │
│ │ │ │
│ │ 用户意识到的 │ │
│ │ (60%) │ │
│ │ │ │
│ └──────────────┘ │
│ │
│ 用户没意识到但 │
│ 实际需要的(40%) │
│ │
└──────────────────────────┘
Agent 的价值 = 帮用户从 30% 逼近 100%
这四个阶段的核心思想是:需求不是输入,需求是输出。 真正的需求是在交互过程中被"发现"的,不是在交互之前就存在的。
六、实战案例:同一个问题,传统方案 vs Agent 方案
案例:企业内部知识问答
传统方案(搜索 + FAQ)
- 构建知识库,人工整理 FAQ
- 用户输入关键词搜索
- 返回匹配的文档列表
- 用户自己从文档中找答案
问题:用户问"新人入职需要准备什么?",搜索返回了《员工手册》《IT设备申领流程》《门禁卡办理指南》等十几个文档。用户还是得自己读、自己整理、自己判断哪些跟自己相关。
Agent 方案
用户:我下周一入职,需要准备什么?
Agent:欢迎!我来帮你整理入职清单。先确认几个信息:
1. 你的岗位是?(不同岗位的设备和权限配置不同)
2. 你的工作地点是哪个办公室?
用户:后端开发,在北京望京办公室
Agent:好的,以下是你的入职准备清单:
【入职前】
- 准备身份证原件(HR存档用)
- 准备 1 寸照片 2 张(或发电子版给 hr@company.com)
- 下载钉钉 App,等待 HR 发送入职邀请
【第一天】
- 9:30 到望京办公室前台,找 HR 张琳(工位在 3F-A12)
- 领取工牌和门禁卡(前台办理,需身份证)
- IT 会为你配置 MacBook Pro + 显示器(后端开发标配)
- 申请 VPN、GitLab、Jira 权限(IT 小张会主动找你)
【第一周】
- 完成安全培训(线上,约 2 小时)
- 阅读后端开发规范文档(已发到你的企业邮箱)
需要我帮你预约第一天的工位吗?
# generated by hugo's coding agent
差异一目了然。Agent 不是"返回文档”,而是理解你的具体情况,把散落在多个系统中的信息整合成一个针对你的个性化方案。
七、给 Agent 开发者的三条建议
如果你正在构建面向"复杂个性化需求"的 Agent,以下三点至关重要:
1. 把"需求澄清"当作核心功能来设计
不要急着给答案。一个好的 Agent 应该在回答之前,先确保自己理解了问题。设计专门的澄清策略:什么时候追问、问什么、问几轮。
一个常见的错误是:用户说了一句模糊的话,Agent 直接基于猜测生成一大堆内容。用户看完觉得"不太对",但又说不出哪里不对——这比不回答更糟糕,因为它消耗了用户的注意力却没有推进问题。
2. 让 Agent 记住"这个用户是谁"
个性化的前提是了解用户。Agent 需要有记忆能力——不是记住所有对话历史,而是提炼出关键的用户画像:这个人的角色是什么、关注点是什么、偏好什么样的输出风格。
有了这些信息,Agent 才能在第一轮对话就给出 80 分的回应,而不是每次都从零开始。
3. 设计"渐进式输出"而不是"一次性输出"
复杂需求的答案通常不应该是一个巨大的文档。更好的方式是:先给一个框架或摘要,让用户确认方向,然后逐步展开细节。
这既降低了用户的认知负担,也给了 Agent 在过程中修正方向的机会。
结语
回到开头那个智能周报的例子。传统方案是什么?做一个报表工具,定义十几个指标,固定一个模板,每周自动填充数据。能用,但每个人看到的都是同一张没有灵魂的表格。
Agent 方案呢?它知道华北区的负责人最近在推新品,所以重点分析新品的铺货进度;它知道华南区刚换了渠道策略,所以对比了切换前后的转化率变化;它知道 CEO 下周要做季度汇报,所以在给他的版本里多加了趋势预判和风险提示。
同一个"周报",十个人看到十个版本,每个版本都恰好是这个人此刻最需要的。
这就是 Agent 的价值所在。它不是更好的软件——它是一种全新的需求满足方式。在"用户说不清、需求个性化、上下文在变化"的场景下,Agent 不是可选项,而是唯一解。
过去我们的软件哲学是"用户适应系统"。Agent 时代的哲学是"系统理解用户"。这不是一个渐进式的改进,而是一次根本性的范式转换。