跳转到主要内容
Agent 是 Qoder Cloud Agents 的核心配置模板,描述了 AI 代理的能力边界 —— 模型、行为指令、可用工具。一个 Agent 可被多个 Session 复用;修改 Agent 不影响已运行的 Session。

核心要素

可以把 Agent 理解为一份”岗位说明书”:
要素含义
模型Agent 的智力水平
系统提示词Agent 的行为准则
工具集Agent 能执行的操作
SkillsAgent 可调用的高级技能
Agent 本身不执行任务,它只是配置。真正执行任务的是绑定该 Agent 的 Session。

Agent 配置字段

字段类型必填说明
idstring系统生成,agent_ 前缀 + 32 字符十六进制(小写)
typestring固定为 "agent"
namestringAgent 名称,建议用英文短横线命名(≤ 64 字符)
descriptionstring描述信息,默认 ""
modelstring模型标识,详见下文
systemstring系统提示词,默认 ""
toolsarray可用工具列表,详见下文
skillsarray关联的 Skill ID 列表
mcp_serversarrayMCP 服务器配置列表,默认 []
metadataobject自定义键值对,用于标记和筛选
versioninteger版本号,从 1 开始递增
archivedboolean是否已归档,默认 false
archived_atstring|null归档时间(ISO 8601),未归档时为 null
created_atstring创建时间,ISO 8601 格式
updated_atstring最后更新时间

model

model 指定 Agent 使用的模型。可先调用 列出模型 查询当前账户可用值,再在创建或更新 Agent 时传入模型 id

tools

tools 是工具对象数组。内置工具通过 agent_toolset_20260401 配置,并使用 enabled_tools 数组按需开启原子工具:
{
  "tools": [
    {
      "type": "agent_toolset_20260401",
      "enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
    }
  ]
}
可用的 enabled_tools 值:
工具名说明
Bash执行 shell 命令
Read读取文件内容
Write创建或覆盖文件
Edit局部编辑文件
Glob通配符列文件
Grep文件内容搜索
WebFetchHTTP GET 单页面
WebSearch联网搜索
DeliverArtifacts将 Agent 在 /data/ 下产出的文件投递给用户
自定义 client-side 工具与权限策略参见 Agent 工具配置

创建 Agent

curl -s -X POST https://api.qoder.com/api/v1/cloud/agents \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "code-reviewer",
    "model": "ultimate",
    "system": "你是代码审查专家。逐行审查代码并以 Markdown 输出问题与改进建议。",
    "tools": [
      {
        "type": "agent_toolset_20260401",
        "enabled_tools": ["Bash", "Read", "Write"]
      }
    ],
    "metadata": {
      "team": "backend",
      "purpose": "code-review"
    }
  }' | jq .
成功返回 201 Createdversion1 开始。

查询 Agent

# 获取单个 Agent
curl -s https://api.qoder.com/api/v1/cloud/agents/agent_xxx \
  -H "Authorization: Bearer $QODER_PAT"

# 分页列表
curl -s "https://api.qoder.com/api/v1/cloud/agents?limit=20" \
  -H "Authorization: Bearer $QODER_PAT"

更新 Agent

更新 Agent 必须携带当前 version,合并规则详见下文「更新语义」。
curl -s -X PUT https://api.qoder.com/api/v1/cloud/agents/agent_xxx \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "code-reviewer",
    "model": "ultimate",
    "system": "你是资深代码审查专家,专注安全漏洞和性能问题。",
    "version": 1
  }' | jq .
成功返回 200 OKversion 自动 +1。

更新语义

Agent 采用乐观并发控制(OCC)机制:
  • 创建时 version1 开始
  • 每次成功更新,version 自动 +1
  • 更新请求必须携带当前 version。两种失败情形:
    • 缺少 version 字段 — 返回 400 invalid_request_error"Field 'version' is required."
    • version 存在但与服务端不一致 — 返回 409 conflict_error
这避免了多人 / 多系统并发修改时互相覆盖。

处理 409 冲突

当持有的版本已过期时:
{
  "type": "error",
  "error": {
    "type": "conflict_error",
    "message": "Version conflict. Expected version 2, got 1."
  }
}
恢复步骤:
  1. GET 最新 Agent 拿到当前 version
  2. 合并自己的变更
  3. 用新 version 重新 PUT

最佳实践

  1. 命名规范 — 用 团队-用途 格式,如 backend-code-reviewfrontend-test-gen
  2. 提示词精炼system 字段写清角色、输出格式、限制条件
  3. 最小工具集 — 只配置任务所需的工具,减少误操作风险
  4. 善用 metadata — 用标签分类管理,方便后续筛选和审计
  5. 生产环境锁版本 — 创建 Session 时用 {"id": ..., "version": ...} 形式锁定 Agent 版本,避免新版本影响线上行为

常见问题

Q:更新 Agent 后,正在运行的 Session 会受影响吗? 不会。Session 在创建时绑定了 Agent 的特定版本,后续修改不影响已存在的 Session。 Q:tools 数组为空可以吗? 可以。不带工具的 Agent 只能进行纯文本对话,无法执行任何操作。 Q:name 字段有长度限制吗? 建议控制在 64 字符以内,使用小写字母、数字和短横线。 Q:如何回滚到旧版本的 Agent? 目前不支持自动回滚。建议在更新前记录旧配置,需要时手动 PUT 回旧配置(携带最新 version)。

下一步

云端环境配置

配置 Agent 运行的基础设施。

启动 Session

用 Agent 创建工作会话。

Agent 工具配置

工具类型与权限策略详解。

Agents API

完整的 Agents CRUD 接口。