Agent 是复杂个性化需求的最优解:解决用户自己都说不清的问题

为什么传统软件解决不了的需求,Agent 能解决?因为它不需要你先想清楚

目录:

上周帮一个客户上线了一个"智能周报助手"。需求方的原话是:“帮我们的销售团队自动生成周报。”

听起来很简单。但往下聊五分钟,你会发现这句话背后藏着至少二十个未定义的决策:周报包含哪些维度?数据从哪来?不同区域的销售负责人关注点一样吗?“好的周报"到底长什么样?客户自己也说不清。

最终的解决方案不是一个固定模板的报表工具,而是一个 Agent——它能根据每个销售负责人的历史偏好、当周数据特征、团队上下文,动态决定周报的结构、重点和措辞。

这件事让我重新思考一个问题:Agent 的核心价值到底是什么? 不是"自动化”,不是"降本",而是——它是目前唯一能规模化解决"复杂个性化需求"的技术方案

一、传统软件的根本假设:用户知道自己要什么

回想一下我们过去二十年做软件的方式:

  1. 产品经理收集需求
  2. 需求被翻译成 PRD(产品需求文档)
  3. PRD 被翻译成代码
  4. 代码被部署上线
  5. 用户使用

这个流程有一个隐含的、致命的假设:用户能够清晰地表达自己的需求。

在标准化场景下,这个假设成立。买机票、转账、查快递——这些需求足够清晰、足够通用,可以被穷举、被模板化。传统软件(包括 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)

  1. 构建知识库,人工整理 FAQ
  2. 用户输入关键词搜索
  3. 返回匹配的文档列表
  4. 用户自己从文档中找答案

问题:用户问"新人入职需要准备什么?",搜索返回了《员工手册》《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 时代的哲学是"系统理解用户"。这不是一个渐进式的改进,而是一次根本性的范式转换。


See also