共计 2097 个字符,预计需要花费 6 分钟才能阅读完成。
核心概念:什么是智能体(Agent)
智能体 (Agent) 是能够感知环境、自主决策并执行动作的 AI 实体。它具备三个核心特征:

- 自主性(Autonomy):无需人工干预即可独立运行
- 反应性(Reactivity):能实时感知环境变化并作出响应
- 目标导向(Goal-oriented):所有行为都服务于特定目标
在 AI 领域,智能体可以是简单的聊天机器人,也可以是复杂的自动驾驶系统。我们今天要构建的是最基础的对话型智能体。
开发环境准备
建议使用 conda 创建隔离的 Python 环境,避免依赖冲突:
conda create -n ai_agent python=3.8
conda activate ai_agent
关键的依赖包(保存到 requirements.txt):
openai>=0.27.0
python-dotenv>=0.19.0
aiohttp>=3.8.0
安装命令:
pip install -r requirements.txt
基础架构:感知 - 决策 - 执行循环
智能体的基本工作流程可以用这个最小化框架表示:
class BasicAgent:
def __init__(self):
self.state = {} # 内部状态存储
def perceive(self, environment):
"""感知环境输入"""
return environment
def decide(self, perception):
"""基于输入做出决策"""
if "hello" in perception.lower():
return "greet"
return "default_response"
def act(self, decision):
"""执行决策对应的动作"""
actions = {
"greet": "Hello! How can I help you today?",
"default_response": "I didn't understand that."
}
return actions.get(decision, "Error: Unknown action")
def run(self, input_text):
"""完整的工作循环"""
perception = self.perceive(input_text)
decision = self.decide(perception)
return self.act(decision)
实战:OpenAI 问答智能体
下面实现一个接入 GPT- 3 的真实智能体,特别注意错误处理:
import openai
import os
from dotenv import load_dotenv
class OpenAIAgent:
def __init__(self):
load_dotenv() # 从.env 加载 API 密钥
self.api_key = os.getenv("OPENAI_API_KEY")
if not self.api_key:
raise ValueError("Missing OPENAI_API_KEY in environment")
openai.api_key = self.api_key
async def ask_gpt(self, question):
"""异步调用 OpenAI API"""
try:
response = await openai.ChatCompletion.acreate(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": question}],
timeout=10 # 重要:设置超时避免无限等待
)
return response.choices[0].message.content
except openai.error.RateLimitError:
return "Error: API rate limit exceeded. Please wait..."
except openai.error.APIConnectionError:
return "Error: Failed to connect to OpenAI servers"
except Exception as e:
return f"Error: {str(e)}"
使用时需要创建.env 文件存储密钥:
OPENAI_API_KEY=your_api_key_here
性能优化建议
- 异步处理:使用 async/await 避免阻塞主线程
- 请求批处理:将多个问题合并为一个 API 调用
- 本地缓存:对常见问题答案建立缓存机制
- 延迟监控:记录每个请求的响应时间,识别瓶颈
新手常见错误
-
错误 1:硬编码 API 密钥
解决方案:始终使用环境变量或密钥管理服务 -
错误 2:忽略速率限制
解决方案:实现自动重试和退避机制 -
错误 3:无状态设计
解决方案:使用数据库或内存缓存维持对话上下文
下一步学习路线
- 多智能体系统(Multi-Agent Systems)
- 长期记忆模块(Long-term Memory)
- 强化学习训练(RL Training)
- 知识图谱集成(Knowledge Graph)
通过这个基础框架,你已经掌握了智能体开发的核心模式。接下来可以尝试添加更多功能模块,比如用户画像分析、多轮对话管理等,逐步构建更强大的 AI 助手。
正文完
