在实践过程中,用大模型做一个需求遇到的问题

99 天前
 dongcxcx

以下是我尝试分别用 langchain, langgraph,以及 ReAct 的三次实验,请大家帮忙看看有没有更好的解决方案,多谢。整体排版让 ai 给我优化了一下

售前报价客服的需求与技术演进

需求概述

用户提出一个报价问题,例如:

iphone16pro max, 128g, 黑色 多少钱?

实际 SKU 要复杂得多,但不影响核心流程:

  1. 大模型解析用户语义中的产品名;
  2. 我根据产品名从数据库中查询 SKU 信息;
  3. 拿到完整 SKU 后计算价格。

技术尝试过程

第一次尝试:LangChain4j + Prompt

我在 prompt 中指定了多个 function call:

  1. 解析产品名
  2. 根据产品名获取 SKU 信息
  3. 根据完整 SKU 信息计算价格
  4. 如果缺失必要的字段,向用户确认

实际效果: 不理想,属于 demo 偶尔能跑通,但经常出问题:


第二次尝试:LangGraph

尝试用流程图方式替代 prompt 中的 if-else 指令:

实际效果: 依然不稳定,部分场景下流程刚性,模型无法灵活应对用户输入的变化。


第三次尝试:ReAct 框架

在 prompt 中使用 ReAct 框架( Thought → Action → Observation ):

实际效果:


总结

无论是 prompt + function call 、LangGraph 流程图,还是 ReAct 框架,核心问题始终是:
大模型行为的不可控性,尤其是在多步骤流程中容易出错或跳步,目前仍未找到完全可靠的解决方案。

2170 次点击
所在节点    问与答
21 条回复
raydied
98 天前
@dongcxcx 1 、这个做法只能提高 function call 的识别率,感觉并不是此场景的瓶颈。
2 、还需要重点微调其他方面,预设一些用户问题和期望得到的 json ( slot )。你的场景不复杂,即使穷举,gpt4o 的微调也很便宜。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1148087

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX