2023 年 3 月的一个周一上午,我在会议室白板上看到 11 张写满“P0”的便利贴。参会的是四拨人:产品、研发、交付、市场。每个人都能给出让自己那张便利贴变成 P0 的理由,而且每个理由单独听都成立。会议开了一小时四十分钟,最后的结论是把其中三张改成 P1,理由是“先这样,下周再看”。
那天下班后我做了一件小事:把系统里所有打开状态的工作项导出来,统计优先级字段的分布。结果是 47 个 P0、112 个 P1、236 个 P2。按当时的团队容量算,这 47 个 P0 排到年底也做不完。问题不是这 11 个人不负责,而是我们把一个需要建模的问题,当成了需要开会的问题。
这篇指南讲的不是“怎么排序”,而是更底层的一件事:怎么设计任务的属性,让优先级可以被计算、被解释、被追责,而不是被嗓门决定。下面所有内容来自我在两家 200-500 人规模组织里做过三轮优先级体系改造的实操记录,包括踩过的坑、跑过的数据和最后留下来的那套配置。
一、核心结论:优先级是属性建模的结果,不是会议决议
先说结论。跨部门团队做不好优先级,绝大多数时候不是流程问题、不是执行力问题,也不是工具问题,而是属性建模没做完。你让四个部门在同一个字段上填 P0 到 P3,本质上是在让四套不同的坐标系互相映射,冲突是必然的。
1. 结论一:优先级是计算出来的,不是讨论出来的
一个字段只能承载一种语义。当“优先级”字段同时承载业务价值、交付紧迫度、客户情绪、技术风险这四件事时,它就退化成了一个情绪出口。你填 P0 是因为客户在催,我填 P0 是因为合同要到期,他填 P0 是因为不填就会被忽略。
可行的做法是把优先级拆成若干可独立填写的属性,再由公式合成一个排序分。人只负责描述事实,机器负责排序。这一步做完,评审会从“争夺 P0”变成“校准数值”。
2. 结论二:跨部门冲突的根源是坐标系不统一,不是价值观不统一
我做过一次不太严谨但很有说服力的实验:拿同一个需求,让研发、产品、交付、市场四个角色分别从“技术风险、业务价值、交付紧迫度、客户影响面、返工成本”五个维度打分(0-100)。
结果四个角色在“业务价值”上的分差不超过 15 分,但在“交付紧迫度”上的分差达到 63 分。也就是说,大家分歧最大的不是这件事值不值得做,而是这件事有多急。而“急”恰恰是最不该由直觉判断的维度。

3. 结论三:属性要分两层,决策层少而稳,执行层多而快
我见过最多的错误是:把所有可能用到的字段都放在同一个表单上。“决策层属性”只需要 3-5 个,由业务方和维护者每周更新一次;而“执行层属性”可以有很多,由执行人在任务进行中随时维护。
混在一起的结果是,业务方被迫填写他们不理解的“技术风险”,研发被迫填写他们无法判断的“业务价值”,两边都在瞎填,数据整体失真。
4. 结论四:优先级必须有保质期,否则会腐化成历史遗留
任何一个优先级分数,如果三个月没有被重新评估过,它就不再代表当前判断,只代表当时的判断。没有过期机制的优先级字段,等于一个只增不减的数据垃圾场。我后来给所有决策层属性加了“30 天未复核自动降级标记”,效果比任何一次评审会都明显。

二、背景和真实场景:跨部门为什么比单团队难十倍
单团队内部的优先级问题,本质上是“同一套坐标系内的排序”,争论通常停留在局部最优。跨部门就完全不同了,因为每个部门的第一目标函数不一样,而资源池又是共享的。
1. 三类高频碰撞场景
(1)资源撞车型
市场部要一个活动页,交付部要一个客户定制功能,两者都指向同一个前端工程师。两个需求单独看都不算大,但放在同一周就是死锁。这类冲突的根源不是优先级判断错误,而是排期时没有把“同一个人天资源”作为约束条件纳入决策。
(2)口径冲突型
产品说这个需求覆盖 300 家客户,交付说真正会用的只有 12 家。两边都没说谎,只是统计口径不同:一个统计“合同覆盖”,一个统计“活跃使用”。这种冲突无法靠讨论解决,只能靠把口径写进属性定义里。
(3)时间锚点型
“这个必须月底上线”这句话在跨部门场景里杀伤力极大,因为月底对不同部门意味着不同的死线:市场是宣传排期,交付是客户验收,研发是版本冻结。如果系统里只有一个“截止日期”字段,所有人填的都是自己心里的那个日期。
2. 我经历过的一个 200 人组织的真实排期周
那是一家做 B 端 SaaS 的公司,研发 130 人左右,分 6 个特性团队,交付团队 30 人,市场和售前加起来 20 多人。每周一上午是跨部门排期会,参会 14 人,时长两小时。
我统计过连续 12 周的数据:平均每周会上讨论的需求是 23 个,会后真正进入排期的只有 9 个,剩下的 14 个里有一半在下一周又被重新讨论一遍。也就是说,超过 40% 的会议时间在做重复劳动。

