4月4日(codex-plugin-cc和Skill新版)
Open API官方插件加入Claude Code上周OpenAI悄悄发布了一个东西叫codex-plugin-ccOpenAI Codex的Claude Code官方插件专门给在用Claude Code的人装的。这两个模型在Claude Code里是协作关系——Claude负责理解你的需求、规划任务Codex负责具体的代码生成和补全。大白话翻译Claude是项目经理Codex是专注写代码的程序员。安装插件/plugin marketplace add openai/codex-plugin-cc /plugin install codexopenai-codex /reload-plugins /codex:setup装上之后工作流变了什么变化1代码生成速度快了纯Claude模式下生成一个200行的工具函数大概需要8-12秒。加了Codex分流之后同样的任务平均在5-7秒完成。变化2重复性代码质量更稳以前让Claude写测试用例偶尔会出现测了但没真测的情况。看起来有用实际上assert断言判断测试的核心逻辑写错了。Codex在这种标准化测试代码上明显更稳变化3省掉了手动切工具这一步以流程是在Claude Code里规划 → 复制到Cursor里生成代码 → 再粘回来。现在一个窗口全搞定不用来回切换了。听起来小事但一天切几十次的话省下来的时间真不少。变化4Token消耗降了代码生成这部分转给了Codex的API消耗的是OpenAI那边的额度不算Claude的Token。对于重度Claude Code用户来说这意味着同样预算能干更多活。建议如果你主要用Claude Code写代码代码任务超过70%建议装尤其是做重复性开发工作的写测试、写CRUD增删改查接口、写工具函数。Codex在这块确实比Claude稳而且速度也快一些。如果你主要用Claude Code做规划和分析代码任务不到30%暂时可以不装。你的主要收益是代码生成提速但你用的少性价比不高。如果你是Claude Code重度用户每天用超过3小时强烈建议装。Token分流带来的成本节省时间越长越明显。skill-creator技能原理skill-creator 是一个“教 AI 如何写好技能说明书”的工具也是创建技能时最关键的一环。旧版只是教你写说明书而新版不仅教你怎么写还会帮你考核、打分、纠正问题直到你写出一份真正好用的说明书为止。什么是技能可以把AI想象成一个非常聪明的学生。他什么都会一点但如果你不给他说明书也就是SKILL.md他遇到具体任务时就不知道怎么干。旧版VS新版旧版的流程非常简单和AI对话弄清楚你想写什么技能AI自动生成一份 SKILL.md 文件顺便帮你建好文件夹、检查格式、打包就像一个只会教你写字的老师——写完了就交卷至于写得对不对你自己想办法。现在换了一个新老师。这个老师不仅教你写菜谱还要你做出来给他尝。尝完不满意教你改。改完做再尝。一直循环直到做出真正好吃的菜。新版里三个重要的角色为什么要这样旧版的问题就在这里你写完了格式没问题但内容好不好用没人知道。新版就是要解决这个问题——写完必须考试考试必须对比对比必须有数据数据必须能改进。防作弊的设计新版里有一个特别聪明的设计防止刷题。就像你准备考试如果只做那三道旧题你可能只是把这三道题背熟了换个新题就不会了。这叫过拟合。新版在调整菜谱描述的时候会自动把测试题分成两部分60%用来练题让你改描述的时候参考40%用来最终考试不让你看到考完才给分这样就能保证你练出来的不是背答案而是真正学会了。深入源码新版到底长什么样SKILL.md技能说明书的骨架每个技能的核心就是一份 SKILL.md 文件。它的开头有一段 YAML 格式的元信息告诉AI这个技能叫什么、什么时候该用它。evals.json测试用例长什么样新版里测试用例存放在 evals/evals.json 文件中格式非常简单[ { query: 帮我创建一个叫weather-check的技能用来获取天气信息, assertions: [ skill目录被创建, SKILL.md文件存在且包含weather-check名称, SKILL.md的description包含触发条件 ] } ]每条测试用例包含两个部分query模拟用户会说的话也就是考试题assertions评分标准哪些条件满足了才算做对了这就像老师出的考试卷——题目是query评分标准是assertions。有题目、有标准考试才能打分。Grader评分老师的工作逻辑Grader 这个角色的指令文件agents/grader.md里写得很清楚它的工作步骤是Step 1: 读取执行记录transcript Step 2: 检查输出文件 Step 3: 逐条验证每条assertion Step 4: 提取并验证隐含声明 Step 5: 读取用户备注 Step 6: 批评测试用例本身发现问题要说 Step 7: 写出评分结果注意第6步Grader 不只是打分还会反过来检查考试题出得好不好。如果某道题太简单了比如文件存在就行不管内容对不对它会指出这个问题。这就像一个好老师不仅批改作业还会指出这道题出得太简单了测不出水平。打分标准也很明确PASS有明确证据证明期望成立而且证据是实质性的不是文件名对了就算FAIL没有证据、证据矛盾、或者证据太表面run_eval.py自动跑测试的引擎这个脚本是整个测试系统的核心。它做的事情用一句话概括让AI带着技能跑一遍测试题看技能到底有没有被用上。# 核心逻辑简化版 def run_single_query(query, skill_name, skill_description): # 1. 在 .claude/commands/ 目录下创建技能文件 command_file.write_text(command_content) # 2. 调用 claude -p 执行用户的 query process subprocess.Popen( [claude, -p, query, --output-format, stream-json], stdoutsubprocess.PIPE ) # 3. 监听输出流检测技能是否被触发 while time.time() - start_time timeout: event json.loads(line) if event[type] stream_event: triggered True它通过监听AI的输出流来判断技能有没有被触发而不是等AI跑完全程才判断。这就像监考老师不需要等你交卷看你的笔有没有动就知道你有没有开始做题。aggregate_benchmark.py成绩单生成器这个脚本把所有考试结果汇总成一份成绩单def calculate_stats(values): 计算平均值、标准差、最小值、最大值 n len(values) mean sum(values) / n variance sum((x - mean) ** 2 for x in values) / (n - 1) stddev math.sqrt(variance) return { mean: round(mean, 4), stddev: round(stddev, 4), min: round(min(values), 4), max: round(max(values), 4) }它输出的不只是通过了多少题还包括pass_rate通过率平均多少比例的assertion通过了stddev标准差多次跑同一题结果稳不稳定delta有技能和没技能之间的差异值标准差这个指标很重要。如果同一道题跑了三次结果分别是100%、0%、100%平均值看起来是66%但标准差巨大说明你的技能非常不稳定——有时候好用有时候失灵。这种问题光看平均值是发现不了的。generate_review.py浏览器里的审卷界面这个脚本会生成一个网页让你在浏览器里直观地查看所有考试结果。它的工作原理是读取所有测试运行的输出文件把它们嵌入一个自包含的HTML页面中然后用一个简易HTTP服务器把它打开。def find_runs(workspace): 递归找到所有包含 outputs/ 子目录的测试运行 runs [] for child in sorted(current.iterdir()): if child.is_dir() and child.name not in skip: _find_runs_recursive(root, child, runs) return runs这个网页有两个主要页面Outputs 页面逐个查看每个测试题的输出结果支持文本和图片的内联预览你可以在每个结果下面写反馈意见Benchmark 页面量化的数据对比——通过率、耗时、token消耗按每道题展开明细就像一个在线阅卷系统——你坐在电脑前一道一道看学生的答卷觉得不好的地方写批注最后提交反馈。run_loop.py自动优化描述的循环这个脚本专门负责第六步——description的自动优化。它的流程是循环最多5轮 1. 把测试题分成60%训练集 40%测试集 2. 用训练集的数据来改进description 3. 用测试集来验证改进效果 4. 跑3次取平均值消除随机性 5. 选出测试集得分最高的description这里用到了机器学习中的一个经典技巧train-test split训练测试分离。你不能用同一份题目来练题和考试否则练出来的只是背答案。把题目分成两份一份用来改一份用来考这样改出来的description才能真正泛化到新的问题上。总结源码层面新版由这些关键组件构成SKILL.md技能的骨架包含name、description和正文evals.json测试用例每道题有query和assertionsGrader评分老师逐条验证assertion并给出PASS/FAILrun_eval.py测试引擎自动运行测试并检测技能触发aggregate_benchmark.py成绩单生成器计算pass_rate和标准差generate_review.py浏览器审卷界面可视化查看结果run_loop.py自动优化循环用train-test split防止过拟合实战流程就像上面的翻译助手案例明确意图、写草稿、创建测试、并行考试、分析改进、优化触发。每一步都有数据支撑每一步改进都能被量化验证。