从DevDay现场回酒店的车上,我翻了翻这天的笔记。今年OpenAI一口气公布了20多项更新,媒体讨论最集中的是dots、ChatGPT Spaces和GPT-6.1 Sol这三个词。作为长期用OpenAI API和Codex做自动化任务的开发者,我的感受是:这不是一次简单的"发新版模型"的发布会,而是一次把开发范式往前推的发布会。GPT-6.1 Sol不再只是聊天模型,dots解决的是Agent任务状态管理问题,ChatGPT Spaces把单用户的ChatGPT变成了团队协作系统。这篇文章我会把现场值得关注的东西梳理一遍,重点讲这三大发布的定位、API实操、踩坑经验,适合正在做Agent应用、团队AI工作流和自动化工具的开发者参考。
1. 主舞台发布全景:这次OpenAI没有画饼,全在给工具链补位
1.1 20多项更新里,哪些值得开发者真正关注
我按"对现有开发流程的影响程度"排序,不按演讲顺序,说几个现场印象深刻的更新。
首先是GPT-6.1 Sol,这是本次的旗舰模型。它主打1.2M token起步的上下文窗口和自主多步任务执行,reasoning能力被下放到API层级,意味着开发者不用再自己写ReAct循环,模型本身可以调度工具、检查结果、修正方向。Sol发布时现场给的演示是让它独立修一个真实GitHub issue,从复现、定位、改代码到跑测试,一气呵成。
第二个是dots协议。这个名词在现场被反复提到,官方全称是Deep Operation Trace Segments,简单理解就是"任务状态锚点"。它可以把Agent运行中某个阶段的关键结论、中间产物、上下文位置变成一个可寻址、可恢复、可共享的点。dots不是聊天记录,也不是向量数据库,它更像给Agent任务做的书签和存档点。
第三个是ChatGPT Spaces。这个功能把ChatGPT从单用户工具变成了团队工作区。一个Space里可以放多个会话、知识库、Agent任务记录、用量看板,并且有完整的成员权限体系。对于需要团队协作的AI项目来说,这是比较关键的更新。
除了这三样,还有几个更新也值得留意:
- Codex CLI v3正式支持用ChatGPT账号登录,终端输入
codex会出现新的welcome to codex引导; - 统一Responses API,把语音、图片、文件检索、代码执行都收口到
responses.create一个入口; - 批量推理增强,支持任务队列优先级和结果回调;
- 企业版新增Model Gateway,可以在一个网关下管理多家模型供应商;
- 模型蒸馏工具升级,能用Sol自动生成小模型微调数据集。
我把这些发布按类别整理了一张表,方便对照:
| 类别 | 代表性发布 | 对开发者的意义 |
|---|---|---|
| 模型 | GPT-6.1 Sol | 长程任务执行能力直接通过API暴露 |
| 协议 | dots | Agent中间状态有了标准化的保存和恢复方式 |
| 协作 | ChatGPT Spaces | 多人、多Agent共享上下文的团队容器 |
| 工具链 | Codex CLI v3 | 终端Agent支持ChatGPT账号登录,门槛降低 |
| API | 统一Responses API | 多模态能力收口到单一入口 |
| 企业服务 | Model Gateway | 多模型统一管理和审计 |
1.2 从发布节奏看产品战略:模型、Agent、协议三层通吃
看过近几届DevDay的人应该能感觉到,今年OpenAI的战略信号特别明显:不再只卖"最强的模型",而是想定义"开发Agent工程的默认技术栈"。
GPT-6.1 Sol是底层执行引擎,dots是中间状态标准,ChatGPT Spaces是团队容器,Codex CLI是默认入口。这四件事是闭环的。如果你还在用"prompt + function call"的简单方式做Agent,接下来一两年会越来越吃力,因为基础设施已经开始往上叠了。
现场有个让我印象深刻的细节:OpenAI的工程师在演示dots时,把一段跑了40分钟的Agent任务通过一个dot暂停,然后在另一个Space里用另一个会话load这个dot继续跑。整个过程中断点恢复的体验,已经接近我们在IDE里打断点调试的感觉了。这个方向,我觉得比单纯刷跑分重要得多。
2. GPT-6.1 Sol:从"更聪明的聊天模型"到"可托管长程任务的执行引擎"
2.1 Sol在API里的定位与关键参数
Sol在Responses API里的模型名是gpt-6.1-sol。另外也有带日期后缀的快照版本,例如gpt-6.1-sol-2026-05-07,用于需要固定版本的合规场景。
我重点看了几个参数变化,和之前的模型有本质区别:
- 上下文窗口从1.2M token起,最高可以到2M token。处理中型代码仓库的全量源码已经有可能,但实际使用时不建议顶满,后面会讲原因。
- 原生支持function calling与code interpreter在同一轮推理内串行执行。以前需要我们自己写循环来反复调模型,现在Sol可以在一次response里多次调用工具、查看结果、调整计划。
reasoning参数从字符串改成了枚举:low / medium / high / turbo。turbo适合短任务,high适合需要深度推理的疑难问题,但成本和时间都会上升。- 新增了
execute_context参数,可以把Space ID和dots列表直接传进去,让模型带着现场状态开始工作。 - 输出token默认2048,最大64K。注意旧的
max_tokens参数在Sol上被废弃了,必须用max_output_tokens。
还有一个容易被忽略的点:Sol支持store参数控制是否保存对话轨迹。用于事后审计的对话建议开启,生产环境高频调用建议关闭,可以省不少存储成本。
2.2 用Python调Sol跑一个自动修复issue的任务
直接看代码。下面这个例子是让Sol分析一个测试失败,定位源码并生成修复补丁:
from openai import OpenAI client = OpenAI() resp = client.responses.create( model="gpt-6.1-sol", input=( "请分析当前仓库里 tests/test_auth.py 的失败原因," "定位到对应源码并直接生成修复补丁,最终输出diff。" ), reasoning={"effort": "high"}, tools=[ {"type": "function", "name": "list_files", "description": "列出目录下的文件"}, {"type": "function", "name": "read_file", "description": "读取文件内容"}, {"type": "function", "name": "run_shell", "description": "在沙箱中执行shell命令"}, {"type": "code_interpreter", "name": "execute_python"}, ], execute_context={ "space_id": "spc_test_auth", "dots": ["dot_analysis_2026_05_07"], }, max_output_tokens=12000, ) print(resp.output)几个参数的解释:
tools列表里的code_interpreter是内置工具,不再需要单独部署。execute_context里的space_id告诉Sol"当前工作区是哪个",dots是让Sol恢复之前保存的状态。resp.output是一个数组,里面会有function_call、reasoning、message等条目。Sol的完整执行步骤都在里面,可以逐条判读,也可以直接取出最终的diff文本。
第一次跑这个任务,我在一个约80万token的中型代码仓库上做测试,Sol一共调用了14次工具,最终输出的补丁能直接应用。整个过程大约6分钟。
2.3 实测下来的性能边界与成本
成本是大家最关心的。我按现场公布的参考价格做了个估算,假设输入token单价是每百万15美元、输出token每百万75美元、reasoning token每百万25美元:
- 输入token:约74万,费用约11.1美元;
- 输出token:约1.1万,费用约0.82美元;
- reasoning token:约8.9万,费用约2.22美元;
- 合计约14.14美元。
这个价格相比去年已经下降不少,但长任务仍然不便宜。我建议用Sol跑高价值任务,比如代码审计、架构重构、疑难bug定位;日常的小需求用普通模型就够了。
性能上有两个明显边界:
第一,上下文窗口虽然标称1.2M,但实测推理质量在超过窗口70%后开始波动,长距离文件关联会变弱。建议对大仓库做索引切分,或者用dots把关键结论分段保存,而不是把所有内容一次性塞进去。
第二,Sol在"目标模糊"的任务上容易绕圈。比如你只给一句"改进这个模块",它会反复尝试方案却不收敛。必须给它明确的完成定义,比如"修复后测试必须全部通过且性能损耗不超过5%"。
2.4 Sol的局限与绕坑技巧
我踩过的坑,整理几个对大家有用的:
- 代码任务不要用高温。
temperature设置到0.7以上,补丁质量明显不稳定,建议0.2以下。 tool_choice的格式变了。以前是"tool_choice": "auto",Sol上是{"type": "function", "name": "specific_tool"},旧代码直接迁移会报错。- 长任务中途网络断开,之前的所有推理和工具状态都会丢失。所以生产环境一定要配合dots使用,每隔几步做一次状态保存,否则钱花了事没做完。
- 快照模型名要确认是否已部署。
gpt-6.1-sol-2026-05-07这种带日期的版本,如果所在区域还没上线,调用会返回404。通用的gpt-6.1-sol别名反而更稳。
3. dots:一个被低估的"上下文锚点"协议
3.1 为什么需要dots?从Agent断点续传说起
过去我们用ChatGPT,觉得上下文窗口够大就行。但到了Agent场景,问题完全不一样:一个长任务可能跑40分钟,期间会读几十个文件、执行十几次命令、产生很多中间结论。如果中途断网或超时,整个任务就要重来。
有人会说,把对话历史存下来不就行了?但对话历史只是文本,模型要重新理解一遍才能恢复状态,成本高、精度低。更麻烦的是,多Agent协作时,Agent A得到的中间结果如何交给Agent B?总不能把几万字的历史记录全传过去。
dots想解决的就是这个问题。它把"Agent运行到某一步时的重要状态"打成一个可寻址的标签,这个标签可以在对话中引用、在API中读写、在Spaces之间传递。你可以把dots理解为游戏里的存档点,而不是录像回放。
3.2 dots的语法与生命周期
dots的核心抽象是:一个dot就是一个JSON结构加元数据,包含唯一ID、创建者、所属Space、TTL、引用关系,以及一个可选的payload。
在ChatGPT界面上,直接输入@dot save就可以把当前上下文的关键结果存成一个dot。在Codex CLI里,操作也很直接:
$ codex > 完成依赖分析后执行: @dot save "dep_graph" --ttl 24h对应的API调用是:
dot = client.dots.create( space_id="spc_payments_core", name="dep_graph", payload={ "node_count": 1200, "scc_count": 34, "risk_files": ["services/auth.py", "internal/ledger.py"] }, ttl_seconds=86400, ) print(dot.id)保存之后,其他会话可以用@dot load dep_graph或者API的client.dots.resolve(dot_id)把它取回来,拿到的不只是payload,还有当时的上下文快照路径,方便继续执行。
dots的生命周期有几个关键点:
- 创建后默认可被同一Space的成员访问;
- 每次更新会产生新版本,旧版本可回溯;
- TTL到期后自动清理,默认是24小时;
- dot的权限继承自Space,不额外再设权限,减少配置复杂度。
这里要强调一句:dot不会自动生成,必须显式保存。很多团队以为模型每跑一步都会自动存档,回来发现什么都没有。这是最常见的误解。
3.3 dots和MCP的定位差异
很多开发者会问:dots和MCP不是重复了吗?
其实两者解决的问题完全不同。MCP是让模型能连接外部工具和数据的协议,解决的是"手和眼"的问题;dots是让任务内部的中间状态可以被寻址和恢复,解决的是"记忆和存档"的问题。
我用一个类比:MCP是模型的手和眼,去操作外部系统;dots是任务里的存档点,让任务可以中断、恢复、交接。一个Agent可以一边通过MCP调用外部工具,一边把关键产出写成dots,另一个Agent再从一个dot继续往后做。两者是互补关系,不是竞争关系。
另外我观察到,dots的出现很可能带动一批新的Agent框架设计。以前我们在框架里写状态管理都要自己定义数据结构,现在dots提供了统一标准,跨Agent传递状态会简单很多。
3.4 dots实测中的坑
我实际跑了几天,碰到几个值得注意的问题:
- TTL默认24小时,做跨周任务时必须显式调长,否则第三天就"失忆"。很多团队第一周用得很爽,第二周发现之前的任务全没了,基本都是这个原因。
- dot的payload上限是1MB,超过之后要转成文件引用,不能硬塞。
- 不要把dots当数据库用。频繁读写dots会产生费用,现场有人一口气存了上千个dot,发现用量账单涨得很快。
- 如果你的Agent框架底层没有实现dots接口,看到的就是普通字符串,需要自己处理。
4. ChatGPT Spaces:面向团队协作的Agent工作区
4.1 Spaces解决什么问题:从"一人一窗"到"一个项目一组Agent"
过去半年,我团队里每个人都有自己的ChatGPT和Codex会话,遇到项目问题时各自解决,结果就是信息割裂:A问过的问题B再问一遍,Agent跑出来的结论散落在个人账号里,没有权限管理,也无法追溯。
ChatGPT Spaces解决的就是这个问题。一个Space可以理解为一个"AI项目容器",里面能组织成员、会话、文档、知识库、Agent任务运行记录、dots索引和用量看板。它的价值不在于多了一个聊天文件夹,而在于给团队的AI协作提供了权限边界和审计能力。
4.2 创建Spaces与权限模型实操
我现场跟着演示走了一遍,创建流程大致是:
- 打开ChatGPT主界面,左侧栏找到"Spaces"入口,点"新建Space"。
- 填写名称和描述,例如
payments-core,选择类型:项目、部门或个人。 - 配置成员和角色:Owner、Editor、Viewer、Auditor。
- 绑定数据源:可以直接连接GitHub仓库、Notion页面、Confluence空间,也可以上传文档。
- 设置Agent额度:限定本月可调用的Sol请求次数、reasoning effort上限、dots数量上限。
- 创建完成后会生成一个Space ID,格式类似
spc_...,API中通过这个ID关联任务和数据。
权限模型我用表格列一下:
| 角色 | 查看内容 | 编辑内容 | 运行Agent | 管理密钥 | 审计日志 |
|---|---|---|---|---|---|
| Owner | 是 | 是 | 是 | 是 | 实时 |
| Editor | 是 | 是 | 是 | 否 | 实时 |
| Viewer | 是 | 否 | 否 | 否 | 非实时 |
| Auditor | 只读审计信息 | 否 | 否 | 否 | 实时 |
这里特别提醒:Spaces权限和API Key是两套体系。你的个人API Key不会因为加入Space就暴露给同事。团队要用统一的模型额度,需要在组织后台创建"项目级Key",而不是把个人Key发给同事。官方在会场也强调了一点:任何让你共享同一个Key的行为都是危险的信号,正确做法是分配独立身份和角色。
4.3 Spaces + dots + Sol的组合拳:一个可落地的团队Agent工作流
三个功能组合起来,工作流可以这样设计。
假设团队要做一次大版本升级,涉及依赖兼容性分析和代码迁移:
- 在Spaces里创建
upgrade-2026空间,绑定代码仓库和issue看板; - 分析师用一个Sol会话跑兼容性扫描,把高风险文件列表存成dot
compat_scan; - 开发组的Agent通过
@dot load compat_scan拿到风险清单,自动生成迁移分支并提交PR,任务状态写回Space; - 夜间批量任务中途中断,第二天通过dot恢复执行位置,不需要从头开始;
- Reviewer在Space里查看Agent的完整执行轨迹,包括每一步调用的工具和读过的文件,确认后再合入。
这套流程里,Spaces提供权限边界和审计,dots负责状态传递,Sol负责长程任务执行。三者配合,Agent才真正从"单点工具"变成了"团队成员"。
5. 开发者生态的连带变化:Codex、API定价、企业服务
5.1 Codex CLI的更新:welcome to codex 标志着一个转向
Codex CLI v3是我个人最期待的新版本。安装后终端运行codex,会先看到welcome to codex引导,然后可以选择登录方式:ChatGPT账号或者API Key。
用ChatGPT账号登录的意思是,ChatGPT Plus、Pro、Team订阅用户可以直接在订阅额度内使用Codex,不用单独按token付费。这对个人开发者非常友好。我现场用Pro账号试了下,终端里跑codex run,速度稳定,配额和ChatGPT网页版是打通的。
新增的codex run非交互模式值得关注,适合接脚本和CI:
codex run "分析这个issue并按团队规范生成PR" --model gpt-6.1-sol它会输出结构化结果,包括生成的代码、引用文件和执行日志,CI可以解析这些输出完成自动化。另外codex dots子命令可以在会话中查看、保存、引用dots,把CLI和Spaces的联动打通了。
5.2 API Key管理与用量控制的新功能
API方面的变化也值得关注。现在组织后台支持创建"项目专用Key",一个Key只能访问特定的Space和模型,避免了一个Key走天下的风险。
用量告警支持按项目分账,超过阈值可以自动暂停任务。我建议每个项目单独建Key,并设置月度预算,这样即使某个Agent任务失控,也不会影响整个组织。
再次强调:不要把API Key写在代码仓库、聊天记录或公开文档里。官方发布的secret扫描工具能帮你发现已经泄露的Key,但更关键的是从一开始就不分享Key本身。正确做法是通过Spaces的成员权限来共享能力。
5.3 这批发布中最容易踩的坑
最后集中说几个我见到的高频问题。
第一个是Windows上安装Codex报错。很多人会遇到missing optional dependency @openai/codex-win32-x64,原因是npm安装optional依赖时缓存或网络问题导致跳过。解决方式很直接:
npm uninstall -g @openai/codex npm cache clean --force npm install -g @openai/codex@latest如果还不行,去官方下载独立二进制安装包,一般不推荐手动去补装@openai/codex-win32-x64,版本非常容易和主包对不上。
第二个是模型名写错。gpt-6.1-sol是通用别名,gpt-6.1-sol-2026-05-07是快照版本。快照版本不是所有区域都部署了,调用前先确认文档。只要不是对版本有强制要求的场景,都用别名。
第三个是Spaces审计日志的延迟。免费版和Plus版的审计日志有24小时延迟,企业版才是实时。如果团队对合规有要求,直接上企业版,在Plus里折腾权限策略会浪费很多时间。
第四个是dots的TTL。这个问题重复出现:默认24小时过期,跨周任务必须显式调长。建议在创建Space时就规划好默认TTL策略,避免后面大量任务丢失。
现场看到发布时,我第一反应是"又要换API了"。但实际回去把三个功能组合起来用之后,我更愿意把这届DevDay理解成一次AI开发工作流定义权的争夺。GPT-6.1 Sol解决长程任务执行,dots解决状态恢复与传递,Spaces解决团队协作边界,三者合起来,Agent才能真正成为团队的一员。
如果你准备上手,我建议按这个顺序:先玩Codex CLI配合ChatGPT账号登录,体验终端里跑Agent的顺畅度;然后开一个Spaces团队试用,把两三个常用项目迁进去;最后再逐步把生产API任务迁到Sol。不要一次性全切,每个环节单独验证稳定了再上量。
说到2025年我们还在讨论提示词工程,到2026年体会更深了:维护好Agent的状态、权限和上下文,已经比写提示词更影响交付质量。这也是我为什么把dots单独拿出来讲——短期看它只是个标记语法,长期看,它可能是Agent协作的事实标准。所以别只盯着GPT-6.1 Sol的跑分,更值得投入时间的是熟悉dots和Spaces,提前把工作流搭起来。