வலைப்பதிவுக்குத் திரும்பு

GPT-6 Astra 时代的 Skills 与 Prompt 重构指南:少一点脚手架,多一点判断

AI Agent2026-09-0613 நிமிட வாசிப்புGPT-6 AstraAgent SkillsAGENTS.mdPrompt EngineeringCodexAI 编程Context Engineering

过去一年,很多团队为了让 AI 编程 Agent 稳定工作,给项目不断增加规则、Skill、AGENTS.md 和超长 Prompt。早期模型确实需要大量手把手的引导,但随着模型能力提升,曾经有效的脚手架可能正在变成新的负担。

GPT-6 Astra 时代需要重新审视一个问题:

这条指令是在帮助 Agent 理解任务,还是在替 Agent 重复执行它已经会做的事情?

本文整理 Eric Provencher 在 X 上发布的《Rethinking skills and prompts for GPT-6 Astra》,并将其扩展为一套适用于 GPT88、Codex 以及其它 Coding Agent 的实践方法。重点不是删除所有规则,而是让每条规则都拥有明确的适用范围、成本和停止条件。

一、先说结论:规则越多,不一定越可靠

一个 Agent 项目通常包含三类指令:

指令层典型文件或内容主要作用
SkillMarkdown 文件、脚本和辅助资料处理特定任务或工作流
AGENTS.md仓库级、目录级规则约束 Agent 在项目中的通用行为
任务 Prompt当前用户请求描述本次目标、范围和完成标准

这些指令共同决定 Agent 如何行动,但也会带来三种成本:

  • 上下文成本:每次加载规则都会占用模型上下文;
  • 路由成本:Skill 太多或描述太相似,模型更难判断该使用哪一个;
  • 行为成本:互相冲突或过度具体的要求,会让模型反复确认、过早停止或执行多余步骤。

在 GPT-6 Astra 这类更擅长理解上下文和处理模糊任务的模型上,最有效的配置往往不是继续增加流程细节,而是保留必要事实、明确危险边界,并把任务完成标准说清楚。

可以把新的指令策略概括为:

最小必要规则
  + 按需加载知识
  + 清晰的权限边界
  + 明确的完成定义
  = 更稳定的 Agent 工作流

二、Skill 文件:从“大而全的说明书”变成按需路由器

Skill 本质上是存储在 Markdown 文件中的工作方法,有时还会附带脚本、模板和参考资料。它最适合描述 Agent 只有在特定任务中才需要的知识,例如:

  • 如何执行数据库迁移;
  • 如何生成和验证 PDF;
  • 如何运行一套特殊的部署流程;
  • 如何使用某个团队内部插件;
  • 如何完成一套需要多个工具配合的研究工作流。

Skill 不应该变成所有项目规则和背景知识的垃圾桶。

1. Skill 描述要尽可能短

Agent 通常需要先看到 Skill 的名称和描述,才能判断是否加载它。描述过长会产生两个问题:

  1. 每个 Skill 的触发条件占用更多上下文;
  2. 当 Skill 数量增加时,系统可能压缩或截断描述,导致模型看不到关键条件。

一个好的 Skill 描述应该回答三个问题:

  • 什么时候必须使用它?
  • 它解决哪类问题?
  • 什么时候不应该使用它?

例如,下面这种描述范围过大:

处理所有数据库相关任务,包括查询、设计、迁移、调试、性能优化和部署。

它可能在任何提到“数据库”的任务中被触发,即使当前任务只是修改一个 README。

更好的写法是:

仅在需要创建、修改或回滚数据库迁移时使用。包含迁移前检查、执行、验证和失败恢复流程;普通查询和应用层数据库代码修改不使用本 Skill。

关键不在于写得更长,而在于边界更准确。

2. 避免“Pick me”式描述

有些 Skill 描述会不断强调“我最重要”“任何相关任务都应该使用我”,这会造成 Skill 之间互相争抢触发机会。

一个 Skill 不需要证明自己比其它 Skill 更强,只需要清楚说明自己的适用条件。建议避免:

  • “这是处理所有 X 问题的终极 Skill”;
  • “只要任务涉及 X,就必须优先使用我”;
  • “比其它工具更可靠、更完整、更专业”;
  • “任何情况下都应该先调用本 Skill”。

这些句子通常增加路由噪声,却不会增加可执行信息。

3. 使用渐进式披露

Skill 被完整读取一次,就会消耗上下文,并把模型带入更接近压缩或截断的状态。如果一个 Skill 同时包含多个工作流,不应该把所有内容塞进根文件。

推荐使用下面的结构:

skills/
└── database-migration/
    ├── SKILL.md          # 最小路由器:判断何时使用、指向哪里
    ├── migration.md      # 迁移流程
    ├── rollback.md       # 回滚流程
    ├── verify.md         # 验证检查
    └── scripts/
        ├── preflight.sh
        └── verify-migration.ts

