AI Agent分步教程2026:从零构建你的第一个自主AI Agent
AI Agent分步教程2026:从零构建你的第一个自主AI Agent,含核心参数表与FAQ
💡 你将学到
AI Agent分步教程2026:从零构建你的第一个自主AI Agent,含核心参数表与FAQ
AI Agent分步教程2026:从零构建你的第一个自主AI Agent
"AI Agent"听起来高大上,拆开就是一个循环:思考 → 调用工具 → 看结果 → 再思考,直到任务完成。这篇用最简单的Python代码,从零搭一个能查天气、算数学的自主Agent,不依赖复杂框架,最后附参数表和FAQ。
一、准备工作
- Python 3.10+:官网下载安装,
python --version验证 - 一个API Key:OpenAI、DeepSeek、通义等任选一家,注册后拿Key
- HTTP请求库:
pip install openai(各厂商SDK以官方文档为准)
想免费/离线?换成Ollama本地模型,逻辑不变,只改API地址和模型名。
二、Agent的核心循环
Agent和普通聊天机器人最大的区别是它会用工具。核心循环只有四步:感知(把任务和历史对话发给模型)→ 思考(模型决定直接回答还是调用工具)→ 行动(程序执行模型选中的函数)→ 观察(把工具结果返回给模型),然后循环,直到任务完成。
三、定义工具
工具本质就是"给模型看的说明书 + 一个函数"。用JSON Schema描述工具,模型就能学会调用它。以查天气为例:
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "查询指定城市的天气",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名,如北京"}
},
"required": ["city"]
}
}
}]
def get_weather(city: str) -> str:
return f"{city}今天晴,25°C" # 这里接真实天气API
四、主循环:跑起来
from openai import OpenAI
client = OpenAI() # 本地改 base_url 即可
messages = [{"role": "user", "content": "北京天气怎么样?"}]
for _ in range(10): # 循环上限,防死循环
resp = client.chat.completions.create(
model="gpt-4o-mini", # 换你的模型名
messages=messages,
tools=tools,
)
msg = resp.choices[0].message
if msg.tool_calls: # 模型要调用工具
messages.append(msg)
for tc in msg.tool_calls:
result = globals()[tc.function.name](**eval(tc.function.arguments))
messages.append({
"role": "tool",
"tool_call_id": tc.id,
"content": str(result),
})
else: # 模型给出答案
print(msg.content)
break
跑起来就能看到Agent自动查天气、算乘法再汇总——这就是最小的自主Agent。
五、核心参数表:调好这四个就够
| 参数 | 作用 | 建议 |
|---|---|---|
| model | 模型选择 | 简单任务用小模型省钱,复杂推理用大模型 |
| temperature | 随机性(0-2) | 工具调用场景建议0~0.3 |
| max_tokens | 单次回答上限 | 按任务设,防超长输出烧token |
| 循环上限 | 防死循环 | 5~10轮,超了强制结束 |
六、三个进阶方向
- 加更多工具:文件读写、网页搜索、数据库查询,工具越多能干越多活
- 加记忆:历史关键信息存进列表或向量库,多轮任务不丢上下文
- 加校验:结果先校验再进下一轮;删文件、转账等敏感操作加"人工确认"
常见问题
Q:一定要用框架(LangGraph、CrewAI等)吗? A:不需要,裸代码就是完整Agent。框架用于复杂流程编排和记忆管理,任务复杂了再引入。
Q:Agent会不会死循环烧钱?
A:会。务必设循环上限(代码里的 range(10))和token上限;工具返回异常时让模型报错停止,而不是反复重试。
Q:让AI自己写代码执行,安全吗? A:有风险。执行AI生成的代码务必放沙箱/容器,别直接给本机权限;敏感操作必须人工确认。
Q:本地模型(Ollama)能做Agent吗? A:可以,但小模型工具调用能力弱,建议用支持function calling的模型版本,能力以官方说明为准。
注:示例为最小实现,生产请参考SDK官方文档补充错误处理与安全措施。
相关文章
❓ 常见问题
Can I run this without Ollama?
Yes. Replace with any OpenAI-compatible API.
Can agents call other agents?
Yes — use LangGraph for multi-agent systems.
本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。
