信号
Goose Ads 表面是一个 Claude Skill,但真正值得关注的不是“Claude 里可以生成广告”,而是它展示了一种新的 AI Native 产品设计范式:
SaaS 正在从 Web App,重新封装成 Agent 可以调用的能力层。
过去,一个产品的默认入口是:
Browser
↓
Web App
↓
Backend
用户进入网页,点击按钮,完成任务。
Goose Ads 把这条链路改成了:
Claude / Codex / Cowork
↓
Skill
↓
MCP
↓
Backend
网页入口没有消失,但它不再是唯一入口。
真正变化的是:产品入口发生了迁移。
判断
GooseWorks 不是简单把 SaaS 做成 AI,而是把 SaaS 做成 Claude、Codex、Cowork 这些 Agent 工作环境里的一个能力。
这代表一个重要趋势:
未来优秀的 AI Native 产品,不一定要求用户进入自己的 Web App,而是要让自己的产品能力进入用户正在使用的 Agent 工作流。
这也是 Goose Ads 最值得学习的地方。
它没有让 Agent 自由生成广告,而是把 Agent 限定在“受控编排者”的位置上。
Skill 只负责:
- 识别任务;
- 设定默认值;
- 约束行为;
- 调用 MCP;
- 返回结果链接。
真正的生成、计费、存储、状态判断和结果管理,都在后端完成。
这是一种更稳的产品架构:
Thin Skill
+
MCP Tool Boundary
+
Backend Workflow
+
Canonical Product Output
方法
Goose Ads 给了一个非常清晰的设计范式:
入口要轻,后端要重;Agent 要能调用,但不能越权。
它有几个关键设计。
第一,Skill 是 thin wrapper。
复杂逻辑不放在 Skill 里,而是放在后端工作流里。这样 Web App、Claude、Codex 调用的是同一套产品能力,避免多入口逻辑漂移。
第二,写入口要收敛。
真正生成广告的动作被压到一个核心 submit 入口里。读工具可以多,写工具必须少。凡是涉及扣费、创建任务、生成资产、改变状态的动作,都不能让 Agent 自由组合。
第三,Guardrails 比 Prompt 更重要。
生产级 Skill 的重点不是告诉 Agent “怎么做好”,而是告诉它“什么不能做”。不能绕过后端,不能自己调用模型,不能因为慢就重复提交,不能用错误字段判断完成。
第四,结果必须回到产品系统。
成功后不能只说“done”,也不能只给本地文件路径,而是返回 app_url、brand_url、gallery 这类 canonical link。聊天窗口只是入口,真正的资产必须回到产品系统。
行动
对 AI Native Builder 来说,Goose Ads 的启发不是“也写一个 Skill”,而是重新思考产品架构:
你的产品能力,能不能被 Agent 稳定调用?
你的 Web App 能力,是否可以被封装成 MCP tools?
你的 Skill 是不是足够薄?
你的后端有没有统一 workflow?
你的写入口是否足够收敛?
你的结果是否回到了产品系统,而不是散落在聊天窗口?
未来的产品竞争,可能不只是“谁的 App 更好用”,而是:
谁的产品能力更容易进入 Agent 工作流。
一句话总结
Goose Ads 表面是一个 Skill,本质是一个 Agent-callable Product 的样板。
这不是广告生成的新玩法,而是 AI Native 产品入口迁移的早期信号。