Hello-Agent习题思考 #350
Unanswered
kevin911
asked this question in
💬 Exercises & Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Chatter4
ReAct: Thought->Action-> Observation 能够对问题进行及时的响应和反馈,适合外部环境稳定性差,需要及时调整的场景
Plan-and-Solve: Plan->Execute list->Solve 先计划在执行,全局最优,适合比较稳定和规范性的场景
Reflection: Action-> Evaluation->Reflection->Re-Action 有两个角色,一个是执行者,一个评估员,执行完进行评估修正,有一定的进化意识
会考虑ReAct作为基础架构。因为外部设备稳定性较差,灯坏了等情况,需要即时反馈
比如"智能家居控制助手"就可考虑Plan+ReAct混合模式,Plan依据用户习惯和当前的环境先进行Plan,然后每一步通过ReAct模式及时反馈。
对于精度要求、复杂度较高的场景,还可考虑Plan+ReAct+Reflection混合模型
模型输出是依据概率来的,所以当问题的复杂度较高,转义符等情况下,仅依据提示词输出的格式在解析过程中可能失败;
可以考虑更加结构化的输出,例如json格式
具体解决方案:1. 提示词给出json样例 2. 添加reponse_format 3.使用jsonrepair等库对输出进行修复 三者可同时使用
当可调用的工具数据很多时,由于模型的上下文窗口有限制,所以不可能将全部的工具与描述输入到大模型,考虑有以下几种方法:1.考虑分批将工具输入到大模型,然后由大模型选择一个合适的 2.考虑将工具进行分类等,让大模型先选择类型,在依据类型选择工具 3. 考虑将工具写入到RAG向量库中,先在RAG中召回相似度高的topK,然后在将topK工具输入到大模型
新增状态管理,记录所有的步骤,以及执行过的步骤以及状态及失败原因等,当某个步骤失败时,将之前的步骤以及执行记录,当前失败的步骤组成提示词重新给到LLM,让其优化当前步骤,同时记录失败次数,避免死循环
Plan与ReAct结合的模式更加适合;此场景需要整体的规划,实现全局最优解,同时对于机票,酒店,租车等场景又是动态的,所以需及时反馈结果并就行修正
可以考虑Plan + ReAct模式,先通过Plan进行整体规划,实现全局最优解,同时对子任务进行拆解,在执行具体的执行步骤;对于复杂,长时间的任务有较大优势,不会出现LLM遗忘之前的步骤出现混乱
优点:1.突破相同模型的知识盲区,查缺补漏 2. 节省成本,快速模型用于执行,强大模型进行完善优化
缺点:模型代差,有可能强大模型给出的优化建议快速模型实现不了
通过返回“无需改进”或“达到最大迭代次数”两者的评估都较为单一和片面,可考虑做一个评估模块;
评估模块可以依据业务来设计相应的指标,例如:语义的收敛性、外部验证逻辑
语义收敛性:通过比较当前响应与上一次响应的语义相似度,设定一个阈值,达到后则达标
外部验证逻辑:依据业务设定测试用例,两次的测试用例的通过率来判定达标
Plan + RecAct + Reflection 该智能体主要是处理退款事项,需规划好退款流程,以及实时查询订单/物流状态信息,后续出现争议还得进行反思
查询订单信息、查询物流信息、邮件发送、判断是否退款
恶意客户钻漏洞等情况,需设计一个封控系统:考虑用户的退款次数、以及出现争议等情况进行人工审批后在进行退款等机制
Beta Was this translation helpful? Give feedback.
All reactions