来源:互联网 更新时间:2026-07-18 07:25
很多人觉得AI Agent听着很玄乎,仿佛是要用一套什么“Agent框架”才能搞出来的高端玩意儿。老实说,这事儿没你想的那么复杂。拆开来看,底层的逻辑并不比你大一那年写过的“while True”循环难多少。今天咱们就动手,把整个思路捋一遍,顺便把代码也一并端出来。
先看普通AI的样子:你问一句,它答一句,典型的“一问一答”模式。特别像你每次在对话框里敲进去一个“1+1等于几”,它乖乖回一个“2”。没有上下文思考,没有工具调用,没有自主决策。

Agent 就不一样了。你给它一个任务,它自己决定用哪套方案——要不要调计算器?要不要读文件?要不要执行一段Python脚本?执行完还得看一眼结果,不满意就再来一遍,直到任务完成为止。
普通AI: "1+1等于几" → "2"
Agent: "帮我算 (15*8+200)/4" → 调计算器 → 拿结果 → "等于80"
区别就在这儿:普通AI是“问你答你”,Agent是“你布置任务,它自己干活”。
如果你看过 Week 1 的聊天机器人代码,应该对下面这个结构很眼熟:
# Week 1 的聊天机器人
while True:
user_input = input("你: ")
reply = api.call(user_input)
print(f"AI: {reply}")
# Week 4 的 Agent
while not done:
response = api.call(messages, tools=[计算器, 读文件, Python沙箱...])
if response wants to use tool:
result = run_tool(response.tool_name, response.args)
messages.append(result) # 把工具结果告诉 AI
else:
print(response.content) # AI 给出最终答案
done = True
看到了吧?结构几乎一模一样,多出来的,就是那一步“判断要不要调用工具”。
所以 Agent 不是什么天外来客,它就是你在 Week 1 基础上多走了一步——AI 不再傻傻等你教它每一步怎么做,而是自己判断:这一步需要用计算器吗?好,调用一下,拿到结果,再看下一步怎么走。一切都是围绕“while + if”这个最基础的控制流展开的。
代码量其实不多,核心逻辑就在一百五十行左右。下面是一份极简但能跑的例子:
import json
from openai import OpenAI
tools = [{
"type": "function",
"function": {
"name": "calculator",
"description": "计算数学表达式",
"parameters": {
"type": "object",
"properties": {
"expression": { "type": "string" }
},
"required": ["expression"]
}
}
}]
def run_agent(client, task, max_iterations=8):
messages = [
{"role": "system", "content": "你是一个Agent,可以用工具完成任务。"},
{"role": "user", "content": task}
]
for i in range(max_iterations):
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages,
tools=tools, # ← 关键:告诉 AI 有哪些工具
stream=False
)
msg = response.choices[0].message
if msg.tool_calls:
# AI 决定调工具
messages.append(msg)
for tc in msg.tool_calls:
args = json.loads(tc.function.arguments)
result = eval(args["expression"]) # 执行工具
messages.append({
"role": "tool",
"tool_call_id": tc.id,
"content": str(result)
})
continue # 回到循环开头,让 AI 看结果
return msg.content # AI 直接回答了
return "达到最大循环次数"
这段代码看似简单,但已经完整覆盖了 Agent 的核心工作流:告诉AI你有哪些工具 → AI 自己判断要不要用 → 调用并返回结果 → AI 继续判断下一步。就这样。没有黑魔法,没有复杂框架,有的就是循环加条件判断。这才是它真正的秘密。
一个 Agent 好不好用,很大程度上看你给它绑了多少工具。下面是这次实现中已经封装好的工具集:
| 工具 | 能干什么 |
|---|---|
| calculator | 安全计算数学表达式 |
| read_file | 读本地文件 |
| write_file | 写入文件 |
| list_files | 列目录 |
| python_repl | 安全执行 Python(沙箱隔离) |
| get_current_time | 查时间 |
| search_docs | 在文档中语义搜索(接入了 RAG) |
你别小看这七样工具。组合起来,很多常见任务都能自动完成,从读文件到查文档,再到执行临时脚本,一个人工智能小助理该有的样子基本都有了。
Agent 真正厉害的地方,不是单次调用一个工具,而是一次任务里反复、多次决策。下面就是个真实场景:
用户:"先看看项目目录有什么文件,读最大的那个,然后总结"
→ Agent: list_files → 发现 plan.md 最大
→ Agent: read_file("plan.md") → 获取内容
→ Agent: 输出总结(全程自己决策,没问我"要读哪个文件")
注意中间这一步:Agent 是先自己看了文件列表,然后判断哪个文件最大、应该读,最后才去读。全程没有问过用户“要读哪个文件”。
这才是 Agent 的“聪明”所在:不是机械执行指令,而是基于当前状态做出下一步决策。你把任务交给它,它就不再追问你,也不打断你,直接干到底。当然,前提是你给了它足够好用的工具。
stream=True,否则拿不到完整的 tool_calls 信息。这是一个小坑,但很多初学者会不小心踩进去。完整代码已经放出来了,GitHub 地址:github.com/Speed-Fanta
所有代码在 week04/ 和 week06/ 两个文件夹里。Week06 是升级版,加了文档检索功能,建议两个都看看。
下一篇预告:Python 新手如何用 AI 辅助两个月做出 6 个项目。到时会聊聊怎么把今天这个 Agent 用在实际项目开发中。
七麦数据官网网页地址 七麦数据官方入口在线首页
币安Binance官方中文网站 币安App最新版下载及新手注册指南
问卷星官方网站入口地址 问卷星网页版在线使用
闲鱼的严选验货在哪里看?闲鱼严选和验货宝哪个可靠
新浪人工智能热点小时报丨2026年06月20日02时_今日实时人工智能热点速递
淘宝直播如何看回放在哪里看?怎么查看淘宝直播回放
PokePay加密卡2026完整指南:申请开卡全攻略+多场景应用技巧
以太坊(ETH)未来数周或持续呈现低迷态势,多重因素制约价格走势
为何比特币BTC价格跌破7.3万美元?一文拆解影响近期比特币行情的五大原因
新手如何购买比特币?2026年新手在币安购买比特币的完整教程
比特币(BTC)与黄金在英国相遇:21Shares将BOLD基金引入伦敦
洛克王国世界S2赛季对战怎么打
迷你网名古风男生霸气(精选100个)
GPT5.6惨遭切脑,Fable 5回归要变弱鸡版?
《梦幻西游》特殊鬼怪怎么抓-隐藏变异鬼应对要点
文雅简易网名男生可爱(精选100个)
动漫《恶之华》剧情介绍
王者荣耀「西行封妖记」【孙权-仙扇使者】6月25日上线!
ThinkBook系列最新价格全解析:2026年选购避坑与实时询价指南
闲鱼严选和验货宝哪个可靠?闲鱼的验货宝怎么样,,
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc