Agent 管理
AIME Chat 基于 Mastra 框架构建了强大的 AI Agent 系统,支持自定义和管理多个 Agent。
什么是 Agent?
Agent 是具有特定能力和行为的 AI 助手。每个 Agent 可以有:
- 独特的系统指令(Instructions)
- 预配置的工具集(Tools)
- 特定的使用场景
- 自定义的记忆管理
- 独立的模型配置
Agent 架构
AIME Chat 的 Agent 系统基于以下核心概念:
┌──────────────────────────────────────┐
│ AIME Chat │
├──────────────────────────────────────┤
│ Mastra Framework │
├──────────────────────────────────────┤
│ ┌──────────┐ ┌──────────┐ │
│ │ Default │ │ Code │ ... │
│ │ Agent │ │ Agent │ │
│ └──────────┘ └──────────┘ │
│ ↓ ↓ │
│ Instructions Instructions │
│ Tools Tools │
│ Memory Memory │
├──────────────────────────────────────┤
│ Tool System │
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │Read │ │Write│ │Bash │ │ ... │ │
│ └─────┘ └─────┘ └─────┘ └─────┘ │
├──────────────────────────────────────┤
│ AI Providers │
│ OpenAI | DeepSeek | Ollama | ... │
└──────────────────────────────────────┘
内置 Agent
默认 Agent
通用对话助手,适合日常使用:
- ✅ 多轮对话
- ✅ 知识问答
- ✅ 任务协助
- ✅ 基础工具调用
默认工具:Web Search、Vision、Read
代码 Agent
专注于代码开发的助手:
- ✅ 代码编写和审查
- ✅ 调试和问题排查
- ✅ 文件操作
- ✅ 命令执行
- ✅ 代码运行
默认工具:Read、Write、Edit、Grep、Glob、Bash、Python、Node.js
切换 Agent
在聊天页面:
- 点击顶部的 Agent 选择器
- 从列表中选择 Agent
- 新的对话将使用选中的 Agent
提示
不同 Agent 有不同的工具权限,选择合适的 Agent 可以获得更好的体验。
自定义 Agent
创建新 Agent
- 进入 Agent 管理 页面
- 点击 创建 Agent
- 填写 Agent 信息:
- 名称:Agent 的显示名称
- 描述:Agent 的功能描述
- 指令:系统提示词,定义 Agent 的行为
- 工具:选择 Agent 可用的工具
- 模型:选择默认使用的模型(可选)
Agent 配置选项
| 配置项 | 说明 | 示例 |
|---|---|---|
| 名称 | Agent 的显示名称 | "代码助手" |
| 描述 | 简短的功能描述 | "专注于代码开发和调试" |
| 指令 | 系统提示词 | "你是一个专业的程序员..." |
| 工具 | 可用工具列表 | ["Read", "Write", "Bash"] |
| 模型 | 默认模型 | "gpt-4o" |
| 欢迎语 | 首次对话时的问候 | "你好!我是你的代码助手" |
| 建议 | 常用问题提示 | ["帮我写一个函数", "调试这段代码"] |
编写系统指令
系统指令是 Agent 的核心,决定了它的行为方式:
# 角色定义
你是一个专业的技术文档编写助手。
## 能力
- 撰写清晰的技术文档
- 解释复杂的技术概念
- 提供代码示例
## 行为准则
- 使用简洁明了的语言
- 提供实用的示例
- 保持内容的准确性
## 输出格式
使用 Markdown 格式,包含适当的代码块和表格。
指令编写技巧
- 明确角色:清楚定义 Agent 是什么
- 列出能力:说明 Agent 能做什么
- 设定边界:指明不应该做什么
- 提供示例:给出期望的输出格式
- 使用结构化格式:使用标题、列表等组织内容
示例:优秀的 Agent 指令
你是一个专业的 Python 开发助手。
## 你的专长
- Python 编程和最佳实践
- Django/Flask Web 开发
- 数据分析和可视化
- 代码优化和重构
## 工作方式
1. 先理解用户需求
2. 提供清晰的解决方案
3. 给出完整的代码示例
4. 解释关键概念
## 注意事项
- 代码要符合 PEP 8 规范
- 添加必要的注释
- 考虑错误处理
工具配置
为 Agent 选择工具
不同 Agent 可能需要不同的工具组合:
| Agent 类型 | 推荐工具 | 说明 |
|---|---|---|
| 通用助手 | Web Search、Vision、Read | 基础信息获取 |
| 代码助手 | Read、Write、Edit、Bash、Python、Grep | 完整开发工具链 |
| 数据分析 | Python、LibSQL、Write | 数据处理和存储 |
| 研究助手 | Web Search、Web Fetch、Read | 信息收集和分析 |
| 文档助手 | Read、Write、Edit、Grep | 文档编写和维护 |
工具权限管理
- 内置 Agent:工具由系统预配置,不可修改
- 自定义 Agent:可以自由选择和组合工具
- 动态调整:可以随时修改 Agent 的工具配置
- 工具提示:启用工具时,Agent 会自动学习如何使用
Agent 记忆系统
AIME Chat 基于 Mastra 框架提供强大的记忆管理能力:
记忆类型
| 记忆类型 | 说明 | 使用场景 |
|---|---|---|
| 会话记忆 | 当前对话的上下文 | 多轮对话、上下文理解 |
| 语义记忆 | 基于向量的长期记忆 | 跨会话的知识积累 |
| 工作记忆 | 任务执行中的临时状态 | 复杂任务的状态跟踪 |
记忆配置
在 Agent 设置中可以配置:
- 记忆容量:保留多少历史消息
- 记忆类型:启用哪些记忆模式
- 记忆策略:如何管理和清理记忆
记忆最佳实践
- 对于需要长期记忆的 Agent,启用语义记忆
- 对于临时任务,使用工作记忆
- 定期清理不需要的记忆以节省资源
Agent 网络
Agent 网络允许多个 Agent 协作完成复杂任务:
工作流程
用户请求
↓
[规划 Agent] - 分析需求,制定计划
↓
[执行 Agent] - 执行具体任务
↓
[审查 Agent] - 检查结果质量
↓
返回结果
创建 Agent 网络
- 创建多个专门的 Agent
- 在 Agent 配置中设置子 Agent
- 定义 Agent 之间的协作流程
示例:代码审查流程
- 开发 Agent:编写代码
- 审查 Agent:检查代码质量
- 测试 Agent:运行测试
- 文档 Agent:生成文档
高级功能
结构化输出
Agent 可以返回结构化的数据:
{
"status": "success",
"data": {
"result": "...",
"confidence": 0.95
}
}
Agent 审批
对于敏感操作,可以要求用户审批:
- 文件删除
- 系统命令执行
- 敏感数据访问
Agent 监控
实时监控 Agent 的:
- 工具调用次数
- 响应时间
- 错误率
- 用户满意度
最佳实践
指令设计
✅ 推荐做法:
- 保持指令简洁清晰
- 使用结构化格式(标题、列表)
- 包含具体示例
- 明确边界和限制
- 使用积极的语言
❌ 避免:
- 过于复杂的指令
- 矛盾的要求
- 模糊的描述
- 过多的限制
工具选择
✅ 推荐做法:
- 只启用必要的工具
- 根据场景选择工具
- 定期审查工具使用情况
- 测试工具组合的效果
❌ 避免:
- 给 Agent 过多权限
- 启用不相关的工具
- 忽视工具安全风险
性能优化
- 使用合适的模型(简单任务用小模型)
- 限制记忆容量
- 定期清理无用数据
- 监控 Agent 性能指标
常见问题
Agent 不按预期工作
可能原因:
- 系统指令不够清晰
- 工具配置不正确
- 模型能力不足
解决方案:
- 优化系统指令,使用更明确的描述
- 检查工具是否正确启用
- 尝试使用更强大的模型
- 查看工具调用日志
工具调用失败
可能原因:
- 工具未启用
- 工具依赖缺失
- 权限不足
解决方案:
- 确认工具已启用
- 检查工具依赖(如 Python 环境)
- 查看错误日志获取详细信息
Agent 响应慢
可能原因:
- 模型响应慢
- 工具执行时间长
- 记忆数据过多
解决方案:
- 切换到更快的模型
- 优化工具使用策略
- 清理不必要的记忆数据
如何导出/导入 Agent
目前支持通过 Agent 管理页面进行:
导出 Agent:
- 进入 Agent 管理页面
- 选择要导出的 Agent
- 点击导出按钮
- 保存为 JSON 文件
导入 Agent:
- 点击导入按钮
- 选择 JSON 文件
- 确认导入配置
导出格式
导出的 JSON 包含 Agent 的所有配置:
- 基本信息(名称、描述)
- 系统指令
- 工具配置
- 模型设置
- 记忆配置
技术细节
Agent 数据结构
interface Agent {
id: string;
name: string;
description?: string;
instructions?: string;
tools?: string[];
subAgents?: string[];
tags?: string[];
type: AgentType;
isHidden: boolean;
defaultModelId?: string;
greeting?: string;
suggestions?: string[];
}
Agent 类型
- DEFAULT:默认通用 Agent
- CODE:代码开发 Agent
- CUSTOM:用户自定义 Agent
与 Mastra 框架集成
AIME Chat 的 Agent 系统完全基于 Mastra 框架构建,支持:
- Mastra Agent API
- Mastra Tool System
- Mastra Memory
- Mastra Workflows
详细技术文档请参考 Mastra 官方文档。