前言

2026年是 AI Agent落地爆发元年。

从CSDN技术热度、企业招聘方向、开源项目趋势可以明显看出:

单纯调用大模型 API 的时代已经结束,具备自主思考、任务规划、工具调用、迭代纠错的AI智能体 已经成为开发者必备核心能力。

很多新手学习AI的痛点:

  • 只会简单调接口,不懂 Agent 运行逻辑

  • 网上代码残缺、跑不起来

  • 分不清普通对话模型和智能体的区别

  • 无法自己拓展工具、搭建自动化任务流程

本文从零手写原生AI Agent,不依赖复杂框架,两段完整可运行代码(基础版+多功能拓展版),结构清晰、适合学习、课设、毕设、发文复盘。

一、为什么一定要学 AI Agent?

1.1 技术迭代趋势

  • 普通大模型:被动问答、无逻辑、无执行能力、无规划

  • AI Agent:思考 → 判断 → 调用工具 → 执行任务 → 整理结果

Agent 才是当下真正的 AI 自动化核心。

1.2 学习&就业优势

  • 2026 企业大量招聘 AI 应用开发、智能体工程化岗位

  • Agent 项目毕设通过率高、创新性强

  • 可拓展:办公自动化、RAG知识库、多智能体协作、智能问答机器人

二、AI Agent 核心四大模块(必懂原理)

所有智能体无论多复杂,底层只有四件套:

  1. 感知模块:接收用户输入、读取上下文信息

  2. 规划模块:大模型自主拆解复杂任务、判断是否需要工具

  3. 工具执行模块:调用计算器、时间、搜索、文件等外部能力

  4. 迭代整理模块:根据工具返回结果二次整理、输出标准答案

一句话总结:大模型是大脑,Agent 是手脚与执行逻辑。

三、最简原生AI Agent(基础版|可直接运行)

3.1 环境依赖

pip install openai python-dotenv

3.2 基础版完整源码

from openai import OpenAI
import os
from dotenv import load_dotenv

加载环境变量

load_dotenv()

初始化大模型客户端

client = OpenAI(
api_key=os.getenv(“API_KEY”),
base_url=os.getenv(“BASE_URL”)
)

工具:数学计算器

def calculator_tool(expression: str):
“”“数学表达式计算工具”“”
try:
return str(eval(expression))
except:
return “表达式错误,计算失败”

工具注册表

TOOLS = {
“calculator”: calculator_tool
}

系统提示词:约束Agent行为

SYSTEM_PROMPT = “”"
你是具备工具调用能力的AI Agent。
可用工具:

  1. calculator:数学计算,参数为数学表达式

调用规则:

  1. 需要计算时严格输出:【tool】calculator|表达式
  2. 不需要工具直接自然语言回答
  3. 禁止多余文字、禁止解释格式
    “”"

def run_agent(user_query: str):
messages = [
{“role”: “system”, “content”: SYSTEM_PROMPT},
{“role”: “user”, “content”: user_query}
]

# Agent 第一次思考判断
res = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=messages,
    temperature=0.2
)
reply = res.choices[0].message.content.strip()

# 触发工具调用逻辑
if reply.startswith("【tool】"):
    tool_info = reply.replace("【tool】","").split("|")
    tool_name, param = tool_info[0], tool_info[1]
    tool_result = TOOLS[tool_name](param)

    # 二次整理结果输出最终答案
    final_msg = messages + [
        {"role": "assistant", "content": reply},
        {"role": "user", "content": f"工具返回结果:{tool_result},请整理成自然答案"}
    ]

    final_res = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=final_msg,
        temperature=0.2
    )
    return final_res.choices[0].message.content.strip()

return reply

程序入口测试

if name == “main”:
print(run_agent(“计算 128*96 + 45**2 - 88/2”))
print(run_agent(“什么是AI Agent?”))

3.3 基础版功能

  • 自动识别数学计算任务并调用计算器

  • 普通问答直接回答,不浪费接口资源

  • 极简架构,新手最容易理解

四、升级版|多功能AI Agent(多工具拓展版)

4.1 环境依赖

pip install openai python-dotenv datetime

4.2 拓展版完整源码(CSDN高质量规范)

from openai import OpenAI
import os
from datetime import datetime
from dotenv import load_dotenv

加载配置文件

load_dotenv()

初始化客户端

client = OpenAI(
api_key=os.getenv(“API_KEY”),
base_url=os.getenv(“BASE_URL”)
)

====================== 自定义工具库 ======================

def calculator_tool(expression: str) -> str:
“”“数学计算工具:支持四则运算、平方、括号表达式”“”
try:
return f"计算结果:{eval(expression)}"
except Exception as e:
return f"计算失败:{str(e)}"

def get_time_tool(param: str = “”) -> str:
“”“获取当前系统时间”“”
now = datetime.now().strftime(“%Y-%m-%d %H:%M:%S”)
return f"当前时间:{now}"

工具统一注册管理

TOOL_LIST = {
“calculator”: calculator_tool,
“get_time”: get_time_tool
}

====================== Agent 设定 ======================

SYSTEM_PROMPT = “”"
你是多功能AI智能体,拥有以下工具:

  1. calculator:数学计算
  2. get_time:获取当前时间

调用格式:
必须严格输出:【tool】工具名|参数
无需工具直接正常回答,禁止多余解释。
“”"

def agent_run(user_input: str) -> str:
messages = [
{“role”: “system”, “content”: SYSTEM_PROMPT},
{“role”: “user”, “content”: user_input}
]

# 第一轮思考决策
resp = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=messages,
    temperature=0.1
)
res_content = resp.choices[0].message.content.strip()

# 工具调用逻辑
if res_content.startswith("【tool】"):
    tool_name, args = res_content.replace("【tool】", "").split("|")
    result = TOOL_LIST[tool_name](args)

    # 二次整合输出
    final_msg = messages + [
        {"role": "assistant", "content": res_content},
        {"role": "user", "content": f"工具执行结果:{result},请整理回答用户"}
    ]
    final_resp = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=final_msg,
        temperature=0.1
    )
    return final_resp.choices[0].message.content.strip()

return res_content

====================== 测试入口 ======================

if name == “main”:
print(agent_run(“计算 36*25 + 15**3 - 99/3”))
print(agent_run(“现在几点了?”))
print(agent_run(“AI Agent和普通大模型有什么区别?”))

4.3 配置文件 .env

API_KEY=你的key
BASE_URL=你的代理地址

五、代码优势与亮点

  1. 纯原生手写:无框架封装,适合学习底层原理

  2. 可无限拓展:只需在工具字典新增函数即可

  3. 结构规范:完全符合 CSDN 技术文章代码排版标准

  4. 低耦合、易改造:可直接改成毕设、课设项目

六、可拓展方向

  • 新增爬虫工具、文件解析工具

  • 接入搜索 API 实现实时联网问答

  • 接入向量数据库实现 RAG 知识库问答

  • 改造为多智能体协作系统

七、新手避坑总结

  1. 不要一上来就用 LangChain,手写原生Agent才是扎实基础

  2. Agent 核心是结构化输出 + 工具调度

  3. 所有智能体本质都是:思考 → 决策 → 执行 → 复盘

总结

本文完整实现了 极简原生AI Agent 和 多功能拓展版Agent,


更多推荐