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文件可以放在以下位置(按优先级从低到高):

  1. 内置Agent - Minto默认提供
  2. ~/.minto/agents/ - 用户全局Agent
  3. ./.minto/agents/ - 项目级Agent(推荐团队共享)
  4. ./.claude/agents/ - Claude Code兼容目录
  5. 运行时动态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

需要帮助?

📖 查看文档

详细的功能说明和使用指南

功能详解

💡 最佳实践

提升效率的使用技巧

查看实践

❓ 常见问题

Agent 开发常见问题解答

查看 FAQ