OpenAI DevDay 2026 结束快一周了,我这两天把线上回放又过了一遍,也和几个去旧金山现场的同事对了笔记。先说结论:这场会的关键词不是“更强”,而是“更好用”。20+ 项发布里,真正让我打算调整开发计划的就三样——dots、ChatGPT Spaces、GPT-6.1 Sol。这篇文章不打算把所有发布都抄一遍,重点聊这三个东西为什么值得重视,以及我实际迁移工作流时踩到的坑。内容适合正在做 AI 应用、Agent 或内部工具的技术团队参考,也适合对 ChatGPT 生态感兴趣的产品经理和重度用户。
1. 今年的 DevDay:不再是一场“模型发布会”
1.1 发布主线:从 API 更新转向 Agent 生命周期
往年 DevDay 的主角永远是“某个更大更强的模型”,PPT 上堆满 benchmark 数字,结尾再甩一个价格表。今年完全换了打法:GPT-6.1 Sol 当然还在主舞台,但官方花了更多时间讲“任务怎么做完”,而不是“模型有多聪明”。
我理解的本质变化是:模型已经默认变成基础设施,真正的瓶颈变成了上下文怎么组织、任务怎么拆解、权限怎么隔离、结果怎么验证。所以今年发布的东西大量围绕“Agent 生命周期管理”——从创建、运行、调试到审计,每个环节都有配套工具。dots 和 ChatGPT Spaces 就是这一思路的直接产物。dots 解决“上下文怎么结构化”,Spaces 解决“工作环境怎么持久化”,两者拼在一起,才构成一个真正能反复运行的 Agent 工作区。
这对开发者的实际影响是:我们不再需要拿一长串 prompt 去“喂”模型,而是像写代码一样管理输入、记忆、工具依赖。习惯了这个思路之后,再回去用传统聊天窗口会明显觉得别扭。
1.2 20+ 项发布里,最值得关注的是哪几类
整场发布我按自己的关注度分了四类,先给一张速查表:
| 分类 | 代表发布 | 一句话说明 |
|---|---|---|
| 基础模型 | GPT-6.1 Sol | 这次真正值得迁移的新模型,后续单独讲 |
| 上下文与协作 | dots | 可复用、可版本化、可执行的结构化上下文单元 |
| 工作空间 | ChatGPT Spaces | 带记忆、文件、Agent、成员权限的持久化工作区 |
| 开发者工具 | Codex 2.0、Sign in with ChatGPT | CLI 编码代理更新,第三方应用可接入 ChatGPT 账号体系 |
| 平台能力 | Realtime API 2.0、Agents SDK、Evals 2.0 | 实时多模态、Agent 编排、评估体系全面升级 |
| 成本与运维 | Prompt Caching 3.0、批处理 API、用量审计 | 长任务成本明显下降,企业审计能力补齐 |
剩下还有些零碎更新,比如视觉微调、多语言语音模型、移动端快捷指令、团队模板市场等,属于“有了更好,没有也不影响主线”。我真正建议技术团队认真看的,就是表格里前四类。
一个值得注意的细节:今年 OpenAI 刻意把“模型”和“产品”分开讲,GPT-6.1 Sol 在上午出现,下午的环节几乎全在讲 Agent 和 Spaces。这说明他们的战略重心已经明显从“提供更强的点”转向“提供完整的面”。
2. GPT-6.1 Sol:模型也开始学会“完成任务”
2.1 Sol 到底是个什么样的模型
GPT-6.1 是 GPT-6 系列的一次中期升级,代号 Sol,官方解释是“太阳”,含义是它像太阳一样处在所有 Agent 任务的中心。我个人更愿意把它理解成“Solo”——单个模型可以独立完成一条完整任务线,不需要频繁切回人来重新对齐目标。
和 GPT-6.0 相比,Sol 的核心变化有三点。第一是模态统一,图像、语音、视频、代码、结构化数据在入口层被编码成同一种内部序列,多模态切换不再有明显的“插件感”。第二是推理连续性,以前长任务跑到一半经常会“忘了前面说过什么”,Sol 在长时间推理的场景下保持了更稳定的推理路径,现场演示里处理三小时会议录音加出报告的一整段流程,中间没有一次上下文漂移。第三是上下文窗口,现网版本给到了 2M token 级别,已经足够把中型代码库的核心部分直接放进去。
用生活化的方式理解:以前的模型像一位知识渊博的顾问,问一句答一句;Sol 更像一个“能自己列计划、按计划执行、最后交报告”的项目助理。它仍然不是万能的,但至少不会每五分钟问你一次“我们的目标是什么来着”。
2.2 实测下来,Sol 适合处理什么任务
大会之后我在 API 里把几个真实任务切到gpt-6.1-sol跑了一遍,最明显的体感是:长链路任务的质量稳定度提升最大。
举一个具体的例子:我让它从一份 60 页的产品需求文档里提取用户故事,再结合团队 Git 提交记录生成迭代建议。这个任务如果拆成几步来做,中间需要人工搬运上下文;用 Sol 一次性完成,它能把文档里的术语、历史提交的代码变更和最后建议串成一条逻辑线,而不是三段割裂的输出。
不过我也发现了一个实际情况:短对话和简单分类任务不需要动用 Sol,用轻量模型更划算。Sol 的输入定价比 GPT-6.0 略高,但输出 token 价格明显下降,官方给的思路是“它适合把大量输入浓缩成少量高质量输出”。如果你只是做情绪识别或标题生成,用 Sol 是杀鸡用牛刀,成本账算不过来。
2.3 迁移到 Sol 时要注意的几个配置项
从旧模型迁到 Sol,有四个参数值得重新过一遍。
第一个是reasoning_effort。Sol 对这套参数更敏感,从low到high,输出质量和耗时差距很大。我建议默认任务用medium,只有真正需要深度分析的长任务才开high。
第二个是max_completion_tokens。这个改动其实很早就有了,但今年 API 对旧字段的限制更严格,如果你还在用max_tokens,会直接报错。迁移时务必全局搜索替换。
第三个是structured_outputs。Sol 在 JSON 结构化输出上做了专门的训练,开启"strict": true后,输出格式稳定性比旧模型高很多。做数据抽取、工单分类这类任务,强烈建议把输出格式定义清楚再调用。
第四个是工具调用(function calling)的写法。Sol 对“并行工具调用”的支持更自然,可以在一个推理步骤里同时请求多个工具的结果,但这意味着你的工具函数必须做成“无状态、可重试”的形式,否则容易出现重复操作。我就在这里踩过一次,后面常见问题章节会详细说。
提示:如果你在 Agents SDK 里接 Sol,可以直接在模型配置里写
model: gpt-6.1-sol,SDK 会自动读取它支持的工具调用格式,不需要手工改函数签名。
3. dots:把上下文变成可复用、可执行的结构
3.1 dots 到底解决了什么痛点
dots 是我这次最感兴趣的东西,倒不是因为它技术上多复杂,而是它终于回应了一个很实际的问题:我们的提示词和上下文,能不能像代码一样管理起来?
过去给 ChatGPT 写需求,要么是一段超长的自然语言,要么是一坨 Markdown 文件。问题在于:自然语言不可版本化,同一份背景资料在不同对话里被反复粘贴,改一处就要全局改;Markdown 虽然能存文件,但文件只是静态文本,AI 不会主动“执行”里面的步骤。
dots 的思路是:把上下文拆成最小单元,每个单元叫一个 dot。dot 可以有类型,比如>project: 客服工单分析 dots: - id: api-log type:>codex dots run generate-report --dots ./support-pipeline.dots
这行命令的意思很直白:加载support-pipeline.dots里定义的全部 dot,解析依赖关系,执行generate-report这个任务。整个过程里,你改了business-rules的内容后,只需要重新运行一次,得到一个基于新规则的报告。
这就是 dots 的价值:任务逻辑变成文件,可以进 Git,可以 review,可以测试。
3.3 dots 在聊天界面和 API 里分别怎么用
如果你不是在写代码,只是想在日常 ChatGPT 对话里用 dots,操作更简单。左侧点击 dots 库,把需要的 dot 拖进对话框,就相当于把一段格式化的上下文注入当前对话。团队成员可以共享 dot,同一个“产品背景说明”可以被多个会话引用,改一处,用到它的所有会话下次加载时自动更新。
在 API 场景下,dots 以参数形式传给模型,类似tools的写法。官方建议把大段静态知识放进 dots 来降低 prompt 长度,因为 dots 内容可以做服务端缓存,重复使用同一份 dot 时成本更低。这也意味着你不需要再把几十页文档塞进每个用户请求里。
我目前的实践是:文档类知识用knowledgedot,每周更新一次;动态数据用>npm install -g @openai/codex@latest codex login codex
codex login会拉起浏览器,通过 Sign in with ChatGPT 完成授权,终端里不需要再复制粘贴任何密钥。这个体验让我这种经常在 CI 环境切换机器的人舒服很多。
如果你希望 Codex 默认使用新模型,可以执行:
codex config set model gpt-6.1-sol这个配置会写入本地的 Codex 配置文件,后续启动时自动生效。我现在基本把 Codex 当成一个“能读代码库、能改代码库、能跑测试”的团队初级工程师用,当然最后一步还是人工 review。
5.2 Sign in with ChatGPT:第三方应用的账号体系
Sign in with ChatGPT 今年正式对外开放,简单说就是你可以在自己的网站或 App 里,让用户直接用 ChatGPT 账号登录。它的技术本质是标准的 OAuth 2.0 / OpenID Connect 登录流程,不是另起炉灶的东西。
接入流程大致是四个步骤:
- 在 OpenAI Platform 后台创建一个 OAuth 应用,拿到
client_id和client_secret。 - 配置
redirect_uri,也就是用户授权后回跳到你服务器的地址。 - 前端发起登录:跳转到 OpenAI 的 authorize 端点,带上
client_id、redirect_uri和scope。 - 用户授权后,OpenAI 回调你的服务器并携带一个
code,你的后端拿这个code换取access_token和id_token,再读取用户资料。
示例代码如下,我用的 Node.js,核心是 token 换取的伪代码:
const params = new URLSearchParams({ client_id: process.env.OAUTH_CLIENT_ID, client_secret: process.env.OAUTH_CLIENT_SECRET, code: receivedCode, grant_type: 'authorization_code', redirect_uri: 'https://your-app.com/callback' }) const response = await fetch('https://api.openai.com/v1/oauth/token', { method: 'POST', body: params }) const tokens = await response.json() // tokens.access_token 用于调用用户信息接口 // tokens.id_token 是 JWT,必须在服务端校验签名这里必须强调一个安全原则:登录状态判断永远要在服务端做。前端拿到的 token 只用于向用户展示“已登录”状态,真正的业务请求应该在服务端带着 token 去验证,不能只信任前端传来的用户 ID。
区分两个容易混淆的概念:Sign in with ChatGPT 解决的是“当前用户是谁”,API Key 解决的是“你的服务器在调用模型”。前者面向终端用户,后者面向开发者自己,两者不能互相替代。
5.3 API 生态里其他值得动手试试的发布
除了上面几个重头戏,这次还有几个小更新我认为很有价值。
Realtime API 2.0 开始支持视觉帧输入,做实时交互应用时,不需要再单独抽帧走图像识别接口,省了不少工程复杂度。Agents SDK 大版本更新后,把多个子 Agent 编排成有监督流程变得非常自然,每个子 Agent 的输入输出可以做 schema 校验。Evals 2.0 则让我们能针对“复杂任务”建立评估集,再也不用靠感觉判断模型改没改好。
成本方面,Prompt Caching 3.0 对稳定前缀的缓存折扣更大了,批处理 API 也支持了更多模型。对我这种每天处理大量日志分析的场景来说,这两项直接把账单砍掉一大截,这种发布比花哨的 demo 更让人开心。
6. 常见问题与排查技巧实录
6.1 Codex 在 Windows 上安装报 missing optional dependency 怎么处理
这次大会后,群里问得最多的问题,就是 Codex 在 Windows 安装时报错:
missing optional dependency @openai/codex-win32-x64. reinstall codex: npm install -g @openai/codex我帮同事远程排查过两次,这类报错通常是三方面原因:Node.js 版本过低、npm 缓存里的旧包损坏、或者当前用户没有全局安装目录的写入权限。可以按顺序处理。
先确认 Node 版本,建议不低于 20:
node -v如果版本太老,先升级 Node。然后清理 npm 缓存并重新安装:
npm uninstall -g @openai/codex npm cache clean --force npm install -g @openai/codex@latest如果重装后仍然报错,多半是权限问题。Windows 下用管理员身份打开 PowerShell 再执行安装命令,或者把 npm 的全局目录调整到当前用户目录下,都可以解决。还有一个偏方是安装时加上--foreground-scripts,能看到到底是哪个步骤失败,定位会更快。
6.2 API Key 的创建、限额与安全最佳实践
API Key 是调用模型服务的凭证,这个主题每一个做 AI 应用的人都会遇到。创建流程很简单:登录 OpenAI Platform,打开 API keys 页面,点击 Create new secret key,给它起名字、选择项目、设置每月的消费限额,然后复制保存。
这里我要特别强调几个安全习惯:
- 永远不要把 API Key 分享给别人,也不要提交到 Git 仓库里。一旦泄漏,立刻在后台撤销并重新生成。
- 把 Key 放进环境变量,而不是写死在代码里。例如在本地开发时用:
export OPENAI_API_KEY="sk-..."- 为不同环境创建不同 Key:开发环境、生产环境、临时脚本分开用独立项目隔离,方便权限控制和成本追踪。
- 设置月度限额,即使 Key 泄漏,也能把损失控制在可接受范围。
另外,如果你在用 Codex CLI 这类交互式工具,优先用codex login,不要手动复制 Key 到终端。登录方式不仅更安全,还能自动处理刷新和权限变更。
6.3 从旧模型迁移到 GPT-6.1 Sol 时容易踩的坑
迁移模型不是只改个名字那么简单,我在测试时踩了三个明显的坑。
第一个是参数兼容。前面提到的max_tokens旧字段在 Sol 的接口上会直接报错,必须改成max_completion_tokens,否则请求都发不出去。迁移第一步就在代码里全局搜索这两个字。
第二个是输出格式。Sol 虽然结构化输出能力强,但要求你规范定义 JSON Schema。如果沿用旧模型那种“你给我返回一个 JSON”的模糊写法,Sol 会按自己的理解生成,结果字段名对不上。正确做法是在 API 请求里传response_format,特别是开启了"strict": true之后,模型会严格按 Schema 输出。
第三个是工具调用的幂等性。Sol 支持在一次推理中发起多个工具调用,但这也意味着同一个工具可能被调用多次。如果你在工具里执行了“发送邮件”“扣减库存”这类操作,就必须做幂等控制。比如在工具参数里带上幂等键request_id,服务端重复请求时直接返回第一次的结果,不然就会出现重复扣款这种事故。
7. 最后聊聊我自己的实际体会
这次 DevDay 看完,我最大的感受可以用一句话概括:OpenAI 终于开始认真做“上下文工程”了。dots 和 Spaces 让我不再担心提示词越写越长、团队成员之间上下文互相污染、Agent 任务改一处就要从头教一遍。Codex 依然是我每天的主力开发工具,但新的项目上下文感知能力让我敢于把更复杂的重构任务交给它,而不是事无巨细地喂路径和文件名。
如果你打算在团队里推广这套新工作流,我的建议是不要一上来就搞大迁移。先挑一个最日常、最重复的任务,比如“每天把客服工单汇总成看板”或“每周自动整理竞品动态”,用 Spaces 建一个最小工作区,用 dots 把规则沉淀成配置,跑通后再逐步扩大范围。我自己的体会是,前三天会觉得“设定空间比直接问一句麻烦”,但一周之后你就回不去了——因为当你手上有十个项目都在并行时,真正稀缺的不是模型智商,而是上下文的有序管理。