首页 > 知识
AI智能体入门系列001:一文搞懂它是什么,附核心架构代码
发布日期:2026-05-06 23:29:01
浏览次数:001

大家好,我是门系专注AI技术拆解的工程师老王。从今天起,列文咱们开启《AI智能体从入门到精通》100篇系列专题,搞懂每篇聚焦一个核心知识点,什附搭配可直接运行的核心代码片段,让新手也能轻松上手。架构

最近“AI智能体”频繁出现在各大科技头条,代码但很多人还是体入分不清它和普通AI工具的区别。比如你用ChatGPT写文案、门系用Midjourney画图,列文这些都是搞懂“被动响应”的工具——你输入指令,它给出结果。什附而AI智能体的核心核心是“主动完成任务”,甚至能自主规划、架构调整策略。

举个通俗的例子:如果让普通AI帮你订一张周末去上海的高铁票,你需要一步步输入“查周六去上海的高铁”“选9点到12点之间的车次”“选二等座”“用XX账号支付”。但交给AI智能体,你只需要说一句“帮我订周六去上海的高铁票,预算500内,优先靠窗”,它就会自主完成查车次、对比价格、选座、甚至提醒你支付,全程不用你额外操作。

这背后,就是AI智能体的核心能力:感知环境、规划任务、执行操作、反馈优化。今天咱们先搞懂基础框架,下一篇再深入拆解每个模块的原理。

一、AI智能体的核心架构(新手必懂)

一个完整的AI智能体,至少包含4个核心模块:

感知模块:负责收集外部信息(比如网页数据、用户指令、系统状态),相当于智能体的“眼睛和耳朵”;规划模块:根据目标拆分任务(比如把“订高铁票”拆成“查车次→选座→支付”),相当于“大脑的规划中枢”;执行模块:调用工具完成具体操作(比如调用12306接口查车次、点击支付按钮),相当于“手脚”;反馈模块:判断操作结果是否符合目标(比如没查到合适车次就调整时间),相当于“纠错机制”。

这4个模块环环相扣,构成了智能体“自主做事”的基础。下面给大家上核心代码,用Python实现一个极简版AI智能体框架,新手可以直接复制运行。

二、核心代码片段(带详细注释)

本次代码基于Python 3.9+,无需复杂依赖,只需要安装基础库即可。先执行安装命令:pip install requests(用于模拟调用外部工具)。