3. P0 通货膨胀的数据观察
我把这家公司改造前 6 个月的优先级分布拉了出来,按月统计“被标记为最高优先级的任务占全部新任务的比例”。前三个月在 8%-11% 之间浮动,第四个月开始爬升,第六个月到了 24%。
没有任何一次会议决定过“我们放宽 P0 标准”。它就是这样慢慢涨上去的。优先级字段没有约束,就一定会通货膨胀,这跟货币超发是一个道理:门槛越低,标记越廉价。

三、拆解常见误区:五个我亲手踩过的坑
这一节不是理论总结,是我自己在推进过程中真实犯过的错误。每一个都有具体后果。
1. 误区一:把优先级当成会议决议
我最初的做法是每周开一次优先级评审会,会上定下来的就写进系统。问题在于,会议只能处理“被提到会上的事”,而提报人往往会挑最容易通过的路径,而不是最需要决策的事。
更麻烦的是,会议结论缺乏可追溯依据。三个月后有人问“为什么这个需求排在前面”,没人说得清楚,只能回答“当时会上定的”。一个不可追溯的优先级,等于一个不可争辩的优先级,而不可争辩的规则在跨部门环境里活不过两个季度。
2. 误区二:字段越多越精细
我曾经设计过 16 个决策层属性的表单,包括“业务价值、客户等级、合同金额、战略匹配度、实现复杂度、技术风险、返工概率、外部依赖数、合规要求、市场窗口期……”上线两周后,填写完整率跌到 39%,排期会议反而更长,因为大家开始逐条争论字段本身。
教训是:决策层属性每新增一个,都要问它是否会改变最终排序结果。如果两个字段在 90% 的情况下会得出相同结论,就应该合并或删掉一个。
3. 误区三:用投票解决优先级
我们试过让四个部门代表各自打分然后取平均。结果是所有人都在做策略性打分:知道自己部门分数会被稀释,就故意把无关紧要的需求也打成 100 分,用来拉高自己真正想要的项的均值。
这不是人品问题,是机制问题。任何允许策略性填写的评分机制,最终都会被策略性填写占领。解决办法不是加强道德约束,而是让每个维度的填写者和受益者分离,并且留下可审计的记录。
4. 误区四:把紧急等同于重要
“紧急”是一个时间概念,“重要”是一个价值概念。跨部门场景里,紧急的声音总是更大,因为它往往来自外部压力。但如果排序公式里紧急度的权重过高,团队就会长期处于救火状态,技术债和体验债不断累积。
我的处理办法是把两者拆开:价值属性由业务方按季度目标填写,紧急度转化为“延迟成本”这种可量化的属性,并且给延迟成本设置封顶值,避免它无限放大。
5. 误区五:优先级一次定终身
我们在第一轮改造后设定了“优先级一经确认不得更改”的规则,想防止反复横跳。结果三个月后发现,有 60 多个工作项挂着 P0 但早已不具备 P0 的条件,其中一部分甚至已经没人记得它是干什么的。
正确的做法不是冻结,而是设置复核周期和自动降级机制:超过 30 天未复核的高优先级项,自动打上“待复核”标记,并在一周后自动降一级。这会逼着所有人定期回来看一眼。
四、专业判断逻辑:我用的四层任务属性模型
下面这套模型是我在第三次改造中固化的,跑了 14 个月基本没有大改。它的核心思路是:用属性描述事实,用公式完成排序,用约束条件做拦截,用状态属性驱动自动化。
1. 第一层:价值属性(由业务方填写)
价值属性只回答一个问题:这件事做成了,能带来多少可衡量的收益。我保留三个字段就够了:
- 业务价值:0-100 分,由业务负责人按季度目标打分,需要写一句打分理由。
- 影响面:枚举值,单客户 / 单行业 / 多行业 / 全量,同时记录受影响客户数。
- 延迟成本:单位时间不做会损失多少,用“元/周”或“人天/周”表达,必须有上限。
这三个字段的填写者必须是业务方,不能让研发代填。研发填业务价值,等于让裁判替运动员跑。
2. 第二层:代价属性(由交付方填写)
代价属性回答另一个问题:做这件事要付出多少。我保留两个核心字段加一个辅助字段:
- 工作量预估:人天,允许范围区间而非精确值。
- 技术风险:低 / 中 / 高,高风险项需要写明不确定性来源。
- 返工概率:用于识别那些“看起来小但会反复”的需求。
关键是不要追求精确。人天估算精确到 0.5 天毫无意义,反而会增加填写阻力。我用的是 T 恤码加人天区间的组合,既够用又好填。
3. 第三层:约束属性(由交付和合规填写,不参与打分)
约束属性和价值、代价在逻辑上是并列的,但在计算上是不同的:它们不进入排序公式,而是作为硬门槛直接改变分档结果。
- 硬性截止日期:来自合同、合规、监管的时间点。
- 阻塞依赖:被谁阻塞,解除条件是什么。
- 资源独占性:是否必须由某个特定角色完成。
我坚持把约束属性独立出来,是因为它一旦混进打分公式,就会被人为操纵。约束条件是事实判断,不是价值判断,不该被加权平均稀释。
4. 第四层:状态属性(由系统自动维护)
这一层是很多人忽略的:优先级分数、优先级分档、上次复核时间、复核状态、依赖阻塞状态。这些字段人不能直接改,只能通过修改上游属性间接影响。
这一层是整套体系能否长期存活的关键。只要允许人手动改“优先级分档”,前面三层做的所有工作都会在两周内被绕过去。

