一篇介绍如何减少技能文件冗余、合并重复技能并调整 Codex 工作区指令加载时机的实践记录。
AI translation, not an official translation. Refer to the original for technical details.
Adapted from @BradGroux# 我审计了运行 Codex 工作区的指令 读完 Eric Provencher 的文章《重新思考 GPT-6 Astra 的技能与提示词》之后,我请 Codex 审计了我自己的配置。我想了解哪些指令仍然有用,哪些可以删除。(https://x.com/pvncher)(https://developers.openai.com/blog/rethinking-skills-and-prompts-for-gpt-6-astra) 我从配置文件和全局指令开始审计,然后将范围扩展到已安装的技能。在应用建议之前,我备份了相关文件,以便在需要时撤销更改。 ## 清理 143 个技能 我了解到,Codex 会读取技能的名称和描述来决定加载哪些指令。Eric 建议将描述保持简短且具体,并将详细的操作步骤放入 Codex 按需读取的文件中。 我本地有 143 个技能文件,其中六个是系统技能,我保持不动。我将其余技能的描述从 56,560 个字符削减到 12,392 个字符,减少了 78.1%。 举个例子,我原本有五个用于报告 Power Platform 问题的技能,现在合并为一个技能,由它询问问题涉及哪个产品。我还退役了一个旧的 Canvas 应用别名,并将技能编写建议移入文档中。 在我的 Power Platform 集合中,add-data-source 处理 Canvas 应用,add-datasource 处理代码应用。两者仅有一个连字符之差,但适用于不同类型的应用。 对于代码应用集成,我将连接查找和构建检查放入一个共享流程中。SharePoint、Dataverse、Excel 和 Teams 仍各自保有独立的指令,但现在我可以在一处更新公共步骤。 最终我保留了 136 个本地技能文件。我还确保已退役的技能存储在 Codex 搜索目录之外,以便在需要时可以恢复使用。 ## 选择技能的触发时机 我将五个技能(包括营销规划和审阅辅助工具)设置为仅在我主动请求时运行。该设置写在技能的 agents/openai.yaml 文件中: 我还拆分了几个较长的技能文件。认证技能原本接近 3,000 行,其主文件现在指向针对不同任务的独立指令文件,这样诊断登录问题时就不需要加载所有关于设置或替换认证的指令。 一些支持文件原本指示 Codex 注销、重新生成认证代码,或请求超出操作所需的更广泛 SharePoint 权限。我将它们改为保留现有认证状态,并仅请求操作所需的权限。 ## 不要再让我审批常规决策 我的测试驱动开发技能原本告诉 Codex 请我审批应该对应用的哪些部分进行测试。如果我请求修复一个 bug,我希望它自己读取现有测试并自行判断。我修改了该技能,让它根据请求的行为、现有测试和受影响的代码来自主选择测试内容。 一个更简洁的相同思路提示词如下: 我保留了保护凭据和无关文件、检查 Codex 使用账户,以及要求审批新生产依赖项的规则。我也保留了在运行前检查不熟悉测试的指令。 我还更新了代码审查指令,修改了 Codex 在提交修复前的审查内容,审查范围现在包括未提交的编辑和新文件。 一个审查脚本只要审查命令成功退出就会报告审查通过。我们用一个会打印高优先级发现、然后以零退出码退出的测试命令复现了这个问题。 我修改了该脚本,改为报告命令已完成,并要求在将审查判定为通过之前先对其输出进行评估。简化后的 shell 示例如下所示: 该脚本现在还会检查仓库的默认分支,而不是假定为 main,并在必要的 fetch 失败时停止执行。我们在一次性仓库中通过测试验证了这些更改。 ## Keeping the work going 我删除了基于 260,000 个 token 阈值的旧上下文守卫设置,并禁用了 Ponytail 技能。恢复指令现在会告知 Codex 在合适的停止点记录进度,并从该记录继续执行。 以下是我希望被延续传递的信息: ## Try it on your own setup 全部 136 个剩余的本地技能文件均通过了技能验证器。我还确认了 Codex 能够加载更新后的技能,且已退役的技能不再出现。 我还审计了我的 Mac mini,它有自己的配置和已安装的软件包。我为该机器准备了一个单独的审计提示词。你可以参考这个更简短的版本: 如果你一直在每次出现问题时或想扩展能力时向 Codex 添加指令,我建议你重新通读那些文件。 我发现了一些我不再希望它遵守的规则,以及一些埋藏在需要整理的技能中的有用指导。@pvncher 的文章让我有了重新审视这些文件的动力。 我们的智能体 AI 工具在不断成长和改进,随之而来的是,我们需要允许它们蜕去旧皮。定期重新审视、重构并精简你的配置和工作流。