2026/6/6 15:08:49
网站建设
项目流程
个人宽带备案网站,html 学习网站,教人做甜点的网站,99作文网最近跟着 datawhale 的 hello-agents 教程入门智能体#xff0c;从模糊的概念到亲手写出可运行的程序#xff0c;每一步都充满惊喜。今天就把这份学习笔记整理出来#xff0c;和大家聊聊智能体的定义、类型、核心范式#xff0c;还有我用 Deepseek 在 PyCharm 里实现的实操…最近跟着 datawhale 的 hello-agents 教程入门智能体从模糊的概念到亲手写出可运行的程序每一步都充满惊喜。今天就把这份学习笔记整理出来和大家聊聊智能体的定义、类型、核心范式还有我用 Deepseek 在 PyCharm 里实现的实操案例一、先搞懂到底什么是智能体其实智能体的核心定义特别好理解 —— 它就是一个能感知周围环境还能自主行动去达成目标的 “实体”。这个实体可能是自动驾驶汽车、手机里的导航 APP甚至是处理金融交易的算法。拆解下来智能体得满足四个关键条件首先得有 “感知器官”比如摄像头、传感器或者 API 接口能捕捉环境信息其次得有 “行动工具”像机械臂、代码函数这些能对环境产生影响最重要的是 “自主性”不用人一步一步指挥能自己做决策最后还要有明确的 “目标”所有行动都围绕这个目标展开。就像我们日常用的导航 APP它通过地图数据感知你的位置和路况感知通过规划路线和语音提示行动帮你在最短时间内到达目的地目标全程不用你手动计算路线这就是一个典型的智能体。二、智能体的类型与范式智能体的世界并不是单一的而是多元而精彩的。根据功能和应用场景的不同智能体可以分为多种类型比如任务型智能体、交互型智能体、学习型智能体等。每一种类型都有其独特的魅力和应用场景。任务型智能体就像是一个勤劳的小蜜蜂专注于完成特定的任务比如查询天气、订购机票等。交互型智能体则更像是一个善解人意的朋友能够与你进行自然的语言交流理解你的情感和需求。学习型智能体则是一个不断进步的学生通过不断的学习和优化提升自己的能力和效率。在智能体的范式方面也有监督学习、强化学习等多种方式。这些范式为智能体的训练和优化提供了丰富的工具和方法使得智能体能够更加智能、更加高效。三、智能体的三大分类维度智能体还能从三个角度分类不同分类对应不同的应用场景1. 按决策架构分从简单到复杂就是我们前面聊的 “进化史” 分类 —— 简单反射、基于模型、基于目标、基于效用、学习型复杂度逐级提升适用场景也从简单的自动化任务扩展到金融交易、医疗诊断等复杂场景。2. 按反应速度分快反应 vs 深思考反应式智能体像安全气囊系统必须毫秒级反应追求速度优先不做复杂规划规划式智能体像 AlphaGo 或物流路径规划系统会提前思考未来几步甚至几十步的行动追求最优结果不在乎多花一点时间混合式智能体结合两者优点比如自动驾驶汽车遇到突发情况如前方突然出现障碍物会瞬间反应刹车反应式但日常行驶会规划最优路线规划式。3. 按知识存储分显性规则 vs 隐性模式符号主义智能体像严谨的图书管理员知识都以明确的规则和概念存在比如 “猫有四条腿、会喵喵叫”推理过程清晰可追溯但面对模糊情况容易出错亚符号主义智能体像牙牙学语的孩子通过大量数据学习规律不用明确规则就能识别猫的图片但说不出 “为什么这是猫”推理过程像 “黑箱”神经符号主义智能体结合两者优点既有神经网络的模式识别能力又有符号系统的逻辑推理能力就像人类的 “直觉 理性”是现在最热门的发展方向。四、实操环节用 Deepseek 实现智能旅行助手理论说得再多不如亲手写一段代码。跟着教程我在 PyCharm 里用 Deepseek 模型实现了一个简单的智能旅行助手 —— 核心功能是 “查询北京今日天气再根据天气推荐景点”。1. 准备工作首先得安装必要的库requests调用 API、tavily-python搜索工具、openai对接 Deepseek因为 Deepseek 兼容 OpenAI 接口用 pip 命令一键安装pip install requests tavily-python openai然后要准备两个关键工具天气查询工具调用 wttr.in 的免费 API获取北京的实时天气景点推荐工具用 Tavily 搜索 API根据天气推荐合适的景点。2. 核心逻辑Thought-Action-Observation 循环智能体的运行核心就是这个 “思考 - 行动 - 观察” 的闭环我来拆解一下这个过程思考Thought智能体收到用户指令后分析需要做什么 —— 先查天气再根据天气推荐景点行动Action调用对应的工具函数比如先调用 get_weather (北京) 获取天气数据观察Observation工具返回结果后智能体读取这个结果作为下一步行动的依据循环直到完成目标输出最终答案。3. 关键代码片段首先是工具函数的实现天气查询函数import requests def get_weather(city: str) - str: url fhttps://wttr.in/{city}?formatj1 try: response requests.get(url) response.raise_for_status() data response.json() current_condition data[current_condition][0] weather_desc current_condition[weatherDesc][0][value] temp_c current_condition[temp_C] return f{city}当前天气:{weather_desc}气温{temp_c}摄氏度 except Exception as e: return f天气查询失败{e}然后是景点推荐函数结合 Tavily 搜索import os from tavily import TavilyClient def get_attraction(city: str, weather: str) - str: api_key os.environ.get(TAVILY_API_KEY) if not api_key: return 未配置TAVILY_API_KEY tavily TavilyClient(api_keyapi_key) query f{city} 在{weather}天气下最值得去的旅游景点及理由 try: response tavily.search(queryquery, search_depthbasic, include_answerTrue) if response.get(answer): return response[answer] return 未找到合适的景点推荐 except Exception as e: return f景点搜索失败{e}最后是对接 Deepseek实现循环逻辑from openai import OpenAI # 初始化Deepseek客户端 client OpenAI( api_key你的Deepseek API密钥, base_urlhttps://api.deepseek.com ) # 系统提示定义智能体角色和行动规则 system_prompt 你是智能旅行助手用以下工具解决用户问题 - get_weather(city: str)查询城市实时天气 - get_attraction(city: str, weather: str)根据天气推荐景点 每次回复需遵循先思考过程再行动格式为 Thought: [思考过程] Action: [工具调用如function_name(argvalue)] 完成任务后用finish(answer最终答案)输出结果 # 用户指令 user_prompt 帮我查询一下今天北京的天气然后根据天气推荐一个合适的旅游景点 # 运行循环 prompt_history [{role: system, content: system_prompt}, {role: user, content: user_prompt}] for _ in range(5): # 限制最大循环次数 response client.chat.completions.create( modeldeepseek-chat, messagesprompt_history ) llm_output response.choices[0].message.content prompt_history.append({role: assistant, content: llm_output}) # 解析行动并执行 if get_weather in llm_output: weather get_weather(北京) prompt_history.append({role: user, content: fObservation: {weather}}) elif get_attraction in llm_output: # 提取天气信息 weather [msg for msg in prompt_history if Observation: in msg[content]][0][content].split()[-1] attraction get_attraction(北京, weather) prompt_history.append({role: user, content: fObservation: {attraction}}) elif finish in llm_output: final_answer llm_output.split()[1] print(最终结果, final_answer) break4. 运行结果超惊喜程序运行后先调用天气接口获取到 “Observation: 北京当前天气Clear气温-3摄氏度”然后自动调用景点推荐工具最后输出“任务完成最终答案: 根据查询北京今天的天气是多云气温7摄氏度。这种天气比较凉爽但适合户外活动。我推荐您参观颐和园多云天气下漫步在湖畔和园林中会很舒适既能欣赏皇家园林的秋色又不会太晒。记得穿件外套保暖。”整个过程完全自动化不用手动干预智能体自己完成了 “查天气 - 分析场景 - 推荐景点” 的全流程这就是 LLM 驱动智能体的魅力五、学习小结这次学习《第一章 初识智能体》最大的收获就是把 “智能体” 这个抽象概念变成了可理解、可实操的知识。从定义来看智能体的核心是 “感知 - 自主行动 - 目标导向”从发展来看它从简单反射进化到了能自主学习的高级形态从应用来看LLM 驱动的智能体正在改变我们的工作和生活方式。而亲手用 Deepseek 实现旅行助手的过程更让我感受到了智能体的落地魅力 —— 不用复杂的代码通过 “思考 - 行动 - 观察” 的循环就能让模型自主调用工具、解决实际问题。接下来还想试试给智能体添加 “记忆功能”让它记住用户的旅行偏好或者处理景点售罄时的备选方案继续探索智能体的更多可能性