【第一章习题】个人学习笔记与解答 #851
Unanswered
lizhuofan-curry
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.
以下是我学习 Hello Agents 第一章后整理的课后习题答案和个人理解。部分内容结合智能旅行助手代码进行分析,欢迎大家讨论和指正。
第一章课后习题
习题1
请分析以下四个
case中的主体是否属于智能体,如果是,那么属于哪种类型的智能体(可以从多个分类维度进行分析),并说明理由:case A:一台符合冯·诺依曼结构的超级计算机,拥有高达每秒 2EFlop 的峰值算力case B:特斯拉自动驾驶系统在高速公路上行驶时,突然检测到前方有障碍物,需要在毫秒级做出刹车或变道决策case C:AlphaGo在与人类棋手对弈时,需要评估当前局面并规划未来数十步的最优策略case D:ChatGPT 扮演的智能客服在处理用户投诉时,需要查询订单信息、分析问题原因、提供解决方案并安抚用户情绪首先判断一个对象是不是智能体,不能只看算力强不强,而且要看它是否形成了:
这也就是代码中
Thought -> Action -> Observation循环的理论来源判断四个 case 是否属于智能体
Case A : 符合冯·诺依曼结果的超级计算机
结论
仅凭题目给出的信息,它不属于智能体。超级计算机只是一台计算能力超级强的机器,‘计算能力强’不等于‘具有智能体能力’。
他可能拥有:
输入 -> 计算 -> 输出,但题目没有说明它具有:明确目标,对环境的持续感知,根据环境变化自主决策,通过环境影响环境,根据反馈调整行动等。比如超级计算机在计算矩阵乘法时,无论计算有多快,它依然只是在执行人类预先指定的运算,不会自行判断:我应该解决什么问题,环境发生了什么变化 . . . .一个重要区别
超级计算机本身不是智能体,但可以承载智能体,例如
此时:
这就好像高性能显卡本身不是智能体,但允许在显卡上的自动驾驶系统可能是智能体
Case B : 特斯拉自动驾驶系统
结论
属于智能体,而且可以从多个维度分类
它具备完整闭环:
对应智能体四要素:
它既具有基于模型的智能体特征,也可能具有目标型和效用型智能体特征。基于模型是因为它不仅看到当前摄像头画面,还要维护内部状态:
它也是目标型智能体,因为存在目标:安全到达目的地
还具有基于效用的特征,因为它需要在多个目标之间权衡:
例如:
它属于混合智能式智能体:
教材也指出,反应式智能体速度快但容易短视,规划式智能体考虑长但成本较高,因此现实系统常采用分层混合架构。
它属于具身智能或物理智能体,因为它最终通过真实车辆的方向盘,油门和刹车改变物理世界。
Case C: AlphaGo与人类棋手博弈
结论
属于智能体
它的闭环是:
按内部架构分类
AlphaGo具有以下特征:
它不是简单地遵循:
而是评估多个可能行动,并估算:
然后选择期望效用更高的行动
按反应性分类
它主要属于规划式智能体
因为它不会只根据当前棋盘做一个瞬时反应,而会搜索未来的行动序列,评估不同落子的长期后果。
按知识表示分类
它体现了神经网络与搜索的结合:
因此可以将其理解为具有神经符号混合系统的系统
Case D: ChatGPT 扮演智能客服
结论
**如果它真正连接了订单查询,退款等工具,并能自主选择行动,就属于 LLM 驱动的软件智能体。**仅仅聊天的 ChatGPT 更接近语言模型应用;连接外部工具并形成行动闭环后,才具有更完整的智能体性质,例如:
分类
它可以同时具有:
习题2
假设你需要为一个"智能健身教练"设计任务环境。这个智能体能够:
请使用 PEAS 模型完整描述这个智能体的任务环境,并分析该环境具有哪些特性(如部分可观察、随机性、动态性等)。
PEAS 不是程序执行的四个执行步骤,而是用来完整描述智能体的任务环境
Performance:性能度量
用什么指标判断健身教练做的好不好?
不能只看‘减重越多越好’。如果用户快速减重但发生损伤,营养不足,那么总体性能并不好。因此可以设计综合评价:
**Environment : 环境 **
智能健身体所处的环境包括:
Actuators : 执行器
执行器是智能体影响环境的方式,数字健身教练不能直接替用户运动,但可以通过以下方式影响用户:
例如:
这些都是行动
Sensors : 传感器
智能体可以通过以下信息感知环境:
其中,穿戴设备API就相当于数字智能体的传感器
该环境的性质
部分可观察
智能体不能完全知道用户真实身体状态,例如,他能看到心率,但可能不知道:
因此是部分可观察环境
随机性
同一训练计划对不同用户,甚至同一用户不同日期的效果都可能不同,相同跑步30分钟,可能因为睡眠,饮食,压力和环境温度的不同,产生不同结果,因此属于随机性环境
序贯性
当前行为会影响未来状态,例如:
所有不是相互的单词任务,而是序贯任务
习题3
某电商公司正在考虑两种方案来处理售后退款申请:
方案 A(
Workflow):设计一套固定流程,例如:A.1 对于一般商品且在 7 天之内,金额
< 100RMB自动通过;100-500RMB由客服审核;>500RMB需主管审批;而特殊商品(如定制品)一律拒绝退款A.2 对于超过 7 天的商品,无论金额,只能由客服审核或主管审批;
方案 B(
Agent):搭建一个智能体系统,让它理解退款政策、分析用户历史行为、评估商品状况,并自主决策是否批准退款请分析:
Workflow更合适?什么情况下Agent更有优势?如果你是该电商公司的负责人,你更倾向于采用哪种方案?方案A : 固定 Workflow
Workflow使用明确规则:
优点: 行为确定,容易测试,退款规则透明,响应速度快,成本低,不会因为语言模型幻觉随意退款
缺点: 规则之外的情况处理能力差,很难理解复杂投诉,无法灵活综合用户历史,规则数量越来越多时维护困难
方案B : 完全由 Agent 决策
Agent会综合分析:
优点: 能理解自然语言投诉,能处理非标准情况,能综合多个信息来源,可以主动调用订单,物流和用户画像工具,能针对不同用户解释原因,可以根据新信息动态调整判断
缺点:输出具有不确定性,可能产生幻觉,审计和解释比较困难,可能被用户提示词诱导,每次决策需要模型调用成本
在什么情况下 Workflow 更合适
当业务由以下特点时优先采用 Workflow:
退款资格和资金操作本身就非常适合规则系统
在什么情况下Agent更有优势
Agent更适合:
如果我是负责人,我会选择哪一种?
我不会选择完全固定或完全自主,而是会采用方案C : Agent + Workflow 的混合架构
这里最重要的原则是:Agent可以负责理解,分析和提出建议,但不可绕过硬性政策直接操作高风险资金。这样既利用大模型的灵活性,也保留规则系统的确定性和可审计性
习题4
在 1.3 节的智能旅行助手基础上,请思考如何添加以下功能(可以只描述设计思路,也可以进一步尝试代码实现):
当前旅行助手已经有:
书上把这种循环概括为感知,规划,工具选择,行动和观察
添加用户偏好记忆
目前的
prompt_history只能算短期记忆每轮又加入:
所以模型可以记住本次任务中的:
所以模型可以记住本次任务中的:用户问了什么,已经调用了什么工具,工具返回了什么;但是程序结束后,
prompt_history消失,因此它不能记住用户下次再来时的偏好可以增加长期用户画像
例如:
新增两个工具:
注册到工具表
系统提示词中还要告诉模型:
新的运行过程
用户说:
模型可以产生:
再保存预算
以后用户之说: 帮我推荐一个开封景点
智能体可以先读取画像,再推荐更符合偏好的景点。正式应用中,这些数据应存入数据库,并按用户ID隔离,而不是所有用户共用一个全局字典
景点门票售罄时自动推荐备选方案
现在的
get_attraction()只负责搜索景点,没有查询实时门票可以新增工具
以及:
然后在系统提示词中加入规则:
循环过程
这里体现了真正的动态修正:
用户连续拒绝三个推荐时重新调整策略
不能只让模型一直搜索相似的景点,应记录拒绝次数和拒绝的原因,可以增加状态:
当用户拒绝推荐时:
第一次拒绝
用户:
智能体应采取新约束:
然后重新推荐
第二次拒绝
用户:
继续增加约束:
第三次拒绝
用户:
此时不应该盲目给出第四个类似景点,而是切换策略:
更完善的系统提示词可以规定:
它体现的是:
习题5
卡尼曼的"系统 1"(快速直觉)和"系统 2"(慢速推理)理论[2]为神经符号主义 AI 提供了很好的类比。请首先构思一个具体的智能体的落地应用场景,然后说明场景中的:
这里以医疗诊断辅助智能体为例。它只辅助医生,不直接替代医生做出最终诊断。教材将系统1类比为快速,直觉式的神经网络模式识别,将系统2类比为缓慢,有条理的符号推理;神经符号系统则将两者结合
系统1:快速筛查和模式识别
系统1处理:
比如患者说:
系统1迅速识别:
它的优势是快,覆盖面广,但可能出现误判
系统2:慢速验证和规则推理
系统2处理:
例如系统1认为可能是心肌梗死,系统2进一步检查:
两系统如何协作
系统1负责'快速提出可能性',系统2负责'严谨验证可能性'
如果只有系统1,系统可能反应很快,但容易把'看起来像'当成事实,如果只有系统2,系统虽然严谨,但面对自然语言和复杂影像时效率较低
习题6
尽管大语言模型驱动的智能体系统展现出了强大的能力,但它们仍然存在诸多局限。请分析以下问题:
为什么会产生幻觉
LLM 的核心任务是根据上下文生成最可能的后续文本,并不是直接从现实世界数据库中读取事实,因此,当他不知道答案时,也可能生成一段语言流畅,形式合理但事实错误的内容
训练目标与事实验证不同
模型擅长生成'像答案的文本',但'像答案'不等于'答案真实'
缺少实时信息
模型内部知识来自训练数据,不一定知道
因此旅游助手必须调用
get_weather和get_attraction,不能让模型凭内部知识猜实时天气用户问题含糊
例如:帮我推荐附近好玩的地方,但是没有提供位置,预算,时间或偏好,模型可能自行补全这些缺失条件
工具返回失败
如果天气工具返回:
模型仍可能为了完成任务而猜测天气,而不是诚实报告无法查询,因此系统提示词应该加入:
搜索结果本身不可靠
Tavily返回的是互联网搜索和综合结果。即使模型正确使用工具,来源网页也可能过时或错误
历史信息污染
如果
prompt_history中存在错误 Observation,模型可能把它当成事实继续推理,错误在后续循环中不断放大为什么必须限制最大循环次数
代码中写的:
这里的5次是安全边界和终止条件,不代表完成任务一定需要次
正常情况下:
如果没有最大次数,可能发生什么
无线重复调用
模型可能不断输出:
每一轮都重复查询天气
在两个工具之间循环
API费用不断增加
每一轮都会调用大模型,还可能调用天气和搜索服务。无线循环会不断消耗:Token,API额度,网络资源,运行时间
触发接口限流
模型服务,Tavily和天气服务都可能限制请求频率
重复产生现实副作用
当前工具只是查询,副作用较小。但如果工具换成:
无限循环可能造成重复发送,重复下单或者重复退款
历史记录越来越长
每轮都会执行:
历史越来越长,会导致:输入Token不断增加,陈be上升,超过模型上下文长度,模型被大量重复信息干扰
更完善的终止机制
除了最大5轮,还可以加入:
只用准确率能评价智能体吗
不能
准确率只能回答:最终答案有多少比例是正确的
但是智能体还涉及规划,工具调用,安全,成本和交互质量
例如两个智能体最终都回答正确:
两者准确率可能一样,但显然A更优秀
应从多个维度评价
All reactions