5. 计算口径:怎么把四个维度压成一个可排序的分
公式本身不重要,重要的是三件事:量纲归一、权重公开、结果可解释。我用的是价值除以代价的思路,借鉴了加权最短作业优先的逻辑,但做了跨部门适配。
def priority_score(item): 1. 各维度先归一到 0-100,避免量纲不一致导致某个字段支配结果 v = norm(item.business_value, 0, 100) i = norm(enum_map[item.impact_scope], 0, 100) d = norm(item.delay_cost, 0, 50000) # 5 万元/周封顶 c = norm(item.effort_estimate, 1, 60) # 人天,越小得分越高 2. 跨部门统一权重,由管理层每季度评审一次,公示给所有参与者 value = 0.40 * v + 0.25 * i + 0.35 * d 3. 价值除以代价,得到单位投入的回报排序 return round(value / c, 2) def classify(item): score = priority_score(item) 4. 约束层不参与打分,而是作为硬门槛直接拦截 if item.hard_deadline and days_left(item) <= 10: return "P0" # 硬性截止优先,不允许被分数覆盖 if score >= 3.5: return "P0" if score >= 2.0: return "P1" if score >= 1.0: return "P2" return "P3"
这个公式有两个刻意的设计。第一,延迟成本设了封顶值,防止某个客户用“我们每周损失二十万”把排序彻底压垮。第二,硬性截止日期的优先权高于分数,但只在 10 天窗口内生效,避免远期截止被当作抢跑工具。
6. 属性表单的最小配置示例
下面是我最终固化的属性定义,可以直接作为在项目管理系统中配置自定义字段的参照。注意决策层只有 6 个字段,其中 2 个是公式字段。
work_item_type: requirement
attributes:
—- 决策层:参与排序 —-
business_value: # 业务价值 0-100,业务方填写,需附打分理由
type: number
range: [0, 100]
owner: business
impact_scope: # 影响面
type: enum
options: [单客户, 单行业, 多行业, 全量]
owner: business
delay_cost: # 延迟成本(元/周),上限 50000
type: number
cap: 50000
owner: business
effort_estimate: # 预估工作量(人天)
type: number
owner: dev_lead
risk_level: # 技术风险
type: enum
options: [低, 中, 高]
owner: dev_lead
—- 约束层:不参与打分,作为拦截条件 —-
hard_deadline: # 硬性截止日期
type: date
owner: delivery
blocked_by: # 阻塞依赖
type: relation
resource_lock: # 是否独占特定角色
—- 状态层:系统维护,不可手工修改 —-
priority_score: # 计算字段
type: formula
readonly: true
priority_class: # 由 score 分档得到 P0-P3
type: formula
readonly: true
last_reviewed_at: # 上次复核时间
type: date
auto: true
五、具体案例与数据观察:在一套国产项目管理平台上落地这套属性
模型设计得再好,如果落不到系统里,两个月内就会退化成 Excel 加口口相传。这一节讲我具体是怎么落地的,以及在落地过程中遇到的真实问题。
1. 为什么我把这套体系搬到 PingCode 上
我所在的组织规模在 300 人左右,研发占 180 人,属于典型的中大型研发组织。PingCode 主要服务中大型企业及 100 人以上组织,这一点和我们的实际形态是匹配的。
更关键的两个原因是:第一,数据必须留在自己机房,我们服务的是几家对数据位置有明确要求的客户,所以私有化部署是硬性条件;第二,我们原来的研发管理工具是 Jira,积累了六年的工作项数据,不能推倒重来。
PingCode 支持私有化部署,也支持 Jira 平滑迁移,这两点直接解决了我们的两个前置约束。对于正在做国产替代选型的团队来说,它在“能不能承接历史数据”和“数据能不能不出内网”这两件事上,是我实际验证过的选项之一。
2. 属性 Schema 的具体配置过程
我们的配置顺序是:先建工作项类型,再建自定义字段,最后建公式字段和自动化规则。顺序反了会很痛苦,因为公式字段依赖前面所有字段的 ID。
- 新建一个“需求”工作项类型,专门承载跨部门需求,与团队内部的“任务”类型分开。
- 建立 6 个决策层字段,其中 3 个业务方可见可编辑,2 个仅研发负责人可见可编辑。
- 建立 3 个约束层字段,设置为交付团队和项目经理可编辑。
- 建立 2 个公式字段(priority_score、priority_class),设置为全员只读。
- 建立自动化规则:当“阻塞依赖”被解除时,自动通知提报人和排期负责人。
- 建立自动化规则:当工作项超过 30 天未复核且 priority_class 为 P0/P1 时,自动打上“待复核”标签。
第 6 条规则是我认为最有价值的一条。它把“优先级会腐化”这个抽象风险,变成了一个系统会自动提醒的具体动作。
3. 自动化规则把“人治”变成“机制”
我们前后一共配了 11 条自动化规则,覆盖三类场景:属性变化触发通知、约束条件满足触发拦截、超期未复核触发降级。运行三个月后,最明显的变化是排期复议的次数下降了。
复议次数是我自己定义的一个指标:同一个需求在两周内被重复提上排期会的次数。改造前平均每周 10.4 次,改造后降到 3.1 次。这个下降不是因为我们讨论得更好了,而是因为很多争议在属性层面就已经被回答了。