根 SKILL.md 只保留:

  • 适用条件;
  • 不适用条件;
  • 必须先检查的前置条件;
  • 支持的工作流列表;
  • 详细资料和脚本的位置。

示例:

---
name: database-migration
description: 仅在需要创建、修改或回滚数据库迁移时使用;普通查询和应用层数据库代码不使用。
---

# Database Migration

先确认目标环境、迁移版本和回滚策略。

- 新建迁移:阅读 `migration.md`
- 回滚迁移:阅读 `rollback.md`
- 验证结果:阅读 `verify.md`
- 可重复的检查:运行 `scripts/preflight.sh`

这样,Agent 先读取路由器,只有确实进入某个工作流时才加载对应资料。

4. 不要把旧模型的习惯硬套给新模型

某些 Skill 是为较弱或较早的模型设计的:它们会要求模型严格按照几十步清单操作、每一步都复述确认、每次编辑前读取整个仓库。

这些要求在当时可能有价值,但在 GPT-6 Astra 上可能造成:

  • 不必要的上下文消耗;
  • 任务速度下降;
  • Agent 把注意力放在形式步骤,而不是实际目标;
  • 简单任务被复杂流程拖慢;
  • 模型在每个中间节点过度停下来等待确认。

Skill 应该告诉 Agent 哪些事实和边界必须知道,而不是替它写出每一个思考动作。

三、AGENTS.md:只保留仓库级的稳定事实

AGENTS.md 会在 Agent 进入项目时持续生效,因此它比临时 Skill 更需要克制。

适合放进 AGENTS.md 的内容包括:

  • 项目使用的语言、框架和包管理器;
  • 代码、测试、文档和生成资源所在位置;
  • 不应修改的目录;
  • 必须遵守的安全和隐私规则;
  • 提交、发布和部署的固定约定;
  • 项目特有的验证命令;
  • 生产数据和凭据的权限边界。

不适合放进 AGENTS.md 的内容包括:

  • 每个任务都要重复的长篇通用教程;
  • 只适用于一个文件的临时说明;
  • 模型已经能够自行判断的显而易见步骤;
  • 与当前项目无关的工具清单;
  • 过于具体、容易过期的操作顺序。

1. 每条规则都要问一次:现在还需要吗?

可以定期对 AGENTS.md 做一次清理审计:

检查问题如果答案是否定的
这条规则是否仍然适用于当前仓库?删除或移到历史文档
这条规则是否每个任务都需要?移到专用 Skill
这条规则是否属于安全底线?保留,并尽量用工具或 CI 强制
这条规则是否只是模型能力不足时的补丁?用新模型重新验证后考虑删除
这条规则是否已有其它文件重复描述?合并,保留唯一来源

2. 不要要求每次修改前都读取整个仓库

“每次改文件前先阅读完整项目结构、所有文档和全部相关代码”是一条常见但昂贵的规则。

对于大型项目,它会快速消耗上下文;对于简单改动,它会把一个几秒钟的任务变成多轮侦察。更合理的写法是:

- 修改前读取与目标直接相关的文件和调用路径。
- 只有在跨模块、架构或数据流影响不明确时,才扩大检索范围。
- 不要为了满足形式要求而读取与当前任务无关的文件。

这仍然保留了“先了解影响范围”的原则,但把判断权交给模型。

3. 不要强制模型重复它已经会做的验证

早期模型可能需要明确提醒“修改后运行测试”。如果 GPT-6 Astra 在当前项目中已经稳定执行这类检查,就不必在每个 Skill 和 Prompt 中重复五次。

更好的做法是把验证要求分成两类:

  • 必须验证的项目底线:放入 AGENTS.md、CI 或脚本;
  • 根据任务决定的验证:让 Agent 判断相关测试范围。

如果测试环境安全且不会访问生产资源,可以明确授权:

本地测试使用可丢弃的 Fixture,不访问生产环境。完成实现后,直接运行相关测试;只修复由本次改动引起的失败,然后重新运行受影响的测试,无需在每一步重复请求批准。

这比单纯写“必须测试”更有用,因为它同时说明了安全前提、执行范围和继续工作的权限。

四、决策边界:保护安全,但不要让 Agent 过度停摆

很多团队在 Agent 曾经误删文件、覆盖 Git 历史或修改生产数据后,会快速增加“任何事情都必须先询问”的规则。

这类规则能够降低一部分风险,但也可能把所有低风险操作都变成等待点。GPT-6 Astra 的判断能力更强,因此边界设计应该从“所有动作都要确认”转向“只有不可逆或高影响动作需要确认”。

推荐使用风险分层

