AI Agent实战开发从零搭建一个能自主决策的任务助手

为什么你需要了解AI Agent实战开发

AI Agent(智能体)是一种能自主感知环境、制定计划并调用工具完成任务的程序。
很多运维场景——比如自动处理服务器告警、定时执行配置检查——都可以用Agent来简化。
这篇教程会带你从零开始写一个能联网查询天气并自动决策的Agent,所有操作都在本地Linux服务器上完成。

动手前先准备好这些

开发AI Agent至少需要一台能联网的Linux服务器(或虚拟机),以及Python 3.8以上版本。
建议使用conda或venv创建独立环境,避免依赖冲突。

# 创建一个Python虚拟环境
python3 -m venv agent_env
source agent_env/bin/activate

# 升级pip并安装核心库
pip install --upgrade pip
pip install langchain openai requests

如果你选择使用国内云服务器,注意检查外网访问权限(API调用需要联网)。
另外准备一个OpenAI API Key或兼容的API接口,本地测试可以用免费的小型模型(如ChatGLM或通义千问的API)。

写一个能自主决策的Agent核心代码

下面这个例子使用LangChain的Agent框架,让Agent能自动选择“搜索”或“计算”工具来回答用户问题。

from langchain.agents import initialize_agent, Tool
from langchain.llms import OpenAI
from langchain.tools import tool
import requests

# 定义天气查询工具
@tool
def get_weather(city: str) -> str:
    """根据城市名返回当前天气情况"""
    # 这里用一个免费API示例,实际使用时替换成真实key
    url = f"https://api.openweathermap.org/data/2.5/weather?q={city}&appid=YOUR_API_KEY"
    resp = requests.get(url)
    return resp.json().get("weather", [{}])[0].get("description", "未知")

# 初始化LLM(以OpenAI为例)
llm = OpenAI(api_key="YOUR_API_KEY", temperature=0)

# 组合工具列表
tools = [get_weather]

# 创建Agent
agent = initialize_agent(
    tools,
    llm,
    agent="zero-shot-react-description",
    verbose=True
)

# 测试
if __name__ == "__main__":
    result = agent.run("北京今天的天气适合跑步吗?请先查询天气,然后给出建议。")
    print(result)

代码里@tool装饰器把普通函数变成Agent可调用的工具;initialize_agent把LLM和工具组合在一起,Agent会根据用户问题自动决定是否调用工具以及调用哪个。
运行后会看到Agent的思考链条。

常见报错与避坑指南

1. API Key未设置或无效
如果出现AuthenticationError,检查代码中的YOUR_API_KEY是否已替换为真实Key,并且该Key有调用余额。如果使用国产模型,需要更换llm的类(比如ChatGLM)和API地址。

2. 依赖版本冲突
LangChain更新频繁,推荐锁定版本安装:

pip install langchain==0.1.0 openai==1.6.0

3. Agent卡在无限循环或返回空结果
可能原因是工具返回格式不符合Agent预期。确保工具函数返回的是字符串(str),而不是字典或列表。可以在get_weather里用json.dumps转换。
4. 网络超时
如果使用国内服务器,部分API可能被墙。建议用http代理或换成国内API服务(如阿里云通义千问)。

验证你的Agent是否工作正常

运行上面的代码,你会看到类似这样的输出:

> Entering new AgentExecutor chain...
我需要先查询北京的天气。
Action: get_weather
Action Input: 北京
Observation: clear sky
Thought: 天气晴朗,适合跑步。
Final Answer: 北京今天天气晴朗,非常适合户外跑步!
> Finished chain.

如果Agent正确回答了建议,说明你的开发环境搭建成功,Agent核心逻辑生效。
下面你可以根据自己的业务(比如监控服务器状态、自动执行Shell命令)替换工具函数,把Agent变成真正的运维利器。

如果你在搭建过程中遇到其他报错,优先检查API权限和网络连接。
更复杂的功能(多工具协同、记忆功能)可以在LangChain官方文档中继续学习。

分享到:
上一篇
提示词模板大全教程指南实用实用
下一篇
AI编程工具对比:从安装到实战,零基础选型指南
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意