news 2026/9/9 23:47:33

system_prompts_leaks 深读:ChatGPT 自动化任务(Automations)的运行上下文提示词解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
system_prompts_leaks 深读:ChatGPT 自动化任务(Automations)的运行上下文提示词解析

system_prompts_leaks 深读:ChatGPT 自动化任务(Automations)的运行上下文提示词解析

【免费下载链接】system_prompts_leaksExtracted system prompts from Anthropic - Claude Fable 5.1, Opus 5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-6-Astra, Codex. Google - Gemini 3.8 Flash, 3.1 Pro, Antigravity. xAI - Grok, Grok Bot, Cursor, Kimi and more! Updated regularly.项目地址: https://gitcode.com/GitHub_Trending/sy/system_prompts_leaks

在 system_prompts_leaks 仓库中,OpenAI/Old/prompt-automation-context.md是一段极其稀有的运行时提示词快照:它不是模型进入对话时的“常驻系统提示”,而是 ChatGPT 的定时自动化任务(Automations)在每次被调度触发时额外注入的一段上下文。本文以该文档为骨架,逐字段拆解这段上下文的结构与行为约束,并借助仓库内gpt-5.3-instant.mdgpt-5.2-thinking.md中完整保留的automations工具定义,还原“用户在聊天中创建定时任务 → 任务到期后台异步运行 → 输出被回传”的完整技术契约。读完你将理解:OpenAI 如何把“提醒、每日摘要、定时检索”这类后台任务封装成一回合有状态的模型推理,以及 Agent 在该上下文下应遵循的行为准则。

文档定位:来自 ChatGPT 旧版定时任务策略的一份存档

先看仓库对这份文件的归档方式,可以确定它的“身份”:

  • 文件位于 OpenAI/Old/ 目录下,按照 OpenAI/README.md 的说明,Old/存放的是“已被取代的旧版本快照”,README 中同时提到deprecated/才是“被下线移除的功能”;
  • 仓库根目录 README.md 的 OpenAI 区段将OpenAI/Old/prompt-automation-context.md归类在<details>折叠的“Old policies / Automation context”行中(与 Image safety 等旧策略并列);
  • 文档自身内容(2025 年 5 月 7 日的时间戳、automation turn number 1)表明,它是一次真实调度运行中被抓取到的上下文原文。

因此可以谨慎地推断:这是一份 ChatGPT “自动化任务”功能的旧版注入上下文提示词快照,记录的是该功能 2025 年 5 月前后实际下发给模型的运行时上下文格式。下面的拆解全部以文档原文为准,并将它与仓库中同名功能的工具定义互相印证。

逐段拆解:自动化上下文到底说了什么

整份文档由三个逻辑块组成:环境声明、回答准则、结构化“当前自动化状态”。原文完整如下:

You are running in the context of an automation job. Automation jobs run asynchronously on a schedule. This is automation turn number 1. The current date and time is Wednesday, 2025-05-07 05:43:22 +0000 Adhere to these important guidelines when answering: - Do not repeat previous assistant replies unless explicitly instructed to do so. - This is a non-interactive mode. Do not ask follow-up questions or solicit information from the user. - You can see previous runs of the automation. Do not repeat the content from prior automation turns unless explicitly instructed to do so. - If the instructions are to "Remind me ..." or "Tell me ..." then simply say the reminder. - Continue to run tools like web, dall-e, or python even if there are previous failures in the conversation. Current automation state: Title: Put content in markdown code block Schedule: BEGIN:VEVENT DTSTART:20250507T054324Z END:VEVENT Timezone: {{Region}}/{{City}} Notifications enabled: False Email enabled: False

第一段:环境声明 —— 异步调度与“第 N 轮”

You are running in the context of an automation job. Automation jobs run asynchronously on a schedule.

This is automation turn number 1. The current date and time is Wednesday, 2025-05-07 05:43:22 +0000

