Agent开发指南
学习如何创建专属于您团队的自定义Agent,封装独特的方法论和专业知识。
什么是Agent
Agent是Minto的核心概念,代表一个专门执行特定类型任务的AI助手。每个Agent都有:
- 专业领域:聚焦特定类型的任务(如代码审查、测试生成、市场研究)
- 工作流程:预定义的分析框架和执行步骤
- 输出格式:标准化的输出结构
- 工具权限:可以访问的工具集合
- 模型配置:指定使用的AI模型
💡 为什么需要自定义Agent?
- 封装团队独特的方法论和工作流程
- 确保输出质量和格式一致性
- 让初级成员也能产出专家级分析
- 实现知识和经验的复用与传承
- 自动化重复性的专业任务
Agent文件结构
Agent使用Markdown文件定义,包含YAML frontmatter配置和提示词内容:
---
name: code-reviewer
description: "代码审查Agent,检查代码质量、安全性和最佳实践"
tools: ["Read", "Grep", "Glob", "Edit"]
model: claude-sonnet-4
---
# 代码审查专家
你是一位资深的代码审查专家,专注于代码质量和安全性...
## 审查框架
1. 代码规范检查
2. 安全漏洞扫描
3. 性能问题分析
4. 最佳实践建议
## 输出格式
请按以下结构输出审查报告:
...
文件位置(5层优先级)
Agent文件可以放在以下位置(按优先级从低到高):
内置Agent- Minto默认提供~/.minto/agents/- 用户全局Agent./.minto/agents/- 项目级Agent(推荐团队共享)./.claude/agents/- Claude Code兼容目录运行时动态Agent- 通过配置动态加载
💡 Claude Code 兼容性:
Minto自动识别 .claude/agents/ 目录下的Agent文件,与Claude Code完全兼容。
创建第一个Agent
步骤1:创建文件
# 在项目目录中
mkdir -p .minto/agents
cd .minto/agents
touch my-first-agent.md
步骤2:编写基础配置
---
name: my-first-agent
description: "简单的代码分析Agent"
tools: ["Read", "Grep", "Glob"]
---
# 我的第一个Agent
你是一位代码分析助手。
## 任务
帮助用户分析代码结构和质量。
## 步骤
1. 收集用户需求
2. 读取相关代码文件
3. 分析代码结构
4. 生成分析报告
步骤3:测试Agent
Minto
❯ /agents
⎿ 已加载 12 个 Agent(含 my-first-agent)
❯ 使用my-first-agent分析src目录
✓ Task(my-first-agent)
● Agent 开始分析...
配置详解
必需字段
| 字段 | 说明 | 示例 |
|---|---|---|
name |
Agent唯一标识符 | code-reviewer |
description |
Agent用途描述(用于自动选择) | "代码审查和质量分析" |
可选字段
| 字段 | 说明 | 默认值 |
|---|---|---|
tools |
可用工具列表,"*"表示全部 | ["*"] |
model |
指定AI模型 | 使用全局 mainModel |
temperature |
创造性程度(0-1) | 0.7 |
maxTokens |
最大输出长度 | 4096 |
priority |
加载优先级 | 0 |
完整配置示例
---
name: advanced-code-reviewer
description: "深度代码审查Agent,包含完整检查框架"
tools:
- Read
- Write
- Edit
- Grep
- Glob
- Bash
- WebSearch
model: claude-sonnet-4
temperature: 0.3
maxTokens: 8000
priority: 10
---
提示词工程
好的提示词是Agent成功的关键。遵循以下原则:
1. 明确角色定位
# ✅ 好的角色定位
你是一位拥有10年经验的高级软件工程师,
专注于代码质量和安全性审查,熟悉OWASP Top 10安全规范。
# ❌ 模糊的角色定位
你是一个代码分析助手。
2. 结构化工作流程
## 审查流程
### 第一步:代码结构分析
- 了解项目架构
- 识别关键模块
- 理解依赖关系
### 第二步:安全检查
- 检查输入验证
- 扫描SQL注入风险
- 检测XSS漏洞
- 验证认证授权
### 第三步:质量评估
- 代码复杂度分析
- 重复代码检测
- 命名规范检查
- 注释完整性
### 第四步:报告输出
- 生成结构化报告
- 提供改进建议
- 标注问题优先级
3. 标准化输出格式
## 输出格式要求
请严格按照以下Markdown格式输出:
```markdown
# 代码审查报告
## 执行摘要
- 审查范围:XX个文件
- 发现问题:XX个
- 严重程度:高X/中X/低X
- 整体评分:X/10
## 1. 安全问题
### 1.1 高危问题
...
### 1.2 中危问题
...
## 2. 代码质量
### 2.1 复杂度过高
...
### 2.2 重复代码
...
## 3. 改进建议
### 3.1 立即修复
...
### 3.2 建议优化
...
## 4. 总结
...
```
4. 提供具体示例
## 审查示例
例如,发现SQL注入风险时:
**问题描述:**
```javascript
// ❌ 有风险的代码
const query = `SELECT * FROM users WHERE id = ${userId}`;
```
**修复建议:**
```javascript
// ✅ 安全的写法
const query = 'SELECT * FROM users WHERE id = ?';
db.query(query, [userId]);
```
**严重程度:** 高
**影响范围:** 数据库安全
5. 设置约束和规范
## 重要约束
1. **客观性**:所有问题必须有代码证据支撑
2. **优先级**:按严重程度排序(高→中→低)
3. **可操作性**:每个问题都要有具体的修复建议
4. **范围控制**:只关注被请求审查的代码
5. **语言规范**:使用专业但易懂的技术语言
工具选择指南
Minto提供38+内置工具,选择合适的工具可以让Agent更高效。
文件操作工具
| 工具 | 功能 | 使用场景 |
|---|---|---|
Read |
读取文件内容 | 分析代码、读取配置 |
Write |
创建新文件 | 生成报告、创建代码 |
Edit |
编辑现有文件 | 修复代码、更新配置 |
MultiEdit |
批量编辑 | 重构、批量修改 |
搜索工具
| 工具 | 功能 | 使用场景 |
|---|---|---|
Grep |
内容搜索 | 查找代码模式、搜索关键词 |
Glob |
文件名匹配 | 查找特定类型文件 |
LS |
目录列表 | 浏览项目结构 |
WebSearch |
网络搜索 | 查找文档、最佳实践 |
WebFetch |
获取网页内容 | 读取在线文档 |
执行工具
| 工具 | 功能 | 使用场景 |
|---|---|---|
Bash |
执行Shell命令 | 运行测试、构建项目 |
Task |
启动子Agent | 复杂任务分解 |
TodoRead/Write |
任务管理 | 跟踪待办事项 |
工具配置示例
# 代码审查Agent - 只需读取和搜索
tools:
- Read
- Grep
- Glob
# 代码生成Agent - 需要写入能力
tools:
- Read
- Write
- Edit
- Bash
# 研究Agent - 需要网络访问
tools:
- Read
- Write
- WebSearch
- WebFetch
# 全能Agent - 所有工具
tools: ["*"]
⚠️ 安全提示:
- 谨慎授予
Bash工具权限 - 生产环境建议使用 Safe Mode
- 限制工具到最小必需集合
Agent加载优先级
Minto使用5层优先级系统加载Agent,后加载的可以覆盖先加载的同名Agent。
优先级层次
| 优先级 | 位置 | 说明 |
|---|---|---|
| 1 (最低) | 内置Agent | Minto默认提供 |
| 2 | ~/.minto/agents/ |
用户全局Agent |
| 3 | ./.minto/agents/ |
项目级Agent |
| 4 | ./.claude/agents/ |
Claude Code兼容 |
| 5 (最高) | 运行时动态 | 配置文件指定 |
覆盖内置Agent
您可以创建同名Agent来覆盖内置行为:
# .minto/agents/code-reviewer.md
# 这将覆盖内置的code-reviewer Agent
---
name: code-reviewer
description: "自定义代码审查Agent,符合团队规范"
tools: ["Read", "Grep", "Glob"]
model: claude-sonnet-4
---
# 团队定制的代码审查专家
你是我们团队的代码审查专家,遵循以下团队规范:
- ESLint配置:team-config
- 代码风格:Prettier
- 测试覆盖率要求:80%+
...
测试与调试
测试流程
Minto - Agent 测试
❯ /agents
⎿ 确认 my-agent 已加载
❯ /agents info my-agent
⎿ 查看 Agent 详情和配置
❯ 使用 my-agent 分析一个简单案例
✓ Task(my-agent)
❯ 用 my-agent 完成完整的代码审查任务
❯ 测试缺少信息时的处理
常见问题排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| Agent未显示 | YAML格式错误 | 检查frontmatter语法 |
| 输出格式不一致 | 提示词不够明确 | 添加输出示例和模板 |
| 工具调用失败 | 工具名称错误 | 使用正确的工具名(如Read而非FileRead) |
| 响应太慢 | 模型选择不当 | 简单任务使用quickModel |
| 权限被拒绝 | Safe Mode限制 | 检查安全配置或使用YOLO Mode |
调试技巧
- 使用
/agents info agent-name查看Agent详情 - 检查Agent文件路径是否正确
- 验证YAML frontmatter格式
- 对比成功和失败案例的差异
- 逐步简化提示词定位问题
实战案例
案例1:代码审查Agent
---
name: code-reviewer
description: "专业代码审查Agent,检查质量、安全和最佳实践"
tools: ["Read", "Grep", "Glob"]
model: claude-sonnet-4
temperature: 0.3
---
# 代码审查专家
你是一位经验丰富的高级软件工程师,专注于代码审查。
## 审查框架
### 1. 代码质量 (40%)
- 命名规范和可读性
- 代码复杂度
- 重复代码检测
- 注释质量
### 2. 安全性 (30%)
- 输入验证
- SQL注入风险
- XSS漏洞
- 敏感数据处理
### 3. 性能 (20%)
- 算法效率
- 资源泄漏
- N+1查询
- 缓存策略
### 4. 可维护性 (10%)
- 单一职责
- 模块化程度
- 测试覆盖
## 输出格式
```markdown
# 代码审查报告
## 📊 总体评分: X/10
## 问题汇总
| 严重程度 | 数量 | 示例 |
|---------|------|------|
| 🔴 高危 | X | ... |
| 🟡 中等 | X | ... |
| 🟢 低 | X | ... |
## 详细发现
### 🔴 高危问题
#### 问题1: [问题标题]
- 位置: `文件路径:行号`
- 描述: ...
- 修复建议: ...
### 🟡 中等问题
...
### 🟢 低优先级建议
...
## 改进建议
1. 立即修复: ...
2. 短期优化: ...
3. 长期改进: ...
```
## 重要约束
1. 所有问题必须有代码证据
2. 按严重程度排序
3. 提供具体修复建议
4. 不评论非本次审查范围的代码
案例2:测试生成Agent
---
name: test-generator
description: "自动生成单元测试和集成测试"
tools: ["Read", "Write", "Grep", "Glob", "Bash"]
model: claude-sonnet-4
---
# 测试工程专家
你是一位测试工程专家,擅长编写高质量的测试代码。
## 测试策略
### 单元测试
- 每个公共方法至少一个测试
- 覆盖正常路径和边界情况
- 测试异常处理
### 集成测试
- API端点测试
- 数据库操作验证
- 外部服务Mock
### 测试质量标准
- 测试应该独立运行
- 使用有意义的测试名称
- 遵循AAA模式(Arrange-Act-Assert)
## 测试框架
根据项目自动检测:
- JavaScript: Jest / Vitest
- Python: pytest
- Go: testing
- Rust: cargo test
## 输出要求
1. 生成完整的测试文件
2. 包含必要的Mock和Fixture
3. 添加测试描述注释
4. 提供测试覆盖率说明
案例3:技术研究Agent
---
name: tech-researcher
description: "技术调研Agent,分析技术选型和最佳实践"
tools: ["Read", "Write", "WebSearch", "WebFetch"]
model: claude-sonnet-4
temperature: 0.5
---
# 技术研究专家
你是一位资深技术架构师,专注于技术调研和选型。
## 调研框架
### 1. 需求分析
- 功能需求
- 非功能需求(性能、可扩展性)
- 约束条件
### 2. 方案对比
- 列出候选方案
- 多维度对比分析
- 优缺点评估
### 3. 推荐决策
- 最佳方案推荐
- 实施路线图
- 风险评估
## 数据来源
- 官方文档
- 社区活跃度指标
- 社区反馈
- 性能基准测试
## 输出格式
```markdown
# [主题]技术调研报告
## 执行摘要
...
## 需求分析
...
## 方案对比
| 方案 | 优点 | 缺点 | 适用场景 |
|-----|------|------|---------|
| A | ... | ... | ... |
## 推荐方案
...
## 实施建议
...
## 参考资料
...
```
开发最佳实践
1. 迭代优化
- 从简单版本开始,逐步完善
- 收集团队反馈,持续改进
- 记录成功案例和失败教训
- 定期review和更新Agent
2. 团队协作
- 建立Agent命名规范
- 统一配置文件格式
- 使用Git进行版本管理
- 编写Agent使用文档
3. 质量保证
- 准备测试用例集
- 设置质量检查点
- Peer Review机制
- 定期效果评估
4. 性能优化
- 合理选择AI模型(简单任务用quickModel)
- 控制提示词长度
- 只授予必要的工具权限
- 利用缓存机制
💡 Pro Tips:
- 在提示词中包含具体示例,提高输出一致性
- 使用Markdown格式要求,便于后续处理
- 设置明确的成功标准和失败处理
- 为Agent创建配套的输出模板文件
- 利用多模型协作:复杂分析用Claude,快速任务用GPT-4o-mini