最近,“通义千问点奶茶"在技术圈刷屏。作为一个 Java 后端开发,我的第一反应不是"好酷”,而是——“这后端的链路是怎么串起来的?”

本文从后端视角,拆解这背后可能的技术实现。你会发现,核心并非黑科技,而是我们熟悉的业务流程与大模型能力的融合。

声明:本文基于公开产品体验和通用技术原理进行推测分析,不代表阿里内部真实实现方案。


一、先看真实的产品体验

在这里插入图片描述

当你在千问 App 里说"帮我点杯奶茶",实际发生的是:

  1. 千问弹出授权弹窗,请求接入淘宝闪购
  2. 授权后,AI 返回一段引导文案 + 可左右滑动的商品推荐卡片
  3. 卡片展示了附近门店的推荐饮品(店名、商品图、价格、描述)
  4. 你点击卡片,跳转到淘宝闪购页面,自己选规格、下单、支付

注意:AI 没有通过对话帮你一步步选杯型、冰度、甜度,也没有直接帮你下单。 它做的是"帮你找到想喝的",然后把交易环节交给淘宝闪购的成熟页面。

AI 在这里扮演的是**“智能导购”**,而不是"全自动下单机器人"。


二、核心技术:Function Calling

整件事最关键的技术点是 Function Calling(工具调用)

大模型的本质是一个文本生成器,它只会"说话",不会也不能自己发 HTTP 请求调接口。那它怎么获取附近门店和商品数据的?

答案是 Function Calling——一个大模型和后端代码之间的协议约定:

  1. 你告诉大模型:你有哪些工具可用(工具名 + 描述 + 参数格式)
  2. 大模型判断:当前该用哪个工具,参数填什么
  3. 你的代码执行:拿到参数,调用真正的业务接口
  4. 结果回传给大模型:大模型拿到真实数据,继续推理或生成回复

大模型返回的不是"好的我去帮你找"这样的文字,而是一个结构化 JSON 指令:

{
  "tool": "search_nearby_shops",
  "arguments": {
    "latitude": 30.28,
    "longitude": 120.01,
    "category": "奶茶"
  }
}

后端代码解析指令、执行业务调用、返回结果。AI 负责"想",代码负责"干"。


三、完整链路还原

用户: "千问,帮我点杯奶茶"
       │
       ▼
① 意图识别:大模型判断这是"点奶茶"的行动意图
       │
       ▼
② 授权检查:是否已授权淘宝闪购
  → 未授权 → 弹出授权弹窗(OAuth)
  → 已授权 → 继续
       │
       ▼
③ 上下文组装:
  System Prompt(角色规则)
  + 用户画像(历史偏好、常用地址)
  + 客户端上报的 LBS 定位
  + 用户输入
  → 一起发给大模型
       │
       ▼
④ 大模型决策 → Function Calling:
  → 基于用户定位,调用【搜索附近门店 + 推荐商品】工具
       │
       ▼
⑤ 后端执行工具:
  调用淘宝闪购的搜索/推荐接口
  → 返回门店列表 + 热门商品(名称、图片、价格)
       │
       ▼
⑥ 大模型组装回复:
  → 生成引导文案
  → 将结构化商品数据传给前端
       │
       ▼
⑦ 前端渲染:
  → AI 文案 + 可滑动的商品推荐卡片
  → 点击卡片 → 跳转淘宝闪购页面
       │
       ▼
⑧ 用户在闪购页面自主完成:
  选规格 → 下单 → 支付宝支付 → 等待配送

四、两个常见误解的澄清

误解一:“菜单数据是提前灌到 AI 知识库里的”

不是。 菜单涉及实时价格、实时库存、门店营业状态,这些每时每刻都在变。如果提前灌入知识库,AI 告诉你 18 块,下单发现涨价了或卖完了,体验就崩了。

菜单数据是通过 Function Calling 实时查询的,不是预置在模型里的。

那 RAG(知识库检索)什么时候用?当用户问"鸭屎香是什么茶?""这款饮品多少卡路里?"这类品牌知识问题时才用。

数据类型 获取方式
菜单 / 库存 / 价格 Function Calling 实时查询
用户偏好 / 历史订单 业务系统直接查询
品牌知识 / FAQ RAG 语义检索

误解二:“AI 直接帮你下单付款了”

没有。 从实际体验看,AI 只负责了推荐环节,下单和支付是用户跳转到淘宝闪购页面后自己完成的。

环节 谁在做
理解意图、搜索推荐 AI(Function Calling)
选规格、下单、支付 用户自己(在闪购页面)
配送履约 外卖平台原有系统

这么设计是合理的:规格选择太复杂(杯型/冰度/甜度/加料),交易涉及资金安全,复用闪购成熟的交易页面比让 AI 全程对话式操作更高效、更安全。


五、对 Java 开发者的启示

要构建类似的 AI Agent 应用,核心三件事:

  1. 大脑(LLM):接入具备 Function Calling 能力的大模型(通义千问、GPT、DeepSeek 等)。
  2. 框架:Spring AI / Spring AI Alibaba 提供了 @Tool 注解,框架自动处理工具注册、参数解析、方法路由。你不需要手动解析 JSON。
  3. 工具实现:每一个 @Tool 背后的业务逻辑——调哪个服务、怎么处理异常、返回什么数据——这是你要写的核心代码。

框架解决"AI 和代码怎么通信",你解决"业务逻辑怎么实现"。


结语

"千问点奶茶"没有魔法。它是大模型的意图理解 + Function Calling 的工具调用 + 成熟的电商交易体系共同协作的结果。

阿里选了一条务实的路:让 AI 做推荐,让交易系统做交易,两者通过 Function Calling 连接。

AI 再强,也得有人帮它写 @Tool。而这,正是我们程序员的新战场。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