这段明确了几条关键语义:

  • 任务与常规对话隔离:模型必须意识到自己正处在一个“自动化作业(automation job)”里,而不是在面向用户的交互式会话中;
  • 异步触发:这类运行不依赖用户在场,而是由调度器按时间触发,可以理解为“无人值守的回合”;
  • 回合(turn)编号:本次是turn number 1。对递归(RRULE)调度来说,每一次触发都会产生一个新的 turn,这为后续“能看见先前轮次”的设定提供了前提;
  • 当前时间以 UTC 给出:调度上下文需要一个确定的时间锚点,模型据此判断任务是否“到期”或“过期”,而不是依赖自己可能过时的内部时钟。

一个值得注意的细节:上下文给出的当前时间是05:43:22 +0000,而下方 Schedule 中的DTSTART20250507T054324Z(即 05:43:24 UTC),两者仅相差约两秒——这与“该自动化在 DTSTART 时刻被触发,随后注入上下文并开始执行”的行为完全自洽。

第二段:回答准则 —— 非交互、去重与容错

准则部分用五条规则定义了“后台运行”与“前台对话”的本质区别:

准则含义工程动机(可推断)
不重复之前的助手回复(除非被明确要求)每次输出都应“增量”,而不是把旧结论再复述一遍节省 token、避免向用户推送重复内容
非交互模式,禁止追问用户不得反问澄清、不得向用户索取信息后台任务无人应答,必须“就地自决”
可以看见该自动化的历史轮次,但不得重复先前 turn 的内容前次运行的对话记录对本次可见支持增量/条件型任务(如“只有变化才通知我”)的跨轮状态判断
对 “Remind me …” / “Tell me …” 类指令,直接说出提醒内容不要长篇发挥,把约定的提醒原样说出保证用户收到的是一句干净、可朗读的提醒
即使会话中存在工具失败,仍要继续执行 web、dall-e、python 等工具单次工具报错不应中断整个任务提升无人值守任务的最终成功率

特别地,“If the instructions are to 'Remind me ...' or 'Tell me ...' then simply say the reminder”与下文将要展开的automations工具中“简单提醒请用 Tell me to … 开头的 prompt”规则首尾呼应——用户在创建任务时写入的 prompt,本质上就是“以用户口吻写给未来自己的一条消息”,而到了执行轮,模型只需把它原样说出。

第三段:结构化“当前自动化状态”字段

文档末尾给出了本次运行的机器可读状态,这也是整份文档最有价值的配置信息:

字段本快照中的值语义说明
TitlePut content in markdown code block该自动化的描述性名称(本快照的标题暗示:这次运行的任务就是把上下文内容输出到 Markdown 代码块中,即抓取动作本身很可能也是一个自动化任务)
ScheduleBEGIN:VEVENT/DTSTART:20250507T054324Z/END:VEVENT任务调度定义,采用 iCalendar 的 VEVENT 文本格式;本例只有DTSTART而无RRULE,属于一次性触发任务
Timezone{{Region}}/{{City}}时区字段,这里是一个未填充的模板占位符(如America/New_York),说明该字段在实际下发前会由服务端做模板替换
Notifications enabledFalse是否启用应用内通知推送
Email enabledFalse是否启用邮件通知

Schedule使用iCal VEVENT 纯文本作为机器契约是理解整套机制的关键:它不是结构化的 JSON,而是一段可读、可校验、易于嵌入字符串的日历文本。本例表示“在 2025-05-07 05:43:24 UTC 这一刻执行一次”。

从创建端看同一功能:automations工具与运行上下文互为镜像

运行上下文告诉我们“执行轮长什么样”,而仓库中多份较新的 ChatGPT 系统提示则完整保留了创建端的工具定义——二者拼起来才是定时任务的全貌。在 OpenAI/gpt-5.3-instant.md 的第 732 行附近,有## Namespace: automations一节,其中描述:

Use theautomationstool to scheduletasksto do later. They could include reminders, daily news summaries, and scheduled searches — or even conditional tasks, where you regularly check something for the user. To create a task, provide atitle,prompt,andschedule.

