OpenCode 中文教程
首页
教程
生态
FAQ
对比
文章
  • 官方网站
  • 官方下载
  • 官方文档
  • 关于我们
  • 联系我们
  • 隐私政策
  • 服务协议
  • 免责声明
  • 商标声明
  • 简体中文
  • English
  • Deutsch
首页
教程
生态
FAQ
对比
文章
  • 官方网站
  • 官方下载
  • 官方文档
  • 关于我们
  • 联系我们
  • 隐私政策
  • 服务协议
  • 免责声明
  • 商标声明
  • 简体中文
  • English
  • Deutsch
  • 教程目录

    • Opencode 教程中心 - 从入门到精通
    • Opencode 快速入门 - 5分钟开启 AI 编程之旅
    • Opencode 核心模式:Plan 与 Build 详解
    • 智能体 (Agents) 与 Big Pickle - Opencode 核心概念
    • Opencode 进阶配置 - 打造最适合你的 AI 编程环境
    • Opencode 常用快捷键指南 - 提升开发效率

Agent 配置指南

当你掌握了 Agent 的配置和使用,你就能从"对话式编程"升级到"调度式开发"。本文将详细介绍 Opencode 的 Agent 系统。

什么是 Agent?

在 Opencode 中,Agent(智能体) 是具有特定角色和能力的 AI 单元。不同的 Agent 擅长不同的任务:

  • 有的擅长架构设计
  • 有的擅长快速搜索
  • 有的擅长文档编写
  • 有的擅长前端开发

通过合理配置和调度 Agent,你可以让 AI 团队像真实团队一样协作。

内置 Agent 介绍

Opencode 内置了多个专业 Agent:

Agent 名称角色定位擅长任务推荐模型
plan规划者任务拆解、方案设计Claude Opus
build执行者代码实现、文件修改Claude Sonnet
architect架构师系统设计、技术选型GPT-5.2
explorer探索者代码搜索、结构分析Gemini Flash
documenter文档专家文档编写、注释生成Claude Sonnet
reviewer审查员代码审查、安全检查Claude Opus

如何使用 Agent?

方法一:直接 @ 提及

在对话中直接 @ Agent 名称:

让 @architect 设计一个用户认证系统的架构

让 @explorer 找出所有 API 调用的代码

让 @reviewer 审查这个 PR 的安全性

方法二:切换默认 Agent

运行 /agents 命令,选择想要使用的 Agent。之后的对话都会使用该 Agent。

方法三:在配置中指定

在 opencode.json 中设置默认 Agent:

{
  "default_agent": "plan"
}

Agent 协作示例

场景:开发新功能

假设你要开发一个支付功能,可以这样调度 Agent:

1. @architect 设计支付系统的架构,包括:
   - 支持的支付方式(微信、支付宝、Stripe)
   - 数据库表结构
   - API 接口设计

2. @explorer 搜索项目中现有的支付相关代码

3. @plan 根据架构方案制定实施计划

4. @build 按计划实现代码

5. @reviewer 审查代码的安全性和性能

Opencode 会自动协调这些 Agent 完成任务。

场景:Bug 修复

@explorer 找出所有与用户登录相关的代码

@architect 分析登录失败的可能原因

@build 修复 Bug 并添加错误处理

@reviewer 确认修复没有引入新问题

自定义 Agent

你可以创建自己的 Agent。在 opencode.json 中添加:

{
  "agent": {
    // 创建一个前端专家 Agent
    "frontend-expert": {
      "description": "前端开发专家,精通 React 和 Vue",
      "model": "anthropic/claude-sonnet-4-5",
      "prompt": "你是一位资深前端工程师,精通 React、Vue、TypeScript 和现代 CSS。你的代码注重性能、可访问性和用户体验。",
      "tools": {
        "read": true,
        "write": true,
        "edit": true,
        "bash": "ask"
      }
    },
    
    // 创建一个只读的代码审查 Agent
    "security-auditor": {
      "description": "安全审计专家",
      "model": "anthropic/claude-opus-4-5",
      "prompt": "你是安全审计专家,专注于发现代码中的安全漏洞、性能问题和潜在 Bug。你不会修改代码,只会提供详细的审查报告。",
      "tools": {
        "read": true,
        "write": false,   // 禁止写入
        "edit": false,    // 禁止编辑
        "bash": "deny"    // 禁止执行命令
      }
    },
    
    // 创建一个数据库专家 Agent
    "database-expert": {
      "description": "数据库设计与优化专家",
      "model": "openai/gpt-5.2",
      "prompt": "你是数据库专家,精通 PostgreSQL、MySQL 和 MongoDB。你擅长设计高效的数据库架构、编写优化的 SQL 查询,并能识别性能瓶颈。",
      "temperature": 0.3,  // 降低随机性,提高准确性
      "tools": {
        "read": true,
        "write": true,
        "bash": {
          "*": "ask",
          "psql": "allow",
          "mysql": "allow"
        }
      }
    }
  }
}

Agent 配置项说明

