用100行Python代码理解AI Agent的本质

张开发
2026/4/13 21:20:45 15 分钟阅读

分享文章

用100行Python代码理解AI Agent的本质
“想搞懂 AI Agent 的运行原理面对那些动辄数万行代码的庞大框架容易迷失在复杂的封装里。nanoAgent 用最原始的方式还原了 Agent 的核心逻辑——整个项目仅仅约 100 行 Python 代码却完整实现了基于 OpenAI 函数调用的智能体循环。”一、为什么需要 nanoAgent1.1 当前AI Agent开发的痛点在2025-2026年AI Agent技术呈现爆发式增长。从 LangGraph 到 CrewAI从 OpenAI Agents SDK 到 AutoGPT各种框架层出不穷。但对于初学者来说这些框架往往存在以下问题封装过度底层逻辑被层层包裹难以看清Agent到底在做什么学习曲线陡峭需要同时掌握框架API、概念体系和最佳实践调试困难出现问题时难以定位是逻辑错误还是框架bug1.2 nanoAgent的设计哲学nanoAgent是由开发者sanbuphy开源的一个极简Agent实现项目 。它的核心理念是“用最少的代码展示Agent最核心的逻辑”✅ 仅约100行Python代码✅ 零框架依赖直接使用OpenAI API✅ 完整实现Agent Loop智能体循环✅ 支持Function Calling函数调用✅ 包含基础系统操作工具文件读写、命令执行正如技术博主评价“这是理解 Agent 本质的最佳入门项目” 。二、AI Agent的核心概念科普在深入代码之前我们需要理解AI Agent的三个核心组成部分2.1 什么是AI AgentAI Agent人工智能代理是一个能够自主感知环境、做出决策并执行动作的系统。与传统的一次性问答不同Agent具备以下特征特征说明自主性能在没有人类干预的情况下持续运行工具使用可以调用外部工具如搜索、计算、文件操作记忆能力能记住之前的交互历史目标导向围绕特定目标进行多步骤推理2.2 Agent的核心架构一个最小化的AI Agent包含四个关键组件 2.3 什么是Function CallingFunction Calling函数调用是现代LLM如GPT-4、Claude的核心能力。它允许模型识别何时需要调用外部工具生成符合预定义格式的调用参数暂停文本生成等待工具执行结果继续基于工具返回结果进行推理这就像是给LLM装上了手让它从只会说话变成能动手做事。三、nanoAgent代码深度解析3.1 项目结构概览nanoAgent的代码结构极其简洁nanoAgent/├── agent.py # 核心Agent类约100行├── tools.py # 工具定义文件读写、命令执行├── config.py # 配置管理└── main.py # 入口程序3.2 核心Agent类实现nanoAgent的核心是一个简单的循环结构完美诠释了“Agent LLM 工具 循环”的公式 class Agent: def __init__(self, tools): self.client OpenAI() # 初始化OpenAI客户端 self.tools tools # 注册可用工具 self.messages [] # 对话历史短期记忆 def run(self, goal, max_turns10): Agent主循环 self.messages.append({role: user, content: goal}) for i in range(max_turns): # 1. 调用LLM进行推理 response self.client.chat.completions.create( modelgpt-4, messagesself.messages, toolsself.tools.schemas # 告诉模型有哪些工具可用 ) message response.choices[0].message # 2. 检查是否需要调用工具 if message.tool_calls: # 执行工具并获取结果 tool_results self.execute_tools(message.tool_calls) # 将结果加入对话历史 self.messages.extend(tool_results) else: # 3. 直接输出结果任务完成 return message.content return 达到最大轮次限制3.3 工具系统的实现nanoAgent定义了几个基础但实用的工具 工具名称功能使用场景execute执行系统命令如ls、pwd探索环境、运行程序read_file读取文件内容查看代码、配置文件write_file写入文件内容创建代码、保存结果工具的定义采用OpenAI标准的JSON Schema格式tools [ { type: function, function: { name: execute, description: 执行系统命令, parameters: { type: object, properties: { command: { type: string, description: 要执行的命令 } }, required: [command] } } }, # ... 其他工具定义]3.4 Agent Loop的运行流程让我们通过一个具体例子看看nanoAgent是如何工作的用户输入“请帮我查看当前目录下有哪些文件然后创建一个名为hello.py的文件写入print(‘Hello, nanoAgent!’)”运行过程第1轮LLM思考用户想看文件列表我应该调用execute工具执行ls→ 调用工具execute(ls)→ 工具返回[agent.py, tools.py, config.py, main.py]→ 观察结果加入历史第2轮LLM思考现在我需要创建hello.py文件使用write_file工具→ 调用工具write_file(hello.py, print(Hello, nanoAgent!))→ 工具返回文件写入成功→ 观察结果加入历史第3轮LLM思考任务已完成不需要再调用工具直接回复用户→ 最终输出已完成我查看了当前目录包含agent.py等文件并创建了hello.py。这个循环展示了Agent的自主决策能力模型自己决定何时停止思考、何时调用工具、何时给出最终答案。四、动手实践从零运行nanoAgent4.1 环境准备# 克隆项目git clone https://github.com/sanbuphy/nanoAgent.gitcd nanoAgent# 创建虚拟环境python -m venv venvsource venv/bin/activate # Windows: venv\Scripts\activate# 安装依赖pip install openai python-dotenv4.2 配置API密钥创建.env文件OPENAI_API_KEYyour_api_key_here4.3 运行示例from agent import Agentfrom tools import Tools# 初始化工具和Agenttools Tools()agent Agent(tools)# 运行Agentresult agent.run(创建一个简单的待办事项应用包含添加和查看功能)print(result)4.4 实际应用场景nanoAgent虽然简单但能完成许多实用任务场景1代码生成与调试输入帮我写一个Python脚本计算斐波那契数列前20项→ Agent会创建文件 → 写入代码 → 执行验证 → 返回结果场景2文件管理与分析输入分析当前目录下所有.py文件的行数并生成统计报告→ Agent会列出文件 → 逐个读取 → 统计行数 → 生成报告文件场景3自动化工作流输入检查系统磁盘使用情况如果超过80%则记录到warning.log→ Agent会执行df命令 → 分析输出 → 条件判断 → 写入日志五、总结与思考7.1 nanoAgent的价值nanoAgent的最大价值不在于它的功能强大而在于它的教育意义去神秘化Agent证明Agent并不复杂核心是循环工具调用建立直觉通过阅读100行代码建立对Agent工作机制的直观理解降低门槛让初学者敢于动手修改和实验正如Tessl.io播客中Yaniv Aknin所说“在100行代码中你能得到一个真正工作的Agent。如果你让它做一个待办应用它真的能做出一个能点击、能用的应用” 。7.2 一些建议先读源码再跑程序花30分钟逐行阅读agent.py理解每一行的作用动手修改尝试添加新工具如网络搜索、数据库查询对比学习阅读后用LangGraph重写同样功能体会框架的价值关注本质无论框架如何变化Agent的核心始终是观察-思考-行动的循环学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多文章