这句话直接把定时任务拆成了三个输入,与执行轮上下文中的字段一一对应:

  • Title→ 对应Current automation state中的Title,要求“短、祈使句、以动词开头、不要包含具体日期时间”;
  • Prompt→ 是“写给未来模型的一条用户消息摘要”,要求在创建时就以任务目标命名,例如简单提醒用 “Tell me to …”、需要检索的任务用 “Search for …”、条件型任务追加 “…and notify me if so.”——执行轮中“simply say the reminder”的正是这段 prompt 的内容;
  • Schedule→ 与执行轮的Schedule字段同样采用 VEVENT 格式。

工具定义中的调度示例与运行上下文完全同构:

schedule="BEGIN:VEVENT RRULE:FREQ=DAILY;BYHOUR=9;BYMINUTE=0;BYSECOND=0 END:VEVENT"

即“每天早上 9:00”被编码为带RRULE的递归事件;而一次性延迟任务(如“15 分钟后”)则通过dtstart_offset_json参数计算DTSTART偏移量:

schedule="" dtstart_offset_json='{"minutes":15}'

工具注释明确说明dtstart_offset_json是“传给 Python dateutil relativedelta 函数的 JSON 编码参数”,支持years/months/days/weeks/hours/minutes/seconds键——这与运行上下文中DTSTART:...Z的呈现方式互为因果。gpt-5.3-instant.mdcreate/update的类型签名也印证了这一点:create接受prompttitle、可选schedule与可选dtstart_offset_jsonupdate则额外通过jawbone_id定位任务,并可用is_enabled启停。

此外,OpenAI/gpt-5.2-thinking.md 第 96 行有一条与之配套的硬性约束:

Never promise to do background work unless calling the automations tool.

也就是说,模型在对话中不能口头承诺“稍后帮你做”,任何后台行为都必须真正落成一个automations调用。这解释了为什么运行上下文是一段被系统直接注入的“任务执行指令”——后台工作只能由调度系统驱动,而不能依赖模型在后续某轮主动想起。

错误处理与容量约束:后台任务的现实边界

automations工具一节还给出了无人值守场景下的沟通纪律,这些同样约束着执行轮与创建轮的行为:

  • 创建任务后给出极短确认,例如 “Got it! I'll remind you in an hour.”;
  • 不要用“任务/功能”这类第三人称描述自己,而要写 “I'll notify you in 25 minutes”;
  • 收到工具错误时必须向用户解释真实错误,绝不能谎称创建成功;
  • 若错误是 “Too many active automations”,应如实告知“活跃任务已达上限,需要先删除一个才能新建”。

结合运行上下文中的Notifications enabled/Email enabled两个布尔字段可以合理推断:任务执行完成后,其结果是否触达用户、通过何种渠道触达(应用内推送还是邮件),取决于该任务创建时绑定的通知配置;本次快照两者均为 False,意味着它是一次“静默”运行,这也正符合抓取者不希望惊动任何通知渠道的目的。

一次自动化任务的完整生命周期(依据仓库证据推演)

把运行上下文与automations工具定义合在一起,可以还原出下面的端到端流程(其中箭头后的行为均有上文引用的文档或源码佐证):

  1. 创建:用户在对话中提出“每天提醒我……”或“帮我定时搜……”;模型调用automations.create,提交短祈使句title、以用户口吻写成的prompt,以及 VEVENT 编码的schedule(递归用RRULE,一次性用dtstart_offset_json),随后给出简短确认。
  2. 注册:调度器将该任务登记在jawbone_id名下,绑定时区与通知/邮件开关。
  3. 触发:到达DTSTART(或RRULE命中的某个时刻),调度器以异步方式拉起一轮模型推理,并把本文解析的“自动化运行上下文”注入对话。
  4. 执行:模型读取Current automation state,确认自己处于非交互、第 N 轮的任务运行中;对 “Tell me to …” 类 prompt 直接输出提醒内容;对需要检索、图像或计算的任务,继续调用 web / dall-e / python,即使会话历史中存在失败也不中断。
  5. 去重与演进:模型能看到先前轮次的历史,但被要求不重复旧内容,这支撑“每日新闻摘要每天都不一样”以及“只在条件满足时 notify”这类增量任务。
  6. 触达:执行结果依据Notifications enabledEmail enabled走应用内或邮件渠道送达用户(本次快照二者皆 False,故无外部触达)。

