什么是 AI Agent
AI Agent(智能体)是指具有自主决策能力和自我学习能力的计算机程序或机器人。与传统脚本不同,Agent 能够通过感知环境、分析信息、制定决策并执行行动来完成任务。一个典型的智能体架构通常包含三个核心模块:
- 感知模块:负责获取当前环境的状态信息,将其转换为模型可理解的提示词(Prompt),并检索相关的历史记忆。
- 决策模块:基于当前的场景上下文和历史交互记录,利用大语言模型(LLM)的分析能力决定下一步的行动策略。
- 执行模块:根据决策结果调用现有的工具库或 API 接口,执行具体的操作并反馈结果。
这种架构使得 Agent 能够处理复杂的、非确定性的任务,而不仅仅是执行预设的线性流程。
AutoGen 框架简介
AutoGen 是由微软开源的一个多智能体对话框架,旨在简化开发者的工作流。它允许开发者定义多个具有不同角色的智能体,通过对话协作完成复杂任务。在 AutoGen 中,最核心的组件包括:
- AssistantAgent:扮演助手角色,主要负责生成代码、回答问题或提供建议。它依赖 LLM 进行推理。
- UserProxyAgent:扮演用户代理的角色,负责与 AssistantAgent 交互,并执行代码。它可以配置为自动执行代码或等待人工确认。
- CodeExecutor:负责实际运行代码的环境,支持本地执行或 Docker 容器隔离执行。
使用 AutoGen 的核心优势在于其内置的对话循环机制。当 Agent 生成的代码无法运行时,它会接收错误信息,自动尝试修复代码,直到任务成功完成。这种自我修正能力大大降低了开发调试的成本。
环境准备与安装
在开始编写代码之前,需要确保 Python 环境已就绪。推荐使用 Python 3.8 及以上版本。
首先,通过 pip 安装 AutoGen 库:
pip install pyautogen
此外,为了运行绘图和数据分析任务,还需要安装以下依赖库:
pip install matplotlib yfinance pandas
其中,yfinance 用于获取股票数据,matplotlib 用于绘制图表,pandas 用于数据处理。
配置 LLM 是至关重要的一步。你需要拥有一个遵循 OpenAI 规范的大模型 API Key。虽然本文不推荐具体平台,但请确保你的模型支持函数调用或代码解释功能,以获得最佳效果。
基础实现:本地代码执行
最简单的实现方式是在本地 Python 环境中直接运行代码。这种方式适合快速原型验证,但存在安全风险,因为代码将在你的机器上以当前用户权限运行。
以下是基础代码示例:
import os
import autogen
from autogen import AssistantAgent, UserProxyAgent
# 配置 LLM 参数
llm_config = {
"model": "gpt-4-turbo", # 替换为你的模型名称
"api_key": "sk-xxxxx", # 替换为你的 API Key
"base_url": "https://api.openai.com/v1" # 如果是兼容接口需修改
}
assistant = AssistantAgent(
name=,
llm_config=llm_config,
system_message=
)
user_proxy = UserProxyAgent(
name=,
code_execution_config={
: autogen.coding.LocalCommandLineCodeExecutor(work_dir=)
},
human_input_mode=
)
user_proxy.initiate_chat(
assistant,
message=
)