风险等级示例默认行为
低风险读取文件、搜索代码、运行只读检查自动执行
中风险修改工作区、运行本地测试、生成临时文件在明确范围内执行
高风险修改生产数据、推送、部署、删除、迁移执行前确认
不可逆风险覆盖历史、删除密钥、破坏性数据操作明确目标、二次确认并保留回滚方案

边界规则需要说明的是“什么动作需要停下来”,而不是泛泛地要求 Agent 对所有事情都询问。

让安全边界尽可能由技术机制保证

Prompt 中的“不要做危险操作”容易被遗漏或误解。更可靠的控制方式包括:

  • 最小权限的系统用户;
  • 只读生产数据库角色;
  • Git 分支保护;
  • CI 门禁;
  • 文件系统沙箱;
  • Hook 和命令白名单;
  • 部署审批;
  • 可回滚的迁移和发布流程。

Prompt 负责解释意图,工具和平台负责执行底线。

五、Persistence:把完成定义写清楚

一些开发者会发现:GPT-6 Astra 完成第一轮实现后,比 GPT-5.6 Sol 更容易停下来等待复核。它并不是不会继续,而是更谨慎地判断“当前是否已经达到交付点”。

这时最有效的办法不是简单地说“不要停”,而是在任务开始时定义完成标准。

模糊 Prompt

把这个功能实现一下。

Agent 很难判断:实现到什么程度算完成?是否要运行测试?是否要修复测试失败?是否要启动本地服务?

清晰 Prompt

实现这个功能,并完成以下闭环:

1. 阅读与需求直接相关的代码;
2. 修改实现和必要的测试;
3. 运行受影响的测试和 lint;
4. 修复由本次改动引起的失败;
5. 检查最终 diff 和运行结果;
6. 汇报修改文件、验证命令和仍存在的风险。

在本地测试和代码修改范围内持续推进,不要在第一轮实现后提前结束。
遇到生产写入、推送或部署时暂停并询问。

这段 Prompt 同时定义了:目标、执行范围、验证闭环、继续工作的许可和必须停下来的边界。

2. 说明“继续探索”的范围和停止条件

如果你希望 Agent 在第一版实现后继续优化,不要只说“继续看看”。应该说明:

  • 要探索什么;
  • 探索到什么程度;
  • 哪些方向不需要尝试;
  • 何时停止并汇报。

例如:

完成基础实现后,继续检查错误处理、移动端布局和现有测试覆盖。只修改与本功能直接相关的文件。完成这三项检查并运行测试后停止,汇报剩余风险,不要扩展到无关重构。

六、用一次“指令清理审计”升级项目

GPT-6 Astra 上线或切换后,适合做一次完整的 Agent 配置审计。

第一步:盘点指令来源

列出项目中的:

  • 所有 AGENTS.md;
  • 所有 Skill 名称和描述;
  • 常用任务 Prompt 模板;
  • Hook、权限、CI 和部署规则;
  • 重复出现的测试、审查和提交要求。

第二步:标记每条规则的来源和目的

给每条指令增加几个问题:

这条规则解决过什么问题?
它现在仍然复现吗?
它是安全底线、项目事实还是模型补丁?
它是否有更可靠的工具机制?
它每次会消耗多少上下文?

第三步:合并重复和冲突

同一条“修改后必须运行测试”可能同时出现在:

  • 根目录 AGENTS.md;
  • 前端 Skill;
  • 提交 Prompt;
  • PR 模板;
  • CI 工作流。

它们不一定都要删除,但应该明确谁是权威来源。安全底线应尽量由 CI 或脚本强制,工作方法放入 Skill,任务范围放在当前 Prompt。

第四步:用真实任务回归

清理之后不要只看文件长度。选择三类任务验证:

  • 一个简单任务,例如改文案或修小 Bug;
  • 一个中等任务,例如跨文件功能和测试;
  • 一个复杂任务,例如重构、研究或长链路 Agent。

记录:

  • 是否选择了正确 Skill;
  • 是否过度读取文件;
  • 是否提前停止;
  • 是否遗漏验证;
  • 是否触碰了不该触碰的资源;
  • 完成同一任务需要多少轮交互。

七、GPT88 项目中的推荐配置结构

对于使用 GPT88 接入多个模型的团队,可以采用下面的分层:

项目根目录/
├── AGENTS.md                  # 稳定事实、安全边界、项目级完成标准
├── docs/
│   ├── architecture/          # 架构和领域背景
│   └── adr/                   # 关键决策记录
├── skills/
│   ├── database-migration/
│   │   ├── SKILL.md           # 最小路由器
│   │   ├── migration.md
│   │   └── scripts/
│   ├── release/
│   │   ├── SKILL.md
│   │   └── rollback.md
│   └── research/
│       ├── SKILL.md
│       └── evidence.md
└── .github/
    └── workflows/             # 确定性检查和发布门禁

