别再给Agent“做个App”了:一个帮你写可执行目标指令的Meta Skill
如果你用过 Codex 或 Claude Code 这类 Agent 写过正经代码,大概率遇到过这种事:你说“帮我做个 GTA 风格的网页游戏”,它哐哐写了一堆代码,然后你发现它用了一个真实游戏的图片、试图调用付费 API、甚至往主分支 commit 了未完成的东西。你想要的只是一个能在浏览器跑的俯视图 MVP,但 Agent 因为目标太模糊,做出了各种离谱选择。
这类失败不是模型不会写代码——真正的问题是 Agent 开始执行时,手里拿的不是可验证、有边界的任务合同,而是一句人类感觉良好、但机器只能靠猜的模糊需求。我们今天聊的这个开源项目 qiaomu-goal-meta-skill,就是专门解决这个痛点的:它把一句话模糊需求,转化成 Codex 可以直接执行的 /goal 命令,而且自带验证、约束、边界、迭代策略和暂停条件。本质上,这是一个为 Agent 做任务设计的工程化工具。
Agent 最缺的不是能力,而是一份“任务合同”
先说一个观察。不少人在写 Agent 提示词时,会陷入“要让模型理解我的意图”的误区,结果写了一大段自然语言描述,但缺少三个关键信息:
• 怎么证明做完了?(验证条件)
• 哪些地方不能碰?(约束和边界)
• 失败了怎么迭代?(策略)
• 什么情况必须喊人?(暂停条件)
比如“做出有质感的界面”——感觉对了,但 Agent 怎么知道自己做到了?没有截图检查、没有布局度量,它只能按自己的理解糊一个,然后你说不行。这就是典型的“目标过松”。
这个 Meta Skill 的核心产出就是一个包含上述所有要素的 /goal 命令。你可以直接复制使用。比如它给“开发一个 GTA 网页游戏”生成的推荐执行版:
/goal 开发一个第一版原创 GTA-like 网页游戏 MVP,用户可以在浏览器中进入一个俯视 2D 城市场景,控制角色步行、上车驾驶、完成一个简单任务,并看到基础状态反馈。
验证:如果已有项目,先读取项目脚本和运行方式;否则新建最小网页游戏项目,启动本地开发服务,在浏览器中完整走通一次进入游戏、移动角色、上车驾驶、触发任务、完成任务、查看状态反馈流程,并检查桌面和移动端布局与控制区无重叠。
约束:不使用 GTA、Rockstar 或任何真实游戏的名称、Logo、角色、地图、音乐、音效、美术素材或受版权保护内容;第一版不加入登录、后端、联机、付费 API、真实暴力血腥表现、复杂 AI 或营销落地页。
边界:如果新建项目,只写入新项目目录;如果在现有项目中工作,只修改与网页游戏画布、输入控制、游戏状态、样式和直接相关测试有关的文件。
迭代策略:先实现可玩的核心循环,再补任务、状态反馈和响应式控制;每次有意义改动后重跑项目检查并启动本地服务验证,遇到运行时或浏览器错误先读控制台日志;最多做 3 轮聚焦体验改进。
完成条件:本地游戏可运行,玩家能完成移动、驾驶、任务触发和任务完成的核心流程,项目检查通过或明确说明缺少配置,并且桌面和移动端验证无布局破损。
暂停条件:需要使用 GTA 官方 IP 或素材、真实版权素材授权、联机服务器、账号系统、支付、上架发布、复杂 3D 开放世界、真实暴力血腥表现或更完整游戏策划时暂停。
注意这里面没有“做得像一点”这种模糊话,验证条件写的是“走通一次流程”加上截图证据;边界明确到“只修改哪些文件”;暂停条件列出了需要人类判断的情况。这份东西复制给 Codex 之后,Agent 执行起来就不会跑偏。
三条骨子里的设计原则:推进、暂停、发现
这个 Skill 能自动生成高质量目标,背后有三条内置策略。
第一条:默认先推进,不拦着用户填表。 如果任务模糊但风险低(比如本地 MVP),它直接选一个最安全的默认值,并生成可复制的版本。用户的模糊需求到了它这里,不会变成“请先回答以下 20 个问题”,而是“给你推荐这个方案,理由是……”。这很关键——做 Agent 工具的人太容易把交互搞成调查问卷,结果用户还没用就放弃了。它选择“先给答案,再给选项”。
第二条:高风险才暂停。 当任务涉及账号、支付、生产数据、版权素材、法律医疗判断、上架发布等,它会把这些明确写进暂停条件,告诉 Agent“做到这里停下来,等人类决定”。而不是让 Agent 傻傻地去创建付费 API 或修改生产配置。这条边界特别适合写敏感领域的任务:比如医疗影像工具、金融数据处理。
第三条:陌生领域先发现,不编造规则。 这是最让我欣赏的一点。很多 Agent 工具遇到不熟悉的专业领域(比如医学、合规),会自作聪明地编造一些表面看起来合理但实际上错误的规则。这个 Meta Skill 的处理方式是:生成一个“发现优先”的目标,让 Agent 第一件事是去读项目文档、样例数据、官方参考资料,列出工作假设后再开始写代码。它明确要求不编造领域规则、不编制合规声明,完成条件里还要列出未解决的领域问题。这比那种“假装自己懂一切”的 Agent 提示诚实多了。
工程细节:输出分级、模糊词翻译、自检 linter
除了策略设计,它的工程化输出也做得挺细。
第一,输出分级。给中文用户,先展示“推荐执行版(可直接复制)”,然后一句“默认选择理由”,接着是“可选调整”(编号选择题如“1A 2B 3C”),最后是英文兼容镜像。这种设计意味着用户可以直接从第一个代码块开始用,复杂时可以通过选择题收敛,不需要重写。
第二,模糊词翻译。它不禁止用户说“高级”“有质感”“专业”,而是把这些词消化成可验证的检查项:比如“用桌面和移动端截图检查首屏身份、信息层级、文字可读性、核心入口和布局重叠”,并限制最多 3 轮视觉改进。这既保留了人类对审美偏好的表达,又不让 Agent 在虚空里“持续优化”。
第三,项目自带一个轻量 linter(scripts/lint_goal_command.py),用来检查生成的 goal 是否缺少必要字段、有没有占位符 [Outcome]、有没有“make sure it works”这种空话、验证条件是否具体到命令/截图/日志等证据。这个细节说明作者是真的在用这套东西写 Agent 任务——没有工具护着,人工 review 很容易漏掉关键字段。
适用边界
这个 Skill 不是万能。它只负责生成 goal,不执行目标。它默认生成 MVP 级目标,完整产品策略、商业化和部署需要明确要求。陌生领域它不会替代专业知识——它只是强制 Agent 先做发现,不做编造。如果你要 Agent 完成一个简单翻译或一句话 shell,根本不需要 goal。
但如果你正在开发一个多步骤的代码项目,或者频繁遇到 Agent 跑偏,这个 Meta Skill 提供了一个很有工程价值的思路:把“任务设计”从人的脑海里剥离出来,变成 Agent 可以执行的合同。工具本身也是开源的(MIT 协议),你可以直接 npx skills add joeseesun/qiaomu-goal-meta-skill 安装试用,也可以参考它的策略自己写类似的目标生成器。
原始链接
• GitHub 项目:https://github.com/joeseesun/qiaomu-goal-meta-skill
夜雨聆风