最近 ChatGPT 把 Chat、Work 和 Codex 放进了同一个桌面 App。这件事可以看作一个信号:AI 产品的重心,正在从“回答一条消息”转向“完成一件工作”。
大一统的方向本身是对的,而且很可能是必然趋势。AI 强大的地方,正是同一种智能可以理解不同意图、调用不同工具、完成不同类型的工作。用户不应该先判断自己要打开 Chat、Work 还是 Codex,只需要告诉 AI 自己想做什么。
但这次改版并不算特别成功。它在入口上区分了 Chat 和 Task,在信息架构上却没有真正把两者拆开。Task 仍然以 thread 的形式存在,仍然回到按时间排列的 Chat list 里。
结果是,它有了 Task 的执行能力,却还没有拿到 Task 作为一种独立系统形态的全部好处。
这也可以理解。大量用户已经习惯用 Chat list 管理 ChatGPT:一个主题开一个 session,需要时再回去翻历史。要把这样一个体量巨大的产品迁移到 Task-native 的形态,必然会打破很多人的使用习惯,也自然会遇到反对。现在的设计,更像是在旧心智和新方向之间搭了一座桥。
这篇文章并不想具体讨论 ChatGPT 的某次改版。它只是一个很好的引子,指向所有 AI 产品接下来都会遇到的问题:
对话和任务,到底是什么关系?
Part 1 — 对话(Chat)和任务(Task),不只是两个入口
对话(Chat)和任务(Task)的目的其实完全一样:理解人的意志,并把它变成结果。
它们拥有相同的基本材料:目标、上下文、反馈、工具和产物。真正不同的,是系统和人之间的执行契约。
对话(Chat),是同步的任务
在对话里,人默认一直在场。
人提出一个问题,AI 给出反馈;人读完反馈,再决定下一句话。目标可以是模糊的,方向可以随时改变,很多判断也不需要事先结构化。双方通过快速来回,把一件事情逐渐想清楚。
所以对话最适合探索、澄清、头脑风暴和即时决策。它优化的是反馈速度,而不是独立执行。
从系统角度看,对话是一条 event stream。它记录的是先说了什么、后说了什么;大量状态隐含在上下文里,需要通过阅读历史重新理解。
任务(Task),是异步的对话
在任务里,人默认不需要一直在场。
人给出目标、边界和验收标准,AI 负责继续推进。它可以排队、调用工具、产生中间状态、失败重试、等待依赖,也可以在真正需要判断时再回来找人。
所以任务最适合委托、执行和交付。它优化的不是下一条回复,而是最终结果能不能在没有人持续盯着的情况下完成。
从系统角度看,任务是一个 state machine。它需要明确现在处于什么状态、由谁执行、被什么阻塞、产生了什么产物、是否通过验收,以及下一步由什么事件触发。
在对话里,下一步通常由人推动;在任务里,下一步默认由系统推动。
Chat 是历史,Task 是状态
这也是为什么 Task 不能只是一个更长的 Chat。
- Chat 回答的是:我们刚才说了什么?
- Task 回答的是:系统现在正在做什么?
Chat list 通常按最近更新时间排列;Task system 需要按优先级、状态、依赖、负责人和 deadline 组织。
一条 Chat 可能产生多个 Task。一个 Task 也可能经历多次 Chat、多个 agent 和多次 review。两者天然是多对多关系,不应该被强行压成一个 thread 对应一个 Task。
如果只是给 Chat 加上后台执行能力,真正的工作状态仍然藏在聊天记录里。人还是要逐个打开 thread,判断哪个在运行、哪个卡住、哪个需要自己介入。系统更像是“很多可以跑很久的聊天窗口”,而不是一个能自己运转的任务系统。
它因此拿不到 Task 最重要的收益:全局队列、并行调度、明确状态、依赖管理、自动重试、跨 agent 接力和统一 review。
所以现在的产品形态更像一个过渡阶段。它已经意识到对话和任务不同,却还没有在底层模型和界面上真正接受这种不同。后面一定还会继续变化。
Part 2 — 让 Task 真正成立的三种系统设计
1. 把同步变异步
只要一件事要求人停在窗口里等待,它的吞吐量就会被人的注意力限制。
Task 首先做的,是把人的输入和 AI 的执行解耦。人表达一次意志以后,可以离开,也可以继续发起下一件事;任务进入队列,由系统调度、并行处理,并在真正需要判断时通知人。
这不只是让长任务可以在后台跑。更重要的是,它把“一个人同时能盯几个窗口”的限制,变成“系统同时能调度多少任务”的问题。
2. 把有状态的数据和无状态的服务分开
Agent、模型和 session 都应该是可以替换的 worker。真正需要长期存在的是 objective、Task state、依赖、log、artifact、review 和 decision。
如果状态只存在 Chat 里,一个 session 中断以后,下一个 agent 就必须重新阅读聊天记录,再猜现在做到哪里。如果状态存在 Task system 里,任何 agent 都可以读取当前状态并继续执行。
对话可以结束,worker 可以重启,模型也可以替换。只要 Task state 还在,工作就不会丢。
3. 减少协调和全局一致性
系统吞吐量最大的敌人,往往不是执行速度,而是对齐:谁来做、做到哪了、谁在等谁、这个结果算不算完成。
好的任务系统不要求所有 agent 持续共享同一段对话,也不要求每个参与者实时理解全局。每个 worker 只需要读取自己那部分局部状态,完成工作,再把结果写回去。
依赖通过结构化状态表达,交接通过 artifact 和 acceptance criteria 完成,异常只升级给真正需要介入的人。
局部可执行的状态,取代全局同步的沟通。系统不必等所有人都“对齐”,也可以继续向前。
Part 3 — Chat 和 Task 会成为同一个系统的两种形态
未来不是 Task board 取代 Chat,也不是所有工作都变成异步。更理想的形态,是:一条 Chat,很多 Task。
理想形态:一条 Chat,很多 Task
对用户来说,AI 更像一个始终存在的联系人。只有一条持续的对话,不需要每换一个话题就新开 session,也不需要先选择某种工作模式。无论在什么时间、什么设备上,人都可以直接继续聊。
但在这条 Chat 下面,可以同时存在很多完全独立的 Task。它们拥有各自的目标、状态、上下文、权限、依赖和产物,可以排队、并行、暂停、重试,也可以由不同 agent 接力执行。
人可以在同一条 Chat 里推进网站、暂停财务报告、再发起客户研究。用户面对的是一个 AI,系统运行的是很多条独立工作流。
“一条 Chat”是体验层的统一,不是把全部历史塞进一个 context window。Chat 管理人的注意力,是 intent surface;Task 管理 AI 的执行,是 execution surface。
对话和任务会自然转换
人的意志一开始可能很模糊,系统先通过 Chat 理解问题、补充上下文、澄清标准;当“要做什么”已经清楚,Chat 就生成一个或多个 Task。
Task 异步运行,遇到真正的分岔、风险或价值判断,再回到同一条 Chat 询问人。答案写回任务,结果和状态也留在 Task system 里。用户不必主动选择模式,系统自己判断何时需要同步澄清,何时可以异步执行。
任务板不是一种布局,而是一种系统语义
Task board 不一定是 Kanban,也可以是列表、时间线或 review queue。重要的不是卡片长什么样,而是 Task 成为拥有目标、状态、依赖、产物和验收条件的一等对象;Chat 不再是保存所有工作的唯一容器。
- 对话列表显示 AI 和人说了什么。
- 任务系统显示人的意志正在如何被实现。
大一统是趋势,但不会一步到位
所以 ChatGPT 想把聊天、通用工作和编程放进同一个 App,方向没有问题。真正的问题是,大一统不能只是把几个入口放在一起,也不能继续让 Chat 承担所有状态。
但从熟悉的 Chat list 迁移到独立的 Task model,不可能一步完成。当前版本更像过渡产品:它明确走向了统一,却还没有真正实现“一条 Chat、很多 Task”。
最后仍然是人的意志
人需要用最低的认知负担表达意志,AI 需要减少等待、状态丢失和全局协调。两者最后会收敛成同一个工作系统:人通过 Chat 把意志说清楚,AI 通过 Task 让意志持续运行。
对话(Chat)是同步的任务,任务(Task)是异步的对话。它们不是彼此替代,而是同一份意志在不同时间尺度上的两种形态。
Chat、session 和 agent 都会结束,但 Task 会继续向前。