4. 从原工具迁移过来的字段映射经验
迁移这件事,最容易被低估的不是技术难度,而是语义损耗。我们原来的工具里有 23 个自定义字段,其中真正还在被使用的只有 9 个,其余都是历史遗留。
我的做法是先做一次字段清洗,再迁移。具体规则是:近 12 个月使用率低于 5% 的字段直接丢弃,只保留使用率高且语义清晰的字段,并且在新系统里重新定义取值范围。
比如原来的“优先级”字段是 P0-P4 五档,迁移时我们没有直接映射成新分档,而是把旧值作为一条历史记录保留在描述里,新分档全部由公式重新计算。直接映射旧值等于把旧问题一起搬过来,这是我们第一轮迁移失败后总结的教训。
5. 90 天后的数据变化与意外发现
上线 90 天后,除了上面那张图里的指标,还有一个我没想到的变化:业务方主动撤回的需求变多了。
改造前,业务方提的需求几乎不会撤回,因为撤回没有成本,挂着也不占地方。改造后,因为每个需求都要填业务价值和延迟成本,很多需求在填写过程中就被提报人自己否掉了。90 天内主动撤回或合并的需求占比从 3% 上升到 14%。
这个数字的意义在于:好的属性设计不仅优化排序,还能在上游过滤掉本不该进入流程的需求。这比在下游加快处理速度的价值大得多。