#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ AI智能体极简框架(《AI智能体从入门到精通》系列001) 核心功能:实现"查询天气并提醒穿衣"的简单任务 架构:感知模块+规划模块+执行模块+反馈模块 """ import requests # 1. 感知模块:收集外部信息(用户指令、当前城市) def perception_module(user_command, city): """ 功能:获取用户目标和环境信息 参数:user_command-用户指令,city-当前城市 返回:整理后的任务信息 """ # 解析用户指令(这里简化处理,实际可结合LLM解析复杂指令) task_info = { "target": user_command, "city": city, "status": "待执行" # 任务状态:待执行/执行中/完成/失败 } print(f"【感知模块】收集到任务信息:{ task_info}") return task_info # 2. 规划模块:拆分任务步骤 def planning_module(task_info): """ 功能:根据目标拆分具体执行步骤 参数:task_info-感知模块传递的任务信息 返回:任务步骤列表 """ if "查天气" in task_info["target"]: # 拆分任务为2步:查询天气→生成穿衣建议 steps = [ { "step": 1, "action": "call_weather_api", "desc": "调用天气接口查询目标城市天气"}, { "step": 2, "action": "generate_advice", "desc": "根据天气生成穿衣建议"} ] print(f"【规划模块】拆分任务步骤:{ steps}") return steps else: print("【规划模块】暂不支持该任务类型") return None # 3. 执行模块:调用工具执行步骤(模拟调用天气API) def execution_module(steps, city): """ 功能:执行规划好的步骤,调用外部工具 参数:steps-规划模块传递的步骤列表,city-目标城市 返回:执行结果 """ results = [] # 模拟天气API返回结果(实际项目中替换为真实接口) weather_api_url = f"https://api.mock.com/weather?city={ city}" for step in steps: if step["action"] == "call_weather_api": # 模拟请求API(实际使用requests.get(weather_api_url)) mock_weather = { "city": city, "temperature": 18, "weather": "多云转晴", "wind": "3级西北风" } results.append({ "step": step["step"], "result": mock_weather, "status": "success"}) print(f"【执行模块】步骤{ step[step]}执行完成,结果:{ mock_weather}") elif step["action"] == "generate_advice": # 根据天气生成穿衣建议 weather_data = results[0]["result"] if weather_data["temperature"] < 10: advice = f"{ city}今日{ weather_data[weather]},气温{ weather_data[temperature]}℃,建议穿羽绒服+围巾" elif 10 <= weather_data["temperature"] <= 20: advice = f"{ city}今日{ weather_data[weather]},气温{ weather_data[temperature]}℃,建议穿毛衣+薄外套" else: advice = f"{ city}今日{ weather_data[weather]},气温{ weather_data[temperature]}℃,建议穿T恤+长裤" results.append({ "step": step["step"], "result": advice, "status": "success"}) print(f"【执行模块】步骤{ step[step]}执行完成,结果:{ advice}") return results # 4. 反馈模块:验证结果是否符合目标 def feedback_module(task_info, results): """ 功能:验证执行结果是否满足用户需求,给出最终反馈 参数:task_info-初始任务信息,results-执行模块的执行结果 返回:最终反馈信息 """ # 检查所有步骤是否执行成功 all_success = all([r["status"] == "success" for r in results]) if all_success and "穿衣建议" in results[-1]["result"]: final_feedback = { "task_status": "完成", "user_target": task_info["target"], "final_result": results[-1]["result"], "message": "任务已成功完成" } else: final_feedback = { "task_status": "失败", "message": "部分步骤执行失败,请检查" } print(f"【反馈模块】最终任务反馈:{ final_feedback}") return final_feedback # 主函数:串联所有模块,形成完整智能体 def simple_ai_agent(user_command, city): """ 功能:AI智能体主入口 参数:user_command-用户指令,city-目标城市 返回:最终结果 """ # 1. 感知:收集信息 task_info = perception_module(user_command, city) # 2. 规划:拆分步骤 steps = planning_module(task_info) if not steps: return "任务无法执行" # 3. 执行:完成步骤 results = execution_module(steps, city) # 4. 反馈:验证结果 final_result = feedback_module(task_info, results) return final_result # 测试智能体 if __name__ == "__main__": # 用户指令:查北京天气并给穿衣建议 user_input = "帮我查一下北京今天的天气,顺便说下穿什么" target_city = "北京" print("="*50) print(f"用户输入:{ user_input}") print("="*50) # 运行智能体 agent_result = simple_ai_agent(user_input, target_city) print("="*50) print(f"智能体最终输出:{ agent_result[final_result]}") print("="*50)

三、代码运行说明&核心要点

1. 运行方式:将代码保存为ai_agent_001.py,打开终端执行python ai_agent_001.py,即可看到智能体完整的运行流程;

2. 核心要点:这个极简框架虽然没有用到复杂的大模型,但完整保留了AI智能体的4大核心模块。后续系列文章中,我们会用GPT-4 API替换“指令解析”部分,用真实工具接口(比如12306、外卖API)替换模拟接口,让智能体具备真正的实用价值;

3. 新手提示:先理解“模块拆分”的思路,再逐行看代码注释,重点关注4个模块之间的数据传递逻辑——感知模块给规划模块传任务信息,规划模块给执行模块传步骤,执行模块给反馈模块传结果,最终形成闭环。

四、下一篇预告&互动话题

下一篇(系列002)我们将深入拆解“规划模块”,讲解如何用大模型实现复杂任务的自动拆分,比如“帮我写一篇关于AI智能体的周报,并发送给领导邮箱”这种多步骤任务。

互动话题:你平时最想让AI智能体帮你完成什么任务?是订机票、整理文件,还是自动写报告?评论区留言,点赞最高的需求,我们会在后续文章中直接实现成可运行的代码!

关注我,每天进步一点,100篇文章后,你也能独立开发AI智能体!咱们下一篇见~

上一篇:AI应用指引来了,教师该怎么干
下一篇:华硕确认未来不再推出新手机,专注 AI 应对“第四次工业革命”
相关文章