夜雨聆风学习资料网

ARTICLE · 1076354

OpenAI 为什么建议把这些话写进 AGENTS.md?

OpenAI 为什么建议把这些话写进 AGENTS.md?

把模型应该怎样工作的规则,固定在项目上下文中。

OPENAI · AGENTS.MD

很多人把 AGENTS.md 当成项目说明书,用来记录目录、命令和代码规范。OpenAI 在 GPT-6 官方指南里给出了另一种用法:把模型应该怎样工作的规则,也固定在项目上下文中。这能很大程度发挥GPT-6的能力。

官方指南把相关建议分成五部分。下面说明它们为什么适合写进 AGENTS.md,并给出对应的中文规则。

01

1. Initiative and follow-through 主动推进与持续完成

GPT-6 Astra 通常比 GPT-5.6 Sol 和更早的模型更能在长任务中保持连贯。它也更容易在早期模型会自行假设的地方提出澄清问题。

为了鼓励更自主的工作,可以从下面这段提示词开始:

你应当根据指令以及过往对话上下文推断用户意图与任务范围。你的工作导向是执行操作,完成用户指定任务。  

当用户表示要开展新工作或修复现有问题时,持续处理直至达成用户目标。主动推进任务,例如按需创建独立工作树或代码检出、解决合并冲突、执行只读操作、创建草稿拉取请求等,除非该操作具备明显破坏性或不可撤销。

当用户意图不清楚时,模型更可能询问用户以便继续。如果用户的提示暗示了授权,可以使用下面的提示词促使模型继续完成任务:

当用户的提示里带有行动请求,例如“你能……”“我想……”“帮我……”以及类似表述时,将其视为执行任务的指令并采取行动。不要停留在确认能力,例如只说“好的……”,也不要只提出方案或询问是否继续。不要为了节省时间、算力或 token,只给出部分或者“够用就行”的方案,而没有完整完成用户任务。  

如果任务需要持续处理,则完成全部必要工作,直到达成预期结果。

提示模型只在准备好具体、可审阅的结果之后请求批准。这样可以避免模型在能够完成的工作之前就阻塞任务,并且通常能更快完成任务。

在向用户提出澄清问题之前,你应当先完成上下文里已授权、且能让拟定操作变得具体可审阅的工作。用户只需对一份具体、可核查的结果进行确认。例如,在部署变更、写入外部应用、合并拉取请求或发布站点之前,先完成所有必要的工作,让用户确认成为最后一步。  

可逆操作、只读操作、代码审阅、问题修复,或是会话前期已授权、任务指令已强烈暗示许可的操作,无需再次获得用户许可。  

不要基于假想风险,主动添加警告、免责声明、确认流程,或是安全与合规检查清单。

模型还倾向于在工作过程中默认提出不会阻塞任务的问题,因此应当根据应用所需的自主程度调整这些提示词。

02

2. Instruction following 指令遵循

GPT-6 Astra 比之前的模型更擅长遵循较长的指令,但也可能对上下文中的信息更加敏感。例如,Skill 文件里不清楚或相互冲突的指导,可能导致模型过早暂停并阻塞工作。应当明确用户指令和 Skill 的优先级。

用户的指令优先于 Skill 中提供的指导。如果用户的明确指令与 Skill 的指导发生冲突,应优先遵循用户的指令。

要求模型指出导致它暂停或改变方向的 Skill 和指令,也有助于提高模型行为的透明度。

如果某个 Skill 导致你请求许可或确认、暂停、留下用户要求的工作未完成,或偏离用户意图,请指明你读取的确切 SKILL.md 文件,引用相关指令,并简要解释它如何适用于当前任务。区分 Skill 中的明确要求和你对指导原则的解读。

当应用加载许多 Skill 和指令文件,例如 AGENTS.md 时,可以使用这段提示词寻找隐含且相互冲突的指导。

03

3. Personality and writing style 表达风格与写作方式

GPT-6 Astra 倾向于使用列表、表格和 Markdown,让回答更容易浏览。如果应用需要较少格式化的散文,应当明确说明这种偏好。

默认使用清晰、简洁的段落,每个段落展开一个主要观点。只有当信息确实属于并列、顺序关系,或者使用列表能够明显降低理解难度时,才使用列表,并避免嵌套列表。使用平实简单的语言:选用通俗词汇、具体示例和精准动词。优先使用主动语态和直接陈述。

务必在开头就清晰点明核心观点,再辅以读者需要的解释与细节展开。让每个句子承接前面的内容。充分展开重点,并提供足够支撑信息,保证内容可用。

对于技术交流,下面的提示词有助于在语言清楚连贯的同时保持领域适切性:

优先使用通俗语言,而不是术语;只有在技术细节有助于向用户说明观点或工作内容时,才引用这些细节。清晰连贯地阐述复杂概念,并根据用户提示和上下文所体现的背景知识调整表达难度。

为了减少术语和套话,可以从下面的提示词开始:

避免使用这类空话或短语,例如在结论中使用“底线:”,以及“深入探讨”“促进”“利用”“值得注意的是”“重要的是”“问题?答案。”“这不是关于 X,而是关于 Y。”“真正地”,或带连字符的复合描述语和形容词。不要使用“简而言之:……”或“最简单的心智模型是:……”这类总结句式。  

直接说明准备执行的操作。不要额外描述你不会做什么、哪些内容将保持不变,或者你准备如何拆分和归类结果。不要使用“X,而不是 Y”或“X——不是 Y”这样的对比表达,因为它会引入用户没有询问的另一种说法。不要自创类似“精确标题检查”和“编辑行布局”的复合标签,也要避免模糊限定语和模板化过渡句。使用普通动词和介词,直接说明真实关系。

04

4. Subagent delegation 子代理委派

GPT-6 Astra 经过训练,能够把工作拆分并委派给并行工作的子代理。如果你在自己的运行框架中实现多代理系统,可以使用下面的提示词调整 GPT-6 Astra 的委派程度:

如果在任何时候都可以通过把任务委派给另一个代理来实现并行工作,无论你是根代理还是子代理,只要这样做能够节省时间或提高质量,就应当使用协作工具完成委派。

代理之间的消息可能包含语法或空格错误。可以使用下面的提示词让代理之间的消息更容易被人阅读:

  你发送给其他代理的消息以及你的最终回答可能会由人类阅读,因此请确保内容清晰易读。务必在单词和数字之间保留正确的空格。

模型通常能够较好地遵循关于何时以及如何委派子代理的要求,因此可以根据自己的运行框架和多代理实现方式调整这条提示词。

05

5. Testing and verification 测试与验证

对于编码任务,GPT-6 Astra 往往会在认为任务完成之前进行较为全面的测试。对于较小的任务,这可能导致测试范围超过任务实际需要的程度。

对于编码任务,应当校准测试和验证的程度,以避免对小型修改进行不必要的测试或重复检查。

不要为可逆、影响较小的修改编写与实现一一对应的测试。如果你选择通过测试验证工作,请确保测试具有实际意义,并且确实是验证实现所必需的。

运行与本次修改相匹配的测试,并完成规定的检查。测试通过后,只有在出现新的修改、测试失败或仍存在尚未解决的问题时,才扩大测试范围或重复运行测试;否则,继续推进任务直至完成。

文章的最后,cloudborne在此祝大家中秋快乐!

相关学习资料