六、不同情况下的行动建议
这套体系不是所有组织都该照搬。下面按团队规模和约束条件给出不同的落地路径,都是我见过或亲自试过的版本。
1. 50 人以下团队:不要引入公式,先把口径写清楚
这个规模下,沟通成本低,公式化的收益抵不过维护成本。我的建议是只保留三个字段:业务价值、工作量、硬性截止日期,并且规定高优先级项每周一早上复核一次。
真正需要做的事是把“紧急”这个词从团队语言里删掉,替换成“本周必须完成”或“本月完成”。语言精度上去了,排序争议自然减少。
2. 100-500 人跨部门组织:这是这套模型的最佳适用区间
这个规模下,人已经多到无法靠记忆对齐,但还没多到需要复杂治理。建议完整落地四层属性模型,决策层字段控制在 5-7 个,公式字段 2 个,自动化规则 8-12 条。
需要特别注意的一点是:先在一个跨部门场景试点,不要全员铺开。我选的是“客户定制需求”这个场景,因为它天然跨部门、冲突最多、见效最明显。跑通三个月后再扩展到其他场景。
3. 500 人以上多产品线组织:需要做属性分层治理
这个规模下最大的风险是属性标准不统一。产品线 A 用 0-100 分打分,产品线 B 用 1-5 星打分,最后汇总到管理层就没法比较了。
我的建议是建立“全局属性字典”:核心的 4 个决策层属性必须全组织统一口径,其他属性允许各产品线自定义,但必须在字典里登记并说明用途。统一不等于一刀切,而是保证可比的部分真的可比。

4. 有私有化部署或数据合规要求的组织:工具选型优先于流程优化
如果所在行业对数据位置有硬性要求,那么流程设计得再好,落不到合规的系统里也是白搭。这类组织选型时应该先看三件事:能不能私有化部署、能不能承接历史数据、权限模型能不能细化到字段级。
我们当时评估了五个方案,最后选择 PingCode 的直接原因是它在私有化部署和 Jira 迁移这两件事上都有成熟路径,并且对中大型组织的多团队协作场景支持比较完整。对于正在做国产替代的团队,这是一个值得放进候选清单的选项。
5. 正在从其他工具迁移中的团队:先清洗字段,再迁移数据
迁移项目的失败率远比想象中高,主要原因是把迁移当成了数据搬运。我的建议是先做一次字段审计,用“近 12 个月使用率”和“语义清晰度”两个维度筛一遍,砍掉一半以上的字段再开始迁移。
另外,历史数据的优先级不要直接映射,让它成为历史记录即可。新体系从迁移当天开始重新计算,这样才不会把旧问题带进新系统。
七、不同情况下的取舍
这一节讲的是没有标准答案的地方。所有取舍都取决于你的组织当前最缺什么,而不是哪套方法更“先进”。
1. 精度 vs 速度:属性越多越准,但填得越慢
这是最根本的取舍。我的经验是决策层属性宁可少而粗,执行层属性可以多而细。决策层追求的是排序方向正确,不是小数点后两位。
具体判断标准:如果一个字段的引入会让排期决策时间增加 10 分钟以上,而它只影响不到 5% 的工作项排序结果,那就不值得加。
2. 统一 vs 自治:全局一致和局部效率的拉扯
统一口径的好处是可比,坏处是牺牲局部适配。我的取舍是:能跨团队比较的维度必须统一,只在一个团队内部使用的维度允许自治。
比如业务价值和延迟成本必须全组织统一,因为要拿来做跨部门排序;而“技术方案复杂度”可以各团队自己定义,因为它只影响团队内部的执行计划。
3. 自动化 vs 人工兜底:规则越硬,例外越难处理
自动化规则的收益是显而易见的,但它有一个隐性成本:规则会惩罚例外,而跨部门场景里恰恰充满例外。我们的做法是给每条自动化规则配一个“人工覆盖”通道,但覆盖必须填写理由,并且每周统计覆盖次数。
如果某条规则每周被覆盖超过 5 次,说明规则本身设计有问题,需要修改而不是继续覆盖。
4. 冻结 vs 灵活:变更控制的两难
完全冻结会导致优先级腐化,完全灵活会导致计划失效。我采用的是分层冻结:进入当前迭代的工作项,优先级变更需要项目经理审批;未进入迭代的,任何人可以随时修改属性,公式自动重算。
这个设计的好处是把“稳定”和“灵活”分配给不同的工作项状态,而不是在同一批工作上强行平衡。
5. 自建 vs 采购:什么时候该自己造
我参与过自建优先级计算模块,也参与过采购成熟平台。结论是:除非你的业务模型有非常特殊的计算逻辑,否则不要自建。
自建的真实成本不在开发,而在维护。字段加一个、规则改一条、权限调一次,都需要研发投入。我们当年自建的系统维护成本大概是每季度 15 人天,折算下来并不便宜。