建议的责任分配:

内容放置位置
项目不可违反的安全规则AGENTS.md + 权限/CI
只在特定任务需要的流程Skill
大型参考资料和历史背景docs/,按需读取
可重复执行的检查脚本、测试和 CI
当前任务目标和范围用户 Prompt
临时决策当前任务或 ADR

八、常见反模式

反模式一:安装所有热门 Skill

Skill 数量越多,不代表 Agent 能力越强。描述越多、重叠越多,路由就越不稳定。只安装项目真实使用的能力,并定期清理长期未触发的 Skill。

反模式二:把所有知识写入根 AGENTS.md

根规则文件应该告诉 Agent 如何在项目中工作,不应该成为完整 Wiki。领域背景、历史决策和复杂教程应该拆到可按需读取的文档。

反模式三:用 Prompt 模拟权限系统

“请不要读取生产数据库”不如不给它生产数据库权限可靠。安全底线应由凭据、沙箱、网络和 CI 控制。

反模式四:为每个模型维护一套完全不同的规则

如果项目必须同时支持 GPT-6 Astra、GPT-5.6 Sol、Claude 或其它模型,应优先保留项目事实和安全边界,把模型差异放在少量路由说明中。不要让整个仓库规则被某个模型的历史弱点绑架。

反模式五:任务完成标准写得太模糊

“做完告诉我”不等于“运行测试并修复失败后汇报”。需要继续推进时,明确闭环、验证和停止条件。

反模式六:无限递归审查和探索

让 Agent 不断寻找更多问题,可能导致低价值修改、虚构缺陷和无止境循环。审查需要范围、优先级和停止条件。

九、可直接复制的任务 Prompt 模板

目标:
用一句话说明要交付的结果。

范围:
- 允许修改哪些目录或文件;
- 不应触碰哪些资源;
- 是否允许新增依赖。

完成定义:
- 实现目标功能;
- 运行与本次改动相关的检查;
- 修复由本次改动引起的失败;
- 检查最终 diff;
- 汇报修改文件、验证命令、结果和剩余风险。

继续工作权限:
在本地代码、测试、文档和可回滚修改范围内持续推进,不要在第一轮实现后提前结束。

需要暂停确认的动作:
生产数据写入、删除、Git 历史覆盖、推送、部署、密钥操作和不可逆迁移。

停止条件:
完成上述验收项后停止;如果发现目标不明确、权限不足或需要扩大范围,先汇报问题。

十、最终检查清单

  • 每个 Skill 的描述都能清楚说明适用和不适用条件;
  • Skill 根文件是路由器,而不是几十页的总教程;
  • 复杂资料和脚本采用渐进式披露;
  • AGENTS.md 只包含稳定的项目事实和安全边界;
  • 没有强制 Agent 为简单任务读取整个仓库;
  • 安全底线由权限、Hook、CI 或沙箱协助执行;
  • 低风险操作不会被“全部先询问”规则阻塞;
  • 任务 Prompt 明确定义完成、验证和停止条件;
  • 长任务说明了可以继续探索的范围;
  • 清理指令后用简单、中等、复杂任务做回归;
  • 已记录模型选择、任务成功率、交互轮次和返工量;
  • 长期未使用或互相冲突的 Skill 已删除、合并或降级。

结语:把模型能力用在判断上,而不是让它背流程

GPT-6 Astra 时代的 Prompt Engineering,不是写出更长的指令,而是更准确地决定哪些信息值得进入上下文、哪些动作需要授权、哪些知识应该按需加载,以及什么时候可以把判断交给模型。

好的 Skill 不会试图替 Agent 思考每一步;它会提供任务所需的知识、工具和边界。好的 AGENTS.md 不会把整个项目写成教程;它会保留稳定事实和不可违反的规则。好的任务 Prompt 不会只描述“做什么”;它会定义“做到什么算完成,以及什么情况下必须停下来”。

对于 GPT88 用户来说,切换到 GPT-6 Astra 也是一次清理项目的机会:删除已经过时的模型补丁,缩短过度膨胀的 Skill 描述,把复杂资料改为渐进式披露,并用真实任务重新验证整套工作流。

最终目标不是让 Agent 看更多规则,而是让它在更少但更准确的规则下,完成更多可靠的工作。

来源与说明

本文是基于公开 X 长文的中文结构化整理与方法论扩展。不同模型、Harness、Skill 加载器和项目规模会导致实际效果不同;建议用自己的真实任务集验证规则清理前后的上下文消耗、交互轮次、成功率和返工量。

தொடர்புடைய வழிகாட்டி

GPT-6 Astra 模型详情:能力分析与评测