学习跑通一个agent+llm的demo
时间: 2025-07-25 21:31:41 AIGC 浏览: 26
<think>我们正在讨论如何运行一个结合Agent和LLM的示例。根据引用[2],我们知道Multi-Agent系统是当前的一个研究方向,其中提到了Stanford Town和MetaGPT等案例。因此,我们可以参考这些项目来构建一个简单的示例。
由于用户希望“跑通”一个示例,我们需要提供一个具体的、可操作的步骤。考虑到用户可能希望快速上手,我们选择使用一个现有的、易于上手的框架。这里我们选择MetaGPT,因为它是一个开源的Multi-Agent框架,并且有详细的文档和示例。
### 步骤概述
1. **环境准备**:安装Python和必要的依赖。
2. **安装MetaGPT**:通过pip安装MetaGPT。
3. **配置API密钥**:设置OpenAI API密钥(或其他LLM提供商的密钥)。
4. **运行示例**:使用MetaGPT提供的示例脚本。
### 详细步骤
#### 1. 环境准备
确保你的系统已经安装了Python(建议3.9+版本)。然后,创建一个虚拟环境(可选,但推荐):
```bash
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
```
#### 2. 安装MetaGPT
使用pip安装MetaGPT:
```bash
pip install -U metagpt
```
#### 3. 配置API密钥
MetaGPT默认使用OpenAI的LLM,因此需要设置OpenAI API密钥。你可以通过环境变量设置:
```bash
export OPENAI_API_KEY="your-api-key" # Linux/macOS
set OPENAI_API_KEY="your-api-key" # Windows
```
或者,在代码中设置(不推荐,因为可能暴露密钥):
```python
import os
os.environ["OPENAI_API_KEY"] = "your-api-key"
```
#### 4. 运行示例
MetaGPT提供了一个简单的示例,我们可以创建一个包含多个Agent的团队来完成一个任务。以下是一个示例脚本,创建一个团队来编写一个简单的代码:
```python
from metagpt.team import Team
async def main(idea: str):
team = Team()
team.hire(
[
"Product Manager",
"Architect",
"Project Manager",
"Engineer",
]
)
team.run_project(idea=idea)
await team.run()
if __name__ == '__main__':
import asyncio
asyncio.run(main(idea="编写一个简单的贪吃蛇游戏"))
```
将上述代码保存为`snake_game.py`,然后运行:
```bash
python snake_game.py
```
这个示例会创建一个团队,包括产品经理、架构师、项目经理和工程师,他们协作编写一个贪吃蛇游戏。运行后,你将在当前目录下看到生成的代码文件。
### 注意事项
- 运行过程中,MetaGPT会调用OpenAI的API,因此需要确保网络畅通,并且API密钥有效。
- 由于需要多次调用API,可能会产生一定的费用。
- 生成的代码可能还需要人工检查和调整。
### 相关问题
1. 如何为MetaGPT配置其他大语言模型(如本地部署的LLM)?
2. 如何自定义Agent的行为和角色?
3. 除了编写代码,MetaGPT还能完成哪些类型的任务?</think>### 如何运行一个结合Agent与LLM的示例教程
下面以**MetaGPT框架**为例(引用[2]中提到的多Agent系统),提供完整的运行流程。MetaGPT是一个开源的LLM Agent框架,支持多Agent协作完成复杂任务。
---
#### **步骤1:环境准备**
```bash
# 创建Python虚拟环境(推荐3.9+)
python -m venv agent-env
source agent-env/bin/activate # Linux/macOS
agent-env\Scripts\activate # Windows
# 安装核心依赖
pip install openai metagpt
```
#### **步骤2:配置API密钥**
在代码中设置OpenAI API密钥(或替换为其他LLM服务):
```python
import os
os.environ["OPENAI_API_KEY"] = "sk-xxx" # 替换为你的API密钥
```
#### **步骤3:编写基础Agent示例**
创建一个文件`simple_agent.py`:
```python
from metagpt.actions import Action
from metagpt.roles import Role
# 定义Agent行为
class WriteCode(Action):
name: str = "WritePythonCode"
async def run(self, prompt: str):
return f"""def {prompt}():
print("Hello from LLM Agent!")"""
# 定义Agent角色
class Developer(Role):
name: str = "Alex"
profile: str = "Python Developer"
def __init__(self):
super().__init__()
self.set_actions([WriteCode])
# 运行Agent
async def main():
agent = Developer()
result = await agent.run("hello_world")
print(result) # 输出生成的代码
if __name__ == "__main__":
import asyncio
asyncio.run(main())
```
#### **步骤4:执行与结果**
运行脚本:
```bash
python simple_agent.py
```
**输出示例**:
```python
def hello_world():
print("Hello from LLM Agent!")
```
---
#### **进阶:多Agent协作(引用[2])**
MetaGPT支持多Agent协作(如Stanford Town架构):
```python
from metagpt.team import Team
async def startup(idea: str):
company = Team()
company.hire([
Role("Product Manager", "分析用户需求"),
Role("Architect", "设计系统架构"),
Role("Engineer", "编写代码")
])
await company.run(idea=idea)
# 运行团队协作
asyncio.run(startup("开发天气查询Agent"))
```
运行后会生成:
1. 需求文档
2. 系统设计图
3. 可执行代码
---
#### **关键概念说明**
1. **Agent组成**(引用[3]):
- **角色定义**(Role):如开发者、产品经理
- **行为**(Action):如写代码、需求分析
- **记忆**:上下文保持
- **决策**:LLM驱动的推理
2. **工作流程**:
$$ \text{用户输入} \to \text{Agent规划} \to \text{LLM处理} \to \text{动作执行} \to \text{结果反馈} $$
---
#### **其他框架推荐**
1. **LangChain**:适合快速原型开发
```bash
pip install langchain openai
```
2. **AutoGen**(微软):支持复杂对话编排
---
阅读全文
相关推荐

