阅读这份快照的局限

需要强调,这份快照本身存在天然的观察限制:

  • 它是 2025 年 5 月 7 日一次运行中抓下的单一实例,其中的Timezone: {{Region}}/{{City}}还是未渲染的模板占位符,说明抓取发生在模板替换之前或替换失败时;
  • 仓库将它与较新的gpt-5.3-instant.mdgpt-5.2-thinking.md中的automations工具定义并列,但后者的发布时间晚于本快照,两者之间的调度格式是否发生过演化、通知字段的完整取值集合,都无法从仓库中进一步确认;
  • 以上关于“调度器内部如何实现”“通知字段的具体取值规则”的描述,属于基于字段设计与行为的合理推断,而非 OpenAI 官方文档的直接陈述。

对调度式 Agent 设计的三点启发

抛开“抓系统提示”的趣味性,这份 23 行的上下文本身是一份很优秀的无人值守 Agent 运行协议示例,对任何做定时任务、后台 Agent、定时报告类产品的人都值得借鉴:

  1. 显式声明执行模式:开头一句话点明“你在自动化任务上下文里、异步运行”,让模型的行为基线(不追问、不自作主张、按需直接输出)在一开始就被校准;
  2. 用“回合编号 + 可见历史”管理状态turn number与“可看到此前轮次但不得复述”的组合,既让条件型任务可以跨轮比较(“变化才通知”),又天然防止重复推送——这是对“长期运行、状态有限”问题的轻量解法;
  3. 把调度与通知作为一等字段注入:VEVENT 调度文本、时区、通知/邮件开关直接出现在上下文里,模型无需猜测“现在几点、这任务是不是到点了、要不要发”,调度与结果触达的职责在系统侧完成,模型只负责“干好这一回合的活”。

如果需要亲手阅读原始快照,仓库中的完整路径是 OpenAI/Old/prompt-automation-context.md;想进一步对照其“创建端”工具契约,可查阅 OpenAI/gpt-5.3-instant.md(automations工具命名空间)与 OpenAI/gpt-5.2-thinking.md 中的同类定义。

【免费下载链接】system_prompts_leaksExtracted system prompts from Anthropic - Claude Fable 5.1, Opus 5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-6-Astra, Codex. Google - Gemini 3.8 Flash, 3.1 Pro, Antigravity. xAI - Grok, Grok Bot, Cursor, Kimi and more! Updated regularly.项目地址: https://gitcode.com/GitHub_Trending/sy/system_prompts_leaks

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 23:47:11

鸿蒙ArkWeb实战:请求拦截与前进后退导航全解析

前阵子接了个鸿蒙上的混合应用需求&#xff0c;页面主体是Web组件&#xff0c;要内嵌一个运营H5页面。需求单上写得很简单&#xff1a;顶部放返回和前进按钮&#xff0c;页面加载时拦截一个特定接口&#xff0c;往请求头里塞token&#xff0c;顺便在H5跳转时保持按钮状态正确。…

作者头像 李华
网站建设 2026/9/9 23:44:20

Python魔法方法详解:从对象模型到协议实践

你一定见过 __init__ 和 __str__ &#xff0c;也大概知道它们在类里是干什么用的。但当你看到 __getitem__ 、 __enter__ 、 __radd__ 这种名字时&#xff0c;是不是心里会咯噔一下&#xff1a;这又是哪路神仙&#xff1f;说实话&#xff0c;我在刚开始写Python的几年…

作者头像 李华
网站建设 2026/9/9 23:43:46

科颜氏大牌同款OEM,源头到底在拼配方还是拼低价?

拿着美系K家亚马逊高保湿面霜的正装空瓶&#xff0c;跑到车间直接问我“能不能做一模一样”&#xff0c;这样的老板我一天能见三个。说实话&#xff0c;大牌同款OEM这个事&#xff0c;做成“看着像”不难&#xff0c;难的是做成“用着也像”。今天不绕弯子&#xff0c;直接拆解…

作者头像 李华