HelloAgent.Task1
人工智能领域,智能体被定义为任何能够通过传感器感知其所处环境,并自主地通过执行器采取行动以达成特定目标的实体。
1. 学习内容总结
-
智能体的定义:能够感知环境、通过执行器采取行动以实现目标的实体,具备自主性、反应性和目标导向性。
-
传统智能体的演进:从简单反射式到基于模型、目标、效用的智能体,最终发展为强化学习驱动的学习型智能体。
-
LLM智能体的新范式:以大语言模型为核心,具备自然语言理解、任务分解、工具调用和动态修正能力。
-
PEAS模型:用于描述任务环境,包含性能指标(Performance)、环境(Environment)、执行器(Actuators)和传感器(Sensors)。
-
智能体的运行机制:基于“感知-思考-行动-观察”循环,通过结构化输出(Thought-Action-Observation)与环境交互。
2.旅行助手Agent案例
(1) 尝试在available_tools中增加preferences_tool(用户偏好工具)
考虑以下几点:
-
添加的工具:我们需要增加两个工具record_user_preferences(记录用户偏好)和get_user_preference(获取用户偏好)
-
用户偏好数据:由于我们在此之前只有两个工具get_attraction和get_weather,所以我们只记录用户喜欢的景点和天气。
-
修改已有工具:由于我们要根据用户的偏好去返回结果,那么就需要在已有的get_attraction中添加一个user_preference参数让智能体去思考。
-
潜在的问题:
-
工具之间存在了依赖性:
如果智能体将用户的历史偏好作为搜索条件的一部分,也就是说,需要在工具get_attraction内部调用get_user_preference,这样就导致工具的独立性被破坏了。
-
解决方案:我们可以让智能体去主动获取用户的历史偏好(充分利用智能体的智能),只需调用get_attraction工具时,将偏好作为额外参数传入
-
即便使用了上面的解决方案,我们仍然需要将get_user_preference和record_user_preference这两个工具保留:
-
智能体需要知道在什么情况下使用这些工具(比如用户明确表达偏好时记录,或者在推荐前获取偏好)。
-
智能体并不自动记住上下文,每次循环都是独立的,所以需要将偏好持久化,并在需要时通过工具获取。
-
这样智能体在推荐景点时既可以不需要额外步骤获取偏,也可以在需要时主动获取偏好。
-
示例:
用户: 我想去北京,喜欢博物馆和历史遗迹AI: Thought: 用户想去北京,我需要先获取天气信息,然后推荐景点。系统会自动记录用户对博物馆和历史遗迹的偏好。Action: get_weather(city="北京")用户: 上海天气怎么样?我想去户外公园AI: Thought: 查询上海天气,用户表达了喜欢户外公园的偏好,系统会记录并用于推荐。Action: get_weather(city="上海")
-
-
3.Agent目前的一些问题
-
工具调用的可靠性挑战:
-
在旅行助手案例中,天气API可能返回“阴天”,但实际突然下雨。此时智能体需动态调整推荐(如从户外转向室内),而当前架构依赖固定观察反馈,缺乏实时性。可能的改进方向是引入传感器数据流和事件驱动机制。
-
-
Workflow与Agent的边界模糊化:
-
纯规则引擎(Workflow)和纯智能体(Agent)的二分法并不绝对。实际应用中,混合模式可能更优。例如:
-
初级判断用Workflow:如“金额<100元自动退款”。
-
复杂场景用Agent:如“用户历史退款率过高但本次商品有瑕疵”,需结合上下文决策。
-
-
-
对“黑盒性”的警惕:
-
LLM驱动的智能体容易产生“幻觉”(如虚构不存在的景点)。解决方案可包括:
-
输出验证层:对关键信息(如景点名称)二次检索验证。
-
用户确认机制:如“推荐颐和园,需查看最新开放时间吗?”
-
-
学习途径来自:https://github.com/datawhalechina/hello-agents/tree/main/docs
更多推荐


所有评论(0)