词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
工具接口设计、Prompt 工程、透传参数与调试方法。

"像设计人机界面(HCI)一样投入精力设计 Agent-计算机界面(ACI)。" —— Anthropic
#### 3. 描述要像优秀的 docstring
工具描述应该包含:
- **功能说明**:这个工具做什么
- **使用示例**:典型用法
- **边界情况**:什么时候不该用
- **输入格式**:参数要求
### Anthropic 的实际经验
> "在构建 SWE-bench Agent 时,我们花在优化工具上的时间比优化整体 prompt 还多。"
他们发现模型会在使用相对路径时出错(当 Agent 移出根目录后)。解决方案:改为要求**绝对路径**——模型完美执行。
**启示**:如果 Agent 频繁在某个工具上出错,问题可能在工具设计,而非 prompt。
---
## Prompt 工程
<AdInArticle />
### 系统提示词结构
一个好的 Agent prompt 应该包含:
```markdown
---
description: 简短描述(影响自动选择)
mode: subagent
temperature: 0.2
---
# 角色定义
你是谁、擅长什么。
# 工作流程
1. 第一步做什么
2. 第二步做什么
3. ...
# 约束条件
- 不要做什么
- 什么情况下停止
# 输出格式
- 如何组织输出
- 包含哪些部分
# 自我检查(可选)
完成前问自己几个问题。来源: agents.mdx:569-591,config.ts:487,agent.ts:193
{
"agent": {
"deep-thinker": {
"description": "深度思考,处理复杂问题",
"model": "openai/o1",
"reasoningEffort": "high", // OpenAI 特定参数
"textVerbosity": "low" // OpenAI 特定参数
},
"quick-helper": {
"description": "快速响应,处理简单问题",
"model": "anthropic/claude-haiku-4-5",
"temperature": 0.3
}
}
}| 参数 | Provider | 说明 |
|---|---|---|
reasoningEffort | OpenAI o 系列 | high / medium / low |
textVerbosity | OpenAI | 输出详细程度 |
top_k | Anthropic | 采样参数 |
max_tokens | 多数 provider | 最大输出 token |
具体支持哪些参数,请查阅对应 provider 的文档。
.opencode/agent/
├── review/
│ ├── security.md → 名称: review/security
│ └── performance.md → 名称: review/performance
├── docs/
│ └── api.md → 名称: docs/api
└── translator.md → 名称: translatorreview/security,调用方式为 @review/securityname: security,调用方式为 @securityname 字段,让系统自动生成包含路径的名称。@review/security 帮我审计这段代码来源: config.ts:243-255
{
"agent": {
"safe-agent": {
"permission": {
"mymcp_*": "deny", // 禁用 mymcp 的所有工具
"postgres_query": "ask" // 数据库查询需确认
}
}
}
}来源: agents.mdx:366-379
| 设置 | 行为 |
|---|---|
| 不设置 | 无限制,直到模型决定停止 |
| 设置数值 | 达到限制时,强制生成摘要并停止 |
来源: config.ts:468-471
name 字段覆盖。来源: agent.ts:191
.opencode/data/ 目录下。* 在前)| 任务类型 | 推荐模型 |
|---|---|
| 复杂推理 | Claude Opus、GPT-4、o1 |
| 代码生成 | Claude Sonnet、GPT-4 |
| 简单任务 | Claude Haiku、GPT-4o-mini |
steps 值,观察 Agent 的前几步行为:| 现象 | 原因 | 解决 |
|---|---|---|
| Agent 不遵守指令 | prompt 太长/模糊 | 精简核心规则,使用结构化格式 |
| Agent 循环调用 subagent | 没有停止条件 | 设置 steps 限制或 task deny |
| 透传参数不生效 | provider 不支持 | 查阅 provider 文档确认 |
| 嵌套目录 Agent 找不到 | 路径格式错误或 name 被覆盖 | 使用 / 分隔符:folder/agent;检查 frontmatter 中是否设置了 name 字段 |
| MCP 工具权限无效 | 通配符匹配失败 | 确认工具名前缀匹配 |
| temperature 无效 | 模型不支持或 capabilities.temperature = false | 检查模型文档,某些推理模型(如 Codex)不支持 temperature |
| description 没效果 | 内容太泛 | 具体说明何时使用这个 Agent |
| 自动选择错误 Agent | description 相似 | 让每个 Agent 的描述有明确区分 |
| hidden Agent 仍显示 | mode 不是 subagent | hidden 只对 subagent 有效 |
| steps 达到限制但任务未完成 | 限制太小 | 增加 steps 或优化 prompt |
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"pr-reviewer": {
"description": "PR 审查机器人,自动审查代码变更",
"mode": "primary",
"model": "anthropic/claude-opus-4-5-thinking",
"steps": 100,
"temperature": 0.1,
"prompt": "{file:./prompts/pr-reviewer.md}",
"permission": {
"edit": "deny",
"bash": {
"*": "deny",
"git log*": "allow",
"git diff*": "allow",
"git show*": "allow",
"npm test": "allow"
},
"task": {
"*": "deny",
"security-auditor": "allow",
"performance-checker": "allow",
"style-checker": "allow"
}
}
}
}
}{
"agent": {
"planner": {
"description": "规划者:分析需求,制定计划",
"mode": "primary",
"model": "anthropic/claude-opus-4-5-thinking",
"temperature": 0.2,
"steps": 20
},
"executor": {
"description": "执行者:实现具体代码",
"mode": "primary",
"model": "anthropic/claude-sonnet-4-20250514",
"temperature": 0.3,
"steps": 100
},
"reviewer": {
"description": "审查者:检查代码质量",
"mode": "subagent",
"model": "anthropic/claude-haiku-4-5",
"temperature": 0.1,
"permission": {
"edit": "deny"
}
}
}
}@reviewer 调用审查| 章节 | 内容 |
|---|---|
| 5.2a 快速入门 | 创建第一个 Agent |
| 5.2b 设计模式 | 五种 Workflow 模式 |
| 5.2c 权限与安全 | 精确控制权限 |
| 5.2d 高级技巧(本章) | ACI、透传参数、调试 |
Agent 可以调用 Skill 来获取专业知识。下一课我们学习 Skill 系统。