AI Agent 工作原理与Python实现,小白也能学会大模型应用

发布时间:2026/10/24 6:41:28
AI Agent 工作原理与Python实现,小白也能学会大模型应用 本文深入浅出地介绍了AI Agent的工作原理将模型、工具、状态管理结合使程序能多步执行任务。通过Python实例模拟了Agent的感知、决策、行动和记忆模块构建了一个简单的命令行Agent帮助初学者理解大模型在实践中的应用。文章还探讨了Agent的类型、执行流程以及如何升级为真正的LLM Agent为读者提供了从基础到进阶的全面指导。AI Agent 工作原理前面我们已经介绍了 AI Agent 的基本概念和核心组件。接下来看看这些组件是如何协同工作的以及如何使用 Python 实现一个简单的 Agent。传统的大语言模型LLM主要根据输入的上下文生成回答。如果没有连接外部工具它通常无法直接读取本地文件、查询实时数据或操作其他软件。AI Agent 则在模型基础上结合工具调用、任务状态管理和执行控制使程序能够根据目标执行多个操作步骤并利用执行结果决定下一步做什么。例如用户提出读取 Excel 文件统计销售额并生成图表。Agent 可以读取文件、调用 Python 处理数据、生成图表最后将结果保存到指定目录。AI Agent 的关键在于模型负责决策工具负责执行程序根据执行反馈持续推进任务。AI Agent 的基本组成一个典型的 LLM Agent 通常包含模型、工具和任务状态管理等部分。组成部分主要作用模型LLM理解任务、分析上下文决定下一步操作。工具Tools执行文件操作、搜索、计算和 API 调用。状态与记忆State / Memory记录任务进度、对话历史和工具执行结果。执行控制Agent Runtime调度工具、处理错误、控制循环和终止任务。其中模型通常负责生成决策工具负责与外部环境交互执行程序则负责组织整个任务流程。对于简单任务Agent 可能不需要复杂的规划系统或长期记忆对于多步骤任务则需要保存任务状态以便根据执行结果继续工作。AI Agent 的类型Agent 并不都是通过大语言模型实现的。在人工智能研究中智能体可以根据决策机制和系统架构分为不同类型。Agent 类型主要特点应用场景反应式 AgentReactive Agent根据当前输入或环境状态作出响应规则控制、简单游戏 AI目标导向 AgentGoal-based Agent根据目标选择能够推进任务的操作任务规划、自动化工作流效用型 AgentUtility-based Agent通过效用函数比较不同操作的预期效果路径规划、资源优化学习型 AgentLearning Agent通过学习机制改进决策策略强化学习、智能控制多智能体系统Multi-Agent由多个 Agent 协作完成任务软件开发、复杂任务协作上述类型并不完全互斥。例如一个目标导向 Agent 也可以具有学习能力多智能体系统中的每个 Agent 也可以采用不同的决策机制。目前常见的 LLM Agent通常围绕用户目标利用大语言模型选择工具、处理反馈并执行任务。AI Agent 的执行流程理解 Agent 工作原理最重要的是理解它的执行循环Agent Loop。一种常见的实现方式是 ReActReasoning and Acting即将推理和行动结合起来。Agent 不一定一次完成所有决策而是可以根据工具执行结果持续判断下一步应该做什么。基本过程如下用户输入任务↓模型分析当前任务↓选择工具并生成参数↓执行程序调用工具↓获取工具返回结果↓模型判断任务是否完成├──未完成继续调用工具└──已完成输出最终结果例如用户要求查找某个 Python 库的最新版本并生成安装命令。Agent 判断需要查询软件包版本。调用软件包信息查询工具。获取版本号和相关信息。根据查询结果生成安装命令。检查结果是否满足要求然后向用户返回。如果查询失败Agent 可以根据错误信息重试也可以选择停止任务并报告失败原因。需要注意ReAct 只是 Agent 的一种执行模式。实际系统也可以使用预定义工作流、任务规划器或其他编排机制。一次完整的工具调用过程假设用户提出以下任务帮我计算商品总价单价 89 元购买 6 件再减去 30 元优惠券。Agent 可以按照下面的方式处理第一步理解任务模型识别出单价、数量和优惠金额判断需要执行数值计算。第二步选择工具假设系统提供了名为calculate_total的计算工具模型可以生成以下参数{price:89,quantity:6,discount:30}第三步执行工具Agent 的执行程序接收参数调用实际的 Python 函数def calculate_total(price, quantity, discount):return price * quantity - discount第四步获取结果工具返回504第五步生成回答模型根据工具返回的结果向用户说明商品总价为 89 × 6 534 元减去 30 元优惠券后实际需要支付 504 元。这个过程展示了 Agent 中模型与工具的分工模型负责理解任务和选择操作执行程序调用函数工具计算结果最后再由模型整理回答。Python 中实现 AI Agent下面使用 Python 实现一个简单的 Agent 工作流程。为了方便初学者理解我们先使用普通 Python 函数分别模拟感知、决策、行动和记忆模块再将它们组合成一个可以运行的程序。注意下面的基础示例使用关键词匹配进行决策没有连接真正的大语言模型因此属于 Agent 工作流程的教学模拟而不是完整的 LLM Agent。1、感知模块感知模块负责获取外部输入。在命令行程序中最简单的感知方式就是使用 Python 的input()函数读取用户输入。实例# 感知模块读取用户输入def perceive(): user_inputinput(请输入指令)returnuser_input.strip()# 获取用户输入messageperceive()print(收到指令, message)执行程序后假设输入请输入指令计算105收到指令计算105这里的感知模块只处理文本输入。对于其他 Agent还可以通过 API 获取数据、读取文件或者使用多模态模型处理图片和音频。2、决策模块决策模块负责分析输入决定执行什么操作。真实的 LLM Agent 通常利用模型进行任务理解和工具选择。这里先通过关键词判断模拟这一过程。实例# 决策模块根据关键词选择操作def make_decision(message): messagemessage.strip()ifmessage.lower()in(退出,exit,quit):returnexitif天气inmessage:returnweatherif计算inmessage:returncalculatorreturnchat# 测试决策模块message帮我计算 10 5decisionmake_decision(message)print(决策结果, decision)执行结果决策结果 calculator该示例只负责识别任务类型并没有理解完整的数学表达式。在实际 Agent 系统中模型可以根据工具说明和用户指令生成更具体的操作参数。3、工具与行动模块行动模块负责执行决策模块选择的操作。工具可以是普通 Python 函数也可以是外部 API、数据库接口或代码执行环境。下面定义一个简单的计算器工具支持加、减、乘、除运算。实例# 计算器工具def calculator(a, b,operator):ifoperator:returna bifoperator-:returna - bifoperator*:returna * bifoperator/:ifb0: raiseValueError(除数不能为 0)returna / b raiseValueError(不支持的运算符)# 调用工具resultcalculator(3,5,*)print(计算结果, result)执行结果计算结果15在这个例子中calculator()就是一个工具。Agent 可以根据任务需要调用它并使用其返回结果。相比直接使用eval()这种明确指定运算符的方式更容易限制允许执行的操作。对于更复杂的计算器可以使用 Python 的ast模块解析受限制的数学表达式但不应该直接使用eval()执行不可信的用户输入。4、记忆模块记忆模块用于保存对话历史、任务状态以及工具调用结果。对于简单的命令行 Agent可以使用 Python 列表保存当前会话内容。实例# 使用列表保存对话历史history[]def save_message(role, content): history.append({role:role,content:content})# 模拟用户与 Agent 的对话save_message(user,计算 3 5)save_message(assistant,计算结果8)save_message(user,再乘以 2)save_message(assistant,计算结果16)# 查看历史记录foriteminhistory: print(item[role],:, item[content])执行结果user :计算35assistant :计算结果8user :再乘以2assistant :计算结果16这里的历史记录是预先写入的示例数据仅用于演示保存方式并不表示程序已经能够理解再乘以 2这样的上下文指令。如果需要让 Agent 真正利用对话历史作出决策可以将相关历史信息传递给模型或者在执行程序中维护明确的任务状态。对于需要跨会话保存的数据可以进一步使用 SQLite、Redis 或其他数据库。实践练习创建一个简单的命令行 Agent前面分别实现了输入读取、任务判断、工具执行和历史记录。接下来将这些功能组合成一个可以持续运行的命令行程序。这个程序包含以下功能支持连续输入指令。根据关键词选择天气或计算工具。支持加、减、乘、除运算。记录本次会话历史。输入退出后结束程序。为了方便测试天气查询使用固定的模拟数据不会调用真实的天气 API。计算器使用正则表达式解析简单算式不执行任意 Python 代码。实例importre# 模拟天气数据WEATHER_DATA{北京:晴25℃,上海:多云23℃,广州:小雨28℃,深圳:晴29℃}# 短期记忆保存对话历史history[]# 感知模块读取输入def perceive(): returninput(您).strip()# 决策模块识别任务类型def make_decision(message):ifmessage.lower()in(退出,exit,quit):returnexitif天气inmessage:returnweatherif计算inmessage orre.search(r/d/s*[//-/*/]/s*/d, message):returncalculatorreturnchat# 天气工具返回模拟数据def get_weather(message):forcity, weatherinWEATHER_DATA.items():ifcityinmessage:returnf{city}天气{weather}模拟数据return请输入北京、上海、广州或深圳进行查询。# 计算器工具def calculator(message):# 只识别两个数字组成的简单算式pattern(r(-?/d(?:/./d)?)r/s*([//-/*/])/s*r(-?/d(?:/./d)?))matchre.search(pattern, message)ifnot match:return请输入算式例如计算 10 5afloat(match.group(1))opmatch.group(2)bfloat(match.group(3))ifop:resulta belifop-:resulta - belifop*:resulta * belifop/:ifb0:return计算错误除数不能为 0resulta / b else:return不支持的运算符returnf计算结果{result:g}# 行动模块调用对应工具def execute_action(decision, message):ifdecisionweather:returnget_weather(message)ifdecisioncalculator:returncalculator(message)return暂时无法处理该指令请尝试天气查询或计算。# 保存对话历史def save_history(role, content): history.append({role:role,content:content})# Agent 主循环def run_agent(): print(简单 Agent 已启动)print(支持天气查询、算术计算)print(输入退出结束程序/n)whileTrue: try: messageperceive()except(EOFError,KeyboardInterrupt): print(/n程序已结束)breakifnot message:continue# 识别任务decisionmake_decision(message)ifdecisionexit:print(Agent再见)break# 保存用户输入save_history(user, message)# 执行操作responseexecute_action(decision, message)# 输出结果print(Agent, response)# 保存 Agent 回复save_history(assistant, response)# 显示本次对话历史print(/n本次对话历史)foriteminhistory: print(f{item[role]}{item[content]})if__name____main__:run_agent()将以上代码保存为simple_agent.py然后在终端执行python simple_agent.py也可以使用python3 simple_agent.py程序运行示例简单Agent已启动支持天气查询、算术计算输入“退出”结束程序您北京天气Agent北京天气晴25℃模拟数据您计算105Agent计算结果15您计算20/4Agent计算结果5您退出Agent再见本次对话历史user北京天气assistant北京天气晴25℃模拟数据user计算105assistant计算结果15user计算20/4assistant计算结果5程序说明perceive()读取用户输入。make_decision()根据输入识别任务类型。get_weather()返回预先定义的模拟天气数据。calculator()解析并执行简单算术运算。execute_action()根据决策调用对应工具。save_history()保存用户消息和程序回复。run_agent()负责组织整个执行循环。这个程序不依赖第三方 Python 库使用 Python 3 即可运行。需要注意程序的决策逻辑仍然是固定的关键词匹配因此无法像真正的大语言模型一样理解复杂语义也不会根据历史对话自动进行多步骤推理。它的主要目的是展示 Agent 中输入、决策、工具调用、状态保存和执行循环之间的关系。如何将它升级为真正的 LLM Agent上面的程序已经具备基本的执行框架但最重要的决策模块仍由固定规则实现。如果要让程序具备大语言模型驱动的任务理解与工具选择能力可以将关键词匹配替换为 LLM 的工具调用机制。基本步骤如下选择一个支持工具调用的大语言模型。定义可以调用的工具及参数。将用户任务和工具定义发送给模型。读取模型返回的工具调用请求。验证参数并执行对应的 Python 函数。将工具结果返回给模型继续下一轮处理。任务完成后输出最终结果。例如在基础示例中工具选择是通过以下代码完成的if天气in message:returnweather如果接入支持 Function Calling 的大语言模型就可以让模型根据用户指令及工具说明判断是否需要调用get_weather并生成相关参数。这样就不再需要为每一种自然语言表达单独编写关键词判断规则。不过实际开发仍需要限制工具权限、验证参数、处理调用错误并设置执行次数和运行时间限制。常见开发方式开发 LLM Agent 时可以选择直接调用模型 API也可以使用 Agent 开发框架。开发方式特点适用场景原生 Python LLM API自己实现工具调用和执行循环学习原理、简单 AgentLangChain / LangGraph提供工具集成、状态管理和工作流编排能力多步骤 Agent、复杂业务流程LlamaIndex提供数据连接、检索和 Agent 相关组件知识库、文档处理、数据检索Microsoft Agent Framework提供 Agent 与多 Agent 工作流开发能力企业应用、Agent 协作对于初学者建议先理解 Python 函数调用、JSON 数据、API 请求和任务循环再逐步学习框架。这样更容易理解 Agent 的实际执行过程也方便排查工具调用失败、状态管理错误等问题。总结AI Agent 的工作原理可以概括为接收任务、分析任务、选择工具、执行操作、读取反馈并根据结果决定是否继续执行。一个典型的 LLM Agent 通常包含以下几个关键部分大语言模型理解任务并生成决策。工具执行具体操作并返回结果。状态与记忆保存任务上下文和执行进度。执行循环组织模型调用、工具执行和结果检查。本文通过 Python 实现了一个简单的命令行 Agent 流程模拟展示了这些模块如何协同工作。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询