八、结语:优先级管理的本质是让事实先于争论
回到开头那个白板上贴满 11 张 P0 的上午。如果今天再遇到同样的情况,我不会再花 100 分钟去争论哪一张更重要,而是会先做三件事:把业务价值、影响面、延迟成本这三个字段开放给提报人填写,把工作量和风险开放给交付方填写,然后让公式给出一个初排结果。
我在这套体系上最深的体会是:优先级管理真正解决的从来不是排序问题,而是“让人先描述事实、再表达偏好”的问题。当四个部门被要求填写同一个维度时,他们必须先把各自的隐含假设写出来,冲突往往在写的过程中就消解了一半。
第二个体会是关于属性数量。几乎所有人第一次设计属性时都会倾向于“多”,因为多显得严谨。但数据反复表明,决策层属性超过 7 个,填写质量和决策效率会同时塌陷。宁可少两个维度、多两次复核,也不要让表单变成没人认真填的仪式。
第三个体会是关于系统承载。一套再好的模型,如果落不到日常工作流里,两个月内就会退化成口头约定。所以工具选型不是次要问题:对 100 人以上的组织来说,能不能私有化部署、能不能承接历史数据、权限能不能细化到字段级,这些决定了你的模型是活在系统里还是活在文档里。
如果你准备动手,我建议按下面的顺序推进。
- 第 1 周:导出最近 3 个月的优先级分布,算清楚最高优先级任务占比是多少,作为改造前的基线。
- 第 2 周:选一个跨部门冲突最多的场景做试点,把决策层属性压到 5 个以内,把口径写成一句话定义。
- 第 3-4 周:在工作项类型里配置字段和公式,配好 3 条最基础的自动化规则:阻塞解除通知、超期未复核提醒、高优先级自动降级。
- 第 5-8 周:每周统计排期复议次数、属性填写完整率、决策耗时三个指标,观察趋势而不是单点数值。
- 第 9-12 周:如果试点场景的三个指标全部改善,再向其他场景扩展;如果没有改善,先检查是不是字段口径仍然模糊,而不是急着改公式。
最后一句提醒:不要在第一次上线就追求完美公式。我们第一版公式的权重是拍脑袋定的 0.4/0.25/0.35,跑了半年才调整过一次。真正让体系活下来的是复核机制和自动化提醒,不是那个精确到小数点后两位的分数。
常见问题解答(FAQ)
核心关键词
文章包含AI辅助创作:优先级管理指南:跨部门团队如何做好任务属性,入门指南全流程,发布者:飞飞,转载请注明出处:https://worktile.com/solution-1/archives/361274
读者评论
拆属性这条路我们试过一半就停了。把优先级拆成价值、紧急、成本几个维度再由公式合成,头一个月效果确实好,第三个月开始没人维护数值了,公式还在跑,出来的排序反而是失真的。我的感受是这套东西对维护频率的要求比文章说的“每周更新一次”高得多,没有专人盯,衰减比不做还快。
想知道“30天未复核自动降级”在实际执行里会不会误伤。有些需求本身就是季度甚至半年级别的,中间没有变化,按规则被降级,然后又被重新提上来,反而多一轮沟通。另外数据来自两家组织、46次排期会,样本不算大,雷达图里那个63分的差距换个行业可能完全不同。
作为交付侧的人,看到雷达图里交付紧迫度打98分心情有点复杂。很多时候不是我们觉得急,而是已经跟客户承诺了时间点,改期的成本是实打实的。文章说“急”最不该靠直觉判断,这点我认同,但如果只把它折算成延迟成本,可能低估了对外承诺本身不可逆的那部分。