Codex 原理与日常使用

AI 编程助手 / 工程工作流 / LESSON 04

Skills、MCP、Hooks 与自动化

理解 AGENTS.md、Skills、MCP、Hooks、插件和计划任务各自适合承载哪类可复用能力。

阅读时间
18 分钟
学习路径
Codex 原理与日常使用
内容来源
Codex 专题教程

预计阅读时间: 18 分钟

当你开始频繁使用 Codex,会遇到一个新问题:很多提示、检查和外部上下文会反复出现。此时不要把所有内容塞进一次提示里,而要选择合适的持久化承载面。

Codex 的可复用能力主要有六类:AGENTS.md、Skills、MCP、Hooks、Plugins 和 Scheduled Tasks。它们不是互相替代,而是负责不同层级。

先看一张选择表

需求更适合放在哪里原因
仓库每次都要遵守的规则AGENTS.md自动加载,适合稳定约束
一套可重复执行的方法Skill有触发条件、步骤、参考文件和脚本
需要访问外部系统MCP把工具和上下文接进 Codex
每次工具调用前后要执行检查Hook嵌入 agentic loop 的生命周期
要分发一组 skills/tools/assetsPlugin可安装、可版本化、可共享
稳定周期性任务Scheduled Task把成熟流程按时间运行

如果不确定,先从提示开始。重复两三次后,再沉淀到更稳定的层。

AGENTS.md:项目规则

AGENTS.md 适合放“每次在这个仓库都应该知道”的内容:

## Commands

- Run `npm run lint` before committing TypeScript changes.
- Run `npm run build` before deploying the static site.

## Product constraints

- Keep the ICP footer on all public pages.
- Sync product decisions into OpenSpec or docs.

它不适合写非常长的教程。如果规则太多,把细节拆到 docs/,再在 AGENTS.md 里引用。

Skill:可复用工作流

Skill 适合把“方法”固化下来。例如一个发布检查 Skill 可以写:

---
name: static-site-release
description: Build, verify, deploy, and live-check the AIGC Bot static site.
---

1. Check `git status --short --branch`.
2. Run `npm run lint`.
3. Run `npm run build`.
4. Verify sitemap and ICP footer in `out/`.
5. Deploy through the release directory workflow.
6. Run live checks against `https://aigc-bot.com/`.

Skill 的优势是触发明确、内容完整,可以附带脚本、参考资料和资产。它比“复制一大段提示”更稳定。

MCP:连接外部上下文和动作

MCP 适合解决“上下文不在仓库里”的问题。例如:

  • GitHub PR 评论和 issue。
  • Notion 规格文档。
  • Figma 设计稿。
  • OpenAI 官方文档。
  • 内部日志系统。

MCP 工具要注意三件事:

  • 区分只读和会产生副作用的工具。
  • 不把 secret 和敏感输出直接暴露给模型。
  • 把工具描述写成用户意图,而不是内部 API 名称。

对于团队来说,MCP 的价值是减少复制粘贴和上下文漂移。

Hook:生命周期检查

Hooks 可以在会话或工具调用的生命周期中运行脚本。常见用途包括:

  • 提交用户提示前扫描是否包含密钥。
  • 运行命令前检查危险模式。
  • 一轮结束后写摘要。
  • 任务停止时提醒是否同步文档。
  • 对特定目录追加上下文。

Hook 强大,但也更靠近安全边界。建议只把机械、稳定、可解释的检查做成 Hook,不要把复杂产品判断塞进去。

一个合理的 Hook 应该满足:

输入明确、输出短、失败方式清楚、不会偷偷改变业务状态。

Plugin:可分发能力包

当 Skill、MCP、Hooks、资产和配置需要一起分发时,可以考虑 Plugin。Plugin 更适合团队或市场化分发,不适合单个仓库里还在试验的流程。

先做 Skill,再做 Plugin,是更稳的路线。

Scheduled Task:成熟流程自动跑

计划任务适合已经手工跑过多次、结果稳定的流程,例如:

  • 每周生成趋势周报草稿。
  • 每天检查死链。
  • 每周总结最近部署。
  • 定期审查 AGENTS.md 是否需要更新。
  • 扫描 CI 失败并做初步归因。

不要把还需要大量人类判断的流程直接计划化。先把方法做成 Skill,再让计划任务调用。

一个落地顺序

第 1 层:提示模板
第 2 层:AGENTS.md 记录稳定规则
第 3 层:Skill 固化重复方法
第 4 层:MCP 接入外部系统
第 5 层:Hook 做机械防线
第 6 层:Scheduled Task 周期化成熟流程
第 7 层:Plugin 分发整套能力

这样演进的好处是:每一步都来自真实使用,而不是一开始就过度工程化。

AIGC Bot 可以怎么用

对本站这类项目,可以沉淀这些能力:

  • content-release Skill:同步学习文章、生成图、构建、检查 sitemap。
  • seo-review Skill:检查 canonical、hreflang、JSON-LD、robots、sitemap。
  • deploy-static-site Skill:构建、上传 release、切 symlink、live check。
  • weekly-digest Scheduled Task:每周日生成上周 AI/大数据/可观测周报草稿。
  • docs-sync Hook 或 Skill:重大产品变更后提醒更新 OpenSpec/Superpowers 文档。

这些能力都应该先在真实任务里跑通,再固化。

参考资料