AI 编码代理正从原型实验走向生产环境,但 "能运行" 与 "可维护" 之间存在巨大鸿沟。Addy Osmani 的agent-skills仓库与last30days-skill展示了两种截然不同的工程化路径:前者是面向开发工作流的结构化技能库,后者是跨平台信息聚合的研究工具。本文从这两个开源项目中提炼生产级 AI 代理的三项核心工程模式:技能模块化、工具抽象层与沙盒执行护栏。
技能模块化:SKILL.md 标准化结构
生产级技能不是提示词堆砌,而是可复用、可验证、可组合的工作流单元。agent-skills定义了 23 个技能,覆盖从需求定义到生产发布的完整生命周期,每个技能遵循严格的七段式结构:
Frontmatter 元数据包含name(小写连字符命名)、description(使用场景描述)和version标记,使技能可被自动化工具索引和版本管理。
核心章节设计:
- Overview:一句话定义技能边界,避免功能蔓延
- When to Use:明确的触发条件,如 "任何修改超过一个文件的变更"
- Process:分步骤工作流,每个步骤含检查点和退出标准
- Rationalizations:常见借口与反驳对照表,如 "稍后补测试" 对应 "未测试代码即技术债务"
- Red Flags:执行中的危险信号识别
- Verification:不可协商的证据要求,"看起来正确" 从不被接受
这种结构体现了 "Process, not prose"(流程而非散文)的设计哲学 —— 技能是代理遵循的工作流,而非供阅读的参考资料。last30days-skill的 v3 引擎进一步展示了模块化技能的组合能力:智能搜索、HTML 简报生成、跨源聚合同步运行,每个子系统通过标准接口交互。
工具抽象层:跨平台技能生态
技能的价值取决于其可移植性。agent-skills支持 7 种主流 AI 编码工具(Claude Code、Cursor、Gemini CLI、Windsurf、OpenCode、GitHub Copilot、Kiro),通过统一抽象层屏蔽底层差异:
安装接口标准化:Claude Code 使用/plugin marketplace add,Cursor 复制到.cursor/rules/,Gemini CLI 使用gemini skills install,而npx skills add提供跨平台 CLI 统一入口。这种分层设计使技能开发者只需维护单一源码,用户可按习惯选择宿主工具。
运行时适配策略:技能内容以纯 Markdown 存储,宿主工具按需解析。Claude Code 读取.claude/commands/下的斜杠命令定义,Cursor 加载规则文件,Gemini CLI 识别原生技能格式。last30days-skill的 v3 引擎更进一步,通过 Python 预研究大脑自动解析话题实体(如 "OpenClaw" 映射到 GitHub 仓库、X 账号、相关 Subreddit),在搜索执行前完成实体消歧。
渐进式披露机制:SKILL.md作为入口点保持精简,支撑材料(如测试模式参考、安全检查清单)仅在需要时加载。这种设计控制 Token 消耗,避免上下文窗口被无关信息填满。
沙盒执行护栏:三层防御机制
AI 代理的默认行为是走最短路径,往往跳过测试、安全审查和文档。生产级技能通过三层护栏强制工程纪律:
第一层:反合理化表(Rationalizations)。每个技能包含常见借口与反驳的对照矩阵。例如 "这个改动很简单,不需要测试" 对应 "简单变更是最容易引入回归的地方"。这种设计针对代理的 "认知捷径" 倾向,在决策点植入强制检查。
第二层:红旗标记(Red Flags)。定义执行过程中的危险信号,如 "在不确定边界条件时直接编码"、"未验证输入就处理用户数据"。这些标记作为运行时检查点,触发额外审查流程。
第三层:验证门(Verification Gates)。每个技能以明确的证据要求结束:测试通过、构建输出、运行时数据。agent-skills的doubt-driven-development技能甚至引入对抗性审查流程 ——CLAIM→EXTRACT→DOUBT→RECONCILE→STOP,在高风险场景下强制交叉验证。
last30days-skill的 v3 引擎在信息聚合场景应用类似原则:实体消歧防止 "Mallorca 度假村" 覆盖 "华盛顿体育俱乐部" 的相关结果,单作者上限(每作者最多 3 条)防止单一声音主导简报,跨源聚类合并重复报道而非重复计数。
可落地参数与实施清单
基于上述模式,以下是构建生产级 AI 代理技能的参数化指南:
技能结构参数:
- 单技能文件控制在 300-500 行 Markdown
- Process 步骤不超过 7 个,每个步骤可在一个会话周期内完成
- Rationalizations 条目不少于 3 组常见借口 / 反驳对
- Verification 要求必须包含可自动化检查的指标
工具抽象层配置:
- 使用
npx skillsCLI 实现跨平台分发 - 技能目录结构:
skills/{skill-name}/SKILL.md+references/(可选) - 多宿主支持时,为每个平台提供
docs/{host}-setup.md安装指南
执行护栏阈值:
- 代码审查:变更行数控制在 100 行以内,超过则拆分
- 测试覆盖:单元测试 80%、集成测试 15%、E2E 测试 5%(金字塔比例)
- 安全审查:任何处理用户输入、认证、数据存储的代码必须通过
security-and-hardening技能 - 性能基线:Core Web Vitals LCP<2.5s、INP<200ms、CLS<0.1
部署前检查清单:
- 技能已通过
using-agent-skills元技能映射到正确工作流 - 所有 Rationalizations 条目在团队内达成共识
- Verification 证据可被 CI/CD 流水线自动采集
- 存在明确的回滚策略(
shipping-and-launch技能覆盖)
结语
AI 编码代理的工程化不是添加更多提示词,而是建立可重复、可验证、可审计的工作流体系。agent-skills展示了如何通过标准化结构和强制检查点将工程最佳实践编码为代理行为;last30days-skill证明了模块化技能在复杂信息聚合场景的可扩展性。两者共同指向一个核心原则:生产级 AI 代理需要与人类工程师同等级别的纪律约束,只是这种约束通过结构化技能而非会议和 Code Review 来实现。
参考来源
- addyosmani/agent-skills: Production-grade engineering skills for AI coding agents — https://github.com/addyosmani/agent-skills
- mvanhorn/last30days-skill: AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket — https://github.com/mvanhorn/last30days-skill
内容声明:本文无广告投放、无付费植入。
如有事实性问题,欢迎发送勘误至 i@hotdrydog.com。