Agent
Agent 是 OpenCode 的智能代理系统,它通过定义角色和规则来约束和引导 AI 的行为,让 AI 更精准地完成特定任务。
什么是 Agent
Agent = 角色 + 规则
- 角色:定义 AI 是谁(如:代码专家、文案顾问、数据分析师)
- 规则:定义 AI 如何行动(如:使用什么工具、遵循什么规范、输出什么格式)
简单理解:
Agent 就像是给 AI 设定一个"人设"和"行为准则",让 AI 能够按照设定的方式工作。
示例:
# 角色:告诉 AI 它是谁
role: "你是一位资深的代码审查专家"
# 规则:告诉 AI 它该怎么做
rules:
- "代码必须遵循 Google 风格指南"
- "每个函数必须有详细的注释"
- "复杂度不能超过 10"
- "必须使用有意义的变量名"
Agent 的核心构成
1. 角色(Role)
角色定义了 Agent 的身份和专长领域。
示例角色:
role: |
你是一位资深的前端开发工程师,专精于:
• React 和 Vue 框架
• 响应式设计和移动端适配
• 性能优化和用户体验
你总是关注:
• 代码的可维护性
• 用户的交互体验
• 页面的加载速度
2. 规则(Rules)
规则约束了 Agent 的行为方式。
规则类型:
rules:
# 输出规则
output_rules:
- "使用中文回复"
- "代码片段使用 markdown 格式"
- "每条建议不超过 3 句话"
# 行为规则
behavior_rules:
- "先分析问题,再提供解决方案"
- "每次只解决一个主要问题"
- "提供 2-3 个可选方案"
# 工具使用规则
tool_rules:
- "读取文件前先确认文件存在"
- "写入文件前先询问用户确认"
3. 工具(Tools)
工具是 Agent 可以调用的能力。
tools:
- "file.read" # 读取文件
- "file.write" # 写入文件
- "bash.execute" # 执行命令
- "web.search" # 搜索网络
内置 Agent
General(通用)
角色: 通用的 AI 助手
规则:
- 友好、专业的语气
- 提供准确、有用的回答
- 不确定时主动说明
适用场景:
- 日常对话和问答
- 需要灵活适应的任务
Explore(代码探索)
角色: 代码库探索专家
规则:
- 快速定位文件和代码
- 简洁、清晰地说明代码结构
- 优先提供关键信息
适用场景:
- 理解新项目
- 查找代码位置
- 分析项目结构
Code-reviewer(代码审查)
角色: 严格的代码审查专家
规则:
- 遵循最佳实践
- 指出潜在问题
- 提供具体的改进建议
适用场景:
- 代码质量审查
- 安全性检查
- 性能优化建议
Security-auditor(安全审计)
角色: 安全漏洞猎人
规则:
- 专注安全相关检查
- 识别常见安全漏洞
- 提供修复建议
适用场景:
- 安全审计
- 漏洞扫描
- 合规性检查
Agent 的优势
1. 精准性
通过明确的角色和规则,让 AI 更精准地完成任务。
2. 一致性
规则保证了 Agent 的行为始终一致。
3. 可控性
可以通过调整规则来控制 Agent 的行为方式。
4. 专业化
每个 Agent 专注于特定领域,提供更专业的服务。
如何创建自定义 Agent
步骤 1:定义角色
role: |
你是一位小红书文案专家,专精于:
• 热门话题挖掘
• 吸引眼球标题创作
• 表情符号和标签运用
• 互动引导文案撰写
步骤 2:设置规则
rules:
- "文案长度控制在 300-500 字"
- "使用 3-5 个表情符号"
- "添加 5-10 个相关标签"
- "开头要有吸引人的钩子"
- "结尾引导用户互动"
步骤 3:配置工具
tools:
- "web.search" # 搜索热门话题
- "file.write" # 保存文案
完整示例
agent:
name: "小红书文案专家"
role: |
你是一位资深的小红书文案策划,专精于创作高互动率的笔记。
rules:
output_rules:
- "使用热情、活泼的语气"
- "文案包含 3-5 个表情符号"
- "添加 5-10 个热门标签"
- "结尾引导用户点赞和评论"
tools:
- "web.search"
- "file.write"
Agent vs 技能(Skills)
| 特性 | Agent | Skills |
|---|---|---|
| 定义 | 角色 + 规则 | 预训练的专业能力 |
| 灵活性 | 高度可定制 | 固定的功能集 |
| 用途 | 约束 AI 行为 | 扩展 AI 能力 |
| 示例 | 代码审查专家 | 发送邮件技能 |
区别:
- Agent:定义"如何做"——通过角色和规则约束 AI 的行为方式
- Skills:定义"能做什么"——提供预训练的专业能力