配置项类型说明
descriptionstringAgent 的描述,帮助你记住它的用途
modelstring使用的 AI 模型
promptstring系统提示词,定义 Agent 的角色和行为
temperaturenumber0-1,控制输出的随机性(0=确定性,1=创造性)
toolsobject工具权限配置

工具权限配置

{
  "tools": {
    "read": true,        // 是否允许读取文件
    "write": true,       // 是否允许创建文件
    "edit": true,        // 是否允许修改文件
    "bash": "ask",       // 命令执行权限:true/false/"ask"
    "webfetch": false    // 是否允许访问网络
  }
}

Agent 分工策略

策略一:按任务类型分工

{
  "agent": {
    "quick-fix": {
      "description": "快速修复小问题",
      "model": "deepseek/deepseek-coder",  // 使用快速模型
      "prompt": "你专注于快速修复简单的 Bug 和小问题。"
    },
    "complex-task": {
      "description": "处理复杂任务",
      "model": "anthropic/claude-opus-4-5",  // 使用强大模型
      "prompt": "你负责处理复杂的架构设计和重构任务。"
    }
  }
}

策略二:按技术栈分工

{
  "agent": {
    "backend-dev": {
      "description": "后端开发",
      "model": "anthropic/claude-sonnet-4-5",
      "prompt": "你是后端工程师,精通 Node.js、Python 和数据库设计。"
    },
    "frontend-dev": {
      "description": "前端开发",
      "model": "openai/gpt-5.2",
      "prompt": "你是前端工程师,精通 React、Vue 和现代 CSS。"
    },
    "devops": {
      "description": "DevOps 工程师",
      "model": "anthropic/claude-sonnet-4-5",
      "prompt": "你是 DevOps 工程师,精通 Docker、Kubernetes 和 CI/CD。"
    }
  }
}

策略三:按开发阶段分工

{
  "agent": {
    "designer": {
      "description": "设计阶段",
      "model": "anthropic/claude-opus-4-5",
      "prompt": "你负责系统设计和架构规划。",
      "tools": {
        "write": false,  // 设计阶段不写代码
        "edit": false
      }
    },
    "implementer": {
      "description": "实现阶段",
      "model": "anthropic/claude-sonnet-4-5",
      "prompt": "你负责按照设计方案实现代码。"
    },
    "tester": {
      "description": "测试阶段",
      "model": "openai/gpt-5.2",
      "prompt": "你负责编写测试用例和发现 Bug。"
    }
  }
}

高级技巧

1. Agent 链式调用

在 prompt 中指导 Agent 调用其他 Agent:

{
  "agent": {
    "orchestrator": {
      "description": "任务编排者",
      "model": "anthropic/claude-opus-4-5",
      "prompt": "你是任务编排者。当收到复杂任务时,你需要:\n1. 分析任务需求\n2. 调用 @architect 设计方案\n3. 调用 @explorer 搜索相关代码\n4. 调用 @implementer 实现功能\n5. 调用 @reviewer 审查代码"
    }
  }
}

2. 上下文注入

为 Agent 注入项目特定的知识:

{
  "agent": {
    "project-expert": {
      "description": "项目专家",
      "model": "anthropic/claude-sonnet-4-5",
      "prompt": "你是本项目的专家。\n\n项目信息:\n- 技术栈:React + TypeScript + Node.js\n- 数据库:PostgreSQL\n- 部署:AWS\n- 编码规范:使用 ESLint + Prettier\n\n请始终遵循项目规范。"
    }
  }
}

3. 动态 Agent 选择

根据文件类型自动选择 Agent:

{
  "agent_rules": [
    {
      "pattern": "*.tsx",
      "agent": "frontend-dev"
    },
    {
      "pattern": "*.py",
      "agent": "backend-dev"
    },
    {
      "pattern": "Dockerfile",
      "agent": "devops"
    }
  ]
}

实战工作流

完整的功能开发流程

1. 需求分析
   @architect 分析需求并设计方案

2. 代码搜索
   @explorer 搜索相关代码和依赖

3. 任务拆解
   @plan 制定详细的实施计划

4. 代码实现
   @build 按计划实现功能

5. 代码审查
   @reviewer 审查代码质量和安全性

6. 文档编写
   @documenter 编写 API 文档和使用说明

Bug 修复流程

1. 问题定位
   @explorer 搜索相关代码

2. 根因分析
   @architect 分析 Bug 产生的原因

3. 修复实施
   @build 修复 Bug

4. 回归测试
   @reviewer 确认修复没有引入新问题

常见问题

Q: 如何查看所有可用的 Agent?

运行 /agents 命令。

Q: 可以同时使用多个 Agent 吗?

可以。在对话中 @ 多个 Agent,它们会协作完成任务。

Q: Agent 之间会共享上下文吗?

会。同一个会话中的所有 Agent 共享对话历史。

Q: 如何为 Agent 设置不同的模型?

在 Agent 配置中指定 model 字段即可。

下一步

  • 权限与安全配置
  • 工作流最佳实践
  • 常见问题排查

本文由 OpenCodex 社区整理,欢迎分享你的 Agent 配置经验。

最近更新: 2026/2/28 14:48