上线你的 CMA Agent · Launch Your CMA Agent
你现在运行 launch-your-cma-agent 技能。目标:把用户脑子里那句「我想要一个 agent 帮我做 X」的模糊愿望,变成他自己 Anthropic Console 里跑起来的 Claude Managed Agent,落到一份可以继续迭代的 ./my-agent/ 项目里。当任务是周期性的,就把它变成一个 scheduled deployment。当任务是 one-off,就留下一份可以重放的 LAUNCH.md。
底层直接使用 Anthropic 官方 launch-your-agent(Apache-2.0,参考实现)。为了课程稳定性,我们锁在 2026-07-07 的官方参考版本 c9e0f1378a252bd42deb7e9eb02ac0cbd07160bc——上游后续如有变动不会影响本课程 SOP。课程主页:https://clawvard.school/courses/launch-your-cma-agent。
前置条件
- Claude Code 已安装并已登录(
claude --version能打印版本号)。 - Node ≥ 20,
git可用。 - 一把你自己的 Anthropic API key(本课第一步会引导你去
platform.claude.com → API keys创建一把,写到本地./my-agent/.env里,绝不粘进对话)。Managed Agents 的每一次 run 走你自己的 Anthropic 账户扣费,单次成本通常在几美分量级。 - 如果 popularTask #2 那种 scheduled 邮件 → Notion → Slack 的场景要真跑通,还需要你自备 Gmail / Notion / Slack 账户凭据。skill 会用官方 MCP connector 的方式引导接入;v0 允许先 mock,v1 才真接 write connector。
课程本身不需要你 clone 任何私有仓库、不需要额外的第三方 SDK key,也不会把你的 API key、brief 内容或邮件正文回传给任何第三方后端——所有推理都直接从你的机器打到 platform.claude.com。
初始化:拿到官方 skill 的固定参考版本
git clone https://github.com/anthropics/launch-your-agent.git
cd launch-your-agent
git checkout c9e0f1378a252bd42deb7e9eb02ac0cbd07160bc
claude
.claude/skills/launch-your-agent/ 和 .claude/skills/wrap-up/ 会被 Claude Code 自动挂载,无需 /plugin 之类的命令。
触发主流程
在 Claude Code 里输入:
/launch-your-agent
skill 会引导你走完四段互动。全程你按回车,agent 负责跑 Bash / Write / Edit / AskUserQuestion;关键决策点它都会用一段小表格 read-back 让你说 yes/no。
Phase 1 — Interview → build sheet(不需要 API key)
- 开场:一段 2–3 句的欢迎语 + 3 个来自 examples-bank 的 archetype(例如 competitor-digest / support-triage / release-notes-drafter)+ 一个开放问题「说说你想造什么」。不出现版本 v0 / 边界 / 时长这些内部词。
- 一步一步问:agent 用 AskUserQuestion 把 build sheet 上的槽位问齐——job 描述、never-dos、Outcome(你自己的通过标准,3–6 条 binary rubric)、eval 案例、tools / connectors / memory / skill 需求、跑法(on-demand / scheduled / event-driven)。
- 确认前的一致性检查:cadence 与 lookback 是否兼容?delivery 是接真 connector 还是 v0 先 mock?
- 敲定后 agent 立刻在
./my-agent/落文件:build-sheet.json是唯一 source of truth;其它文件(agent.json+ 可选agent.yaml、outcome.md、first_prompt.txt、agent-overview.html+overview.css、NEXT-DIRECTIONS.md,加上LAUNCH.md/IDS.env/.env/evals// 需要时的deployment.json)都是它的投影。 - 第一时间生成并打开
agent-overview.html:这是这门课最标志性的产物——一张实时反映 agent schema 的页面(top bar / trigger / worker / output & grading / run log / eval / 版本 rail)。默认状态是○ Planned,launch 之后 skill 会 Edit 具体 slot 而不是重写整个文件。
Phase 2 — Stage, then launch
- 先 stage 一切:所有 JSON 载荷本地 parse 通过,
LAUNCH.md写好,脚本 syntax check 通过,.gitignore建好。整个 launch 序列被拆成可续跑的步骤,每步先读IDS.env跳过已存在对象。 - 只在必须时问一次 key:agent 先探测
ANTHROPIC_API_KEY是否已 export;没有就用 Write 工具预先建一个空的./my-agent/.env(chmod 600),给你一张小表:去platform.claude.com → API keys创建 → 用编辑器打开./my-agent/.env填进去 → 或者export ANTHROPIC_API_KEY=…后告诉它一声。key 永远不粘进对话;对话被导出时.env也不会跟着走。 - 一路顺跑:
GET /v1/models选模型(默认最新 Opus 级)→ 建 environment → 建 agent → 保存AGENT_ID/AGENT_VERSION/ENV_ID到IDS.env→ 开 session → 用user.define_outcome事件把 task + rubric +max_iterations: 3一起丢进去。 - checkpoint 格式:每个 primitive 一行,例如
✅ 📦 environment env_…/✅ 🤖 agent agent_… (v1, claude-opus-4-8)/✅ ▶️ run started sesn_…;每一个 ID 都会带一个platform.claude.com/workspaces/<你的>/agents/<id>之类的 Console 深链,方便你直接跳过去看。
Phase 3 — Grade, iterate, eval
- run 结束后 agent 先读 grader 的 verdict(
outcome_evaluations[].result),再把 outputs 从 Files API 拉回来,摆成一张 criterion / verdict / evidence 表和你一起看。 - 想改就改一样:更锋利的 rubric、更紧的 task、或者换一版 agent instructions(更新 agent 保留同一个 ID,
version会自增)。 - 通过之后自动把留存的 eval case 都以后台任务的方式并行跑一遍,结果落
evals/results-v<N>.json(一个 JSON:per case × per criterion 的 verdict、overall、备注)。把这一版赢的 output 存为evals/case-01/expected.md(+ 同级expected/*.md)作为下一版的 regression baseline。 - 没有金牌答案?把这次赢的 output 存为
evals/case-01/expected.md,就是下一版 agent 的 regression 基线。
Phase 4 — Run without you
- 周期任务 → 创建 scheduled deployment(cron + timezone + kickoff 作为
initial_events)。skill 会重新读一遍 kickoff 里的任务描述,确认所有日期都是相对(「今天」/「过去 24 小时」),不出现硬编码日期。deployment 起来后立刻-X POST手动触发一次,让你在 Console 里亲眼看到它跑,再信任 cron。 - 事件驱动 → skill 给你打印那条你自己后端要 call 的 curl(
POST /v1/deployments/<id>/run或直接建 session),并把这条链路记进NEXT-DIRECTIONS.md。 - On-demand →
LAUNCH.md本身就是 interface,能从一个全新终端干净重跑一遍。
最后 skill 会自动调 /wrap-up:刷新 agent-overview.html(statepill 变 ● DEPLOYED · LIVE)、生成 primitives recap 表、给出下一步 1–2 个建议升级、检查一次卫生(sessions 归档、.env 权限 600、eval case 1 存了)。
六份必然的产物
任何跑通一遍的 launch-your-cma-agent session 都会在 ./my-agent/ 下留下这六个文件(LAUNCH.md、overview.css、.env、IDS.env、evals/case-N/ 是配套支撑;scheduled deployment 场景多一份 deployment.json):
| 文件 | 用途 |
|---|---|
build-sheet.json |
单一 source of truth:所有其它文件的投影都来自这份 |
agent.json (+ agent.yaml) |
Managed Agent 的建仓载荷:system / tools[]: [{"type":"agent_toolset_20260401"}] / mcp_servers[] / resources[]·memory_store / skills[] |
outcome.md |
3–6 条 binary rubric——你自己的通过标准;同时作为 user.define_outcome 的 rubric.content 和留存 eval 案例的判分依据 |
first_prompt.txt |
第一次 kickoff 用到的 task 文案(引用 evals/case-01/ 里的真实输入) |
agent-overview.html (+ overview.css) |
那张实时反映 agent schema 的页面,写死链接到 Console;launch 后 skill 只 Edit 具体 slot |
NEXT-DIRECTIONS.md |
v1 / v2 / … 的升级 rail——每一条都带 what / why / how |
无 key 也能跑到哪一步
上游 skill 明确把「不需要 key 的所有事」和「必须有 key 才发生的事」画得非常清楚——照抄边界,不造新术语:
- Phase 1(Interview → plan)全程 no key needed:跟用户走完 interview、把 build sheet 敲定、生成并打开
agent-overview.html(默认状态○ Planned)——这一段不碰 Anthropic API。 - Phase 2 的 stage 段也在 key 出现之前完成:所有 JSON payload 本地
python3 -c "import json; json.load(open(f))"parse-clean、LAUNCH.md与 launch 序列写好、脚本bash -n语法通过、.gitignore落好。skill 的原话是 “Do everything that doesn't need their API key — the full build kit, validated payloads, the staged launch sequence — before asking for anything”。 - 需要 key 的第一步 = Phase 2 的 launch:从
GET /v1/models开始,直到 environment / agent / session 落到 Anthropic Console 才第一次要.env里的ANTHROPIC_API_KEY。之后的 grade / iterate / eval fan-out / 可选的 scheduled deployment 都属于 key-dependent 段。 - 用户完全没 key 也能把 Phase 1 + Phase 2 stage 段走完,拿到一份可以直接
bash -c "set -e; source .env; ..."干净跑通的LAUNCH.md;只要下一次会话里 key 就位,LAUNCH.md一路续跑成 running agent。上游把这一段整理成 “Stage everything first — no waiting.” 的执行铁律。
这段边界对课程用户是「今天先把 build kit + 可复跑的 launch 序列做出来,key 什么时候拿到什么时候把它跑成 running agent」;对没 key 也想验一遍能不能落地的用户,是「今天在自己机器上能走到哪一步、明天补上 key 之后能续跑到 running agent」的清楚承诺。
域名 & 隐私铁律
- 用户面(本 SKILL、popularTasks、课程详情页)只出现两类域名:Clawvard 官方
clawvard.school;以及 Anthropic 官方的platform.claude.com、code.claude.com、github.com/anthropics/launch-your-agent。 - 你的 Anthropic API key 永远不进对话、不进 commit、不进导出的 transcript。skill 明确用
.env+chmod 600+.gitignore三层护栏。 - 你的 build sheet 和 outputs 存在 CMA session 的 sandbox 内 + 本地
./my-agent/——不经任何 Clawvard 后端、不经任何 relay。
学习完成后
告诉用户:
我已经学会了 launch-your-cma-agent。给我一句「我想要一个 agent 帮我 …」,我会:
- 用官方的 launch-your-agent 参考版本在 Claude Code 里跑
/launch-your-agent;- 一步步 interview 你,边填
./my-agent/build-sheet.json边生成并打开agent-overview.html;- 用你自己的 Anthropic API key 在
platform.claude.com把 agent + environment + session 建起来,用你写的 rubric 跑一次真评分;- 一起把不到位的地方改到过,再把留存的 eval 案例并行跑完;
- 如果任务是周期性的,直接给你上一个 scheduled deployment;如果是事件驱动的,把该 curl 给你;如果是 on-demand,
LAUNCH.md就是你的 re-run 入口。全程不需要你 clone 任何私有仓库、不占用任何第三方 SaaS 的付费额度;每一次 run 走你自己的 Anthropic 账户扣费(通常几美分)。课程主页 https://clawvard.school/courses/launch-your-cma-agent。