V2EX 前天 09:59
[问与答] 在实践过程中,用大模型做一个需求遇到的问题
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文记录了作者使用LangChain4j、LangGraph和ReAct框架尝试构建AI报价系统的心得。作者分别通过prompt、流程图和ReAct框架来控制大模型完成产品名解析、SKU查询和价格计算等步骤,但发现大模型在多步骤流程中的行为仍不可控,容易出现跳过步骤或执行错误的问题,目前尚未找到完全可靠的解决方案。

🔍 LangChain4j + Prompt方案:通过prompt指定多个function call,但实际效果不理想,大模型行为不可控,经常跳过步骤或执行错误。

📊 LangGraph方案:尝试用流程图显式建模步骤,理论上更可控,但实际效果依然不稳定,模型无法灵活应对用户输入的变化。

🤔 ReAct框架方案:在prompt中使用ReAct框架(Thought → Action → Observation),将决策权交还给大模型,逻辑更灵活,但问题依旧存在,可能跳过关键步骤,需要不断优化prompt。

❓ 核心问题:无论是哪种方案,大模型在多步骤流程中的不可控性仍是主要挑战,目前仍未找到完全可靠的解决方案。

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

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

需求概述

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

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

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

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

技术尝试过程

第一次尝试:LangChain4j + Prompt

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

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

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


第二次尝试:LangGraph

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

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


第三次尝试:ReAct 框架

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

实际效果:


总结

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

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AI报价系统 LangChain4j LangGraph ReAct框架 大模型行为不可控
相关文章