快而不破:团队在速度与稳定间的平衡
“快速前进”真正的含义、它与鲁莽的区别,以及团队如何在快速交付的同时保护质量与稳定性的实用护栏。

本文能帮你做什么
“快速前进”是有价值的建议——直到它成为推脱混乱的借口为止。本文旨在在获得速度带来的好处(更多学习、更快交付、更好产品)的同时,避免后来付出停机、返工和团队倦怠的代价。
你将在这里学到什么
你会学到一种实用的方法,在保持风险可控和质量可见的前提下快速交付。包括:
- 如何在不依赖英雄式救火的情况下提升交付速度
- 如何将安全性内置到工作流中,让发布成为常态而非恐惧
- 如何打造可复现的执行力:同一支团队每周都能稳定表现,而不是只在大冲刺时发力
为什么“快速前进”会被误读
很多团队把“快速前进”理解为“跳过步骤”。更少的评审、松散的测试、没有记录的决策和匆忙上线在当下看起来像速度——但它们通常制造隐形债务,最终拖慢一切。
在本文中,“快速”指的是短反馈回路、小变更和快速学习。它不是以生产环境作为赌注、忽视客户或把质量当作可选项。
目标读者
本文面向跨职能团队及其支持者:
- 产品与设计:优先考虑学习、减少周期时间、避免反复折腾
- 工程:有信心地频繁交付
- 运维/SRE/支持:维护可靠性与客户信任
- 领导:设定不意外奖励鲁莽的期望、激励与决策机制
期望产出
你会得到实用示例、轻量检查表和可以在不重组的前提下采纳的团队习惯。目标是可立即应用的清晰性:什么需要标准化、哪里应加护栏,以及如何在保持高自治的同时确保稳定性不可妥协。
硅谷通常对“Move Fast”的理解
“快速前进”常被听成“多发版”。但在许多硅谷团队中,原意更接近于缩短学习回路。目标不是省略思考——而是缩短从想法到获得明确证据之间的时间。
核心思想:更紧的反馈循环
在最理想的状态下,“快速前进”意味着重复运行一个简单的循环:
Build → measure → learn → adjust
你只构建能验证真实假设的最小版本,测量发生了什么(而非你希望发生的),学习哪些改变了用户行为或系统结果,然后根据证据调整计划。
当团队把这做得好时,速度不仅关乎产出;它关乎学习速率。即使发布更少的东西,只要每次发布都回答了能显著减少不确定性的问题,你也可以被称为“快速前进”。
隐藏的前提:强健的系统
这个词有误导性,因为它掩盖了使快速迭代成为可能的条件:可靠的工程实践和明确的决策机制。
没有自动化测试、安全的部署习惯、监控和快速判定重要性的方式,“快速前进”就会退化为混乱——大量活动、很少学习、风险不断累积。
环境会改变“快”的含义
种子期创业公司可以接受更多的产品不确定性,因为主要风险是做错产品。
规模化公司必须在学习速度与正常运行时间、客户信任之间权衡。
企业常常需要更严格的控制与合规,所以“快”可能意味着更快的审批、更清晰的所有权和更小的发布单元——而不是更多的深夜英雄式救火。
速度与鲁莽:明显的区别
快速前进是缩短想法到验证结果之间的时间。鲁莽是上线前不了解风险或不了解出错时的影响范围。
鲁莽通常是什么样子
鲁莽往往不是戏剧化的壮举,而是日常的捷径,剥夺了你观察、控制或撤销变更的能力:
- 上线没有测试(或者测试不可靠、被忽视)
- 没有回滚计划,或回滚在实践中“从不生效”
- 几乎没有监控/告警,故障由客户发现
- 所有权模糊(“工程里有人会处理”)且值班责任不清
- 大而纠结的发布,将多个改动打包,无法隔离
鲁莽速度的真实代价
盲目发布不仅仅是引发一次故障——它会产生连锁损害。
故障触发紧急抢修,暂停路线图工作并增加返工。团队开始在估算中留出缓冲以自保。倦怠上升,因为人们被训练成预期会有紧急事件。最重要的是,客户失去信任:他们对新功能持谨慎态度,支持工单堆积。
一个简单规则:快速可逆 vs 快速不可逆
区分速度与鲁莽的实用方法是问:如果这是错误的,我们能多快恢复?
- 快速可逆(良性速度): 小变更、功能开关、安全部署、明确监控、一键回滚。
- 快速不可逆(鲁莽): 没有回退方案的 schema 变更、大爆发式上线、没有检查点的迁移或无法观测的改动。
带稳定性的速度意味着优化学习速率,同时把错误代价保持低且可控。
真正目标:在有界风险下快速学习
快速前进并不主要关乎交付更多功能。真正的目标是比竞争对手更快学习:用户真正的行为、愿意付费的点、破坏体验的因素以及推动关键指标的动作。
权衡很简单:你要最大化学习,同时最小化损害。学习需要变更;损害来自过大、过频或认知不足的变更。
有界风险与受控实验
高绩效团队把大多数产品工作当作受控实验并限制风险:
- 变更足够小以便推理清楚
- 散布半径(谁能看到、在哪运行、能影响什么)被刻意限制
- 成功/失败在开始前就定义好,避免“学完再吵”
有界风险让你可以快速前进而不是拿声誉、营收或正常运行做赌注。
什么必须稳定、什么可以频繁变更
顶尖团队明确区分系统中不可妥协稳定的部分与可快速迭代的部分。
不可妥协的通常包括计费正确性、数据完整性、安全控制和核心用户路径。
可快速变更的通常是引导文案、UI 布局变体、推荐策略微调和内部工作流改进——这些是可逆且易于监控的。
一个快速框架:可逆、不可逆与运行手册
使用这个决策筛选:
- 可逆决策: 快速上线、测量、必要时回滚。
- 不可逆决策: 放慢速度、多些评审并在提交前降低不确定性。
- 运行手册(Runbooks): 对可能出错的场景定义“若 X 发生,做 Y”的步骤,让团队在紧急时能快速响应。
带稳定性的速度大多就是:让更多决策可逆,把不可逆的决策稀少化并良好管理。
让速度成为可能的不可妥协项
当默认路径就是安全的,快速前进最容易。这些基础减少了每次发布需要做出的判断,从而在不悄悄积累质量债的前提下保持高节奏。
基础项:你的最小操作系统
当以下几样总是存在时,团队能快速迭代:
- 自动化测试,覆盖关键路径(不要求覆盖所有)。先从冒烟测试和最昂贵的破坏点开始。
- 代码审查规范:明确审查者必须检查什么(正确性、安全性、可读性),不必在风格上争论(风格由工具处理)。
- 持续集成(CI):对每次变更运行并在检查失败时阻止合并。
- 可复现构建:避免“在我机器上可以”的惊喜。固定依赖并保证本地与 CI 的构建可重现。
完成定义防止隐性质量债
当“完成”被等同于“合并”且清理永远被拖延时,速度会死掉。清晰的完成定义将模糊的质量转换为共享契约。
典型条款包括:添加/更新测试、针对用户可见改动更新监控、变更时更新文档,以及为高风险发布记录回滚计划。
能加速的文档,而非拖慢的文档
你不需要写一个巨大的 Wiki。你需要明确的所有权(谁维护什么)和轻量化的作战手册:发布步骤、事故响应、如何请求依赖团队的帮助等。
几周内可采纳的基线
如果从零开始,目标是建立一条 CI 流水线、小型冒烟测试套件、对主分支的强制评审、固定依赖和一页的“完成定义”。这一套足以消除大多数让团队感到必须在速度与稳定之间二选一的摩擦。
护栏:团队如何在不破坏生产的前提下快速上线
当你把生产当成受控环境而不是试验场时,速度会更安全。护栏是那些轻量系统,让你频繁小幅上线同时保持风险可控。
功能开关 + 分阶段放量
功能开关允许你部署代码而不立即对所有人暴露。你可以只对内部用户、试点客户或一定比例流量打开。
分阶段放量(常称金丝雀或百分比放量)示例:发布到 1% → 观察 → 10% → 50% → 100%。若出现异常,在成为全公司级事故前停止放量。
这把“一次性大上线”变成了一系列小赌注。
回滚 vs 向前修复
当发布表现不佳时,你需要一个快速逃生口。
回滚:恢复到前一个版本。适用于明显有害且回退风险低的情况(例如 UI 问题或性能退化)。
向前修复:在有问题的发布上快速再发布修复。适用于回滚风险高的情况——如数据库迁移、数据格式变更或用户已创建数据导致旧版本无法理解的场景。
可理解的监控
监控不是为了仪表盘好看,而是为回答:“对用户来说服务是否健康?”
- SLI:信号(错误率、延迟、可用性)。
- SLO:目标(例如“99.9% 请求成功”)。
- 告警:应在用户可能受影响时触发——而非每次小波动都告警。
- 错误预算:把可靠性翻译成简单规则:如果最近“花费”了太多可靠性,就放慢功能发布直到稳定恢复。
事故后的快速学习
高绩效团队进行无责备复盘:关注发生了什么、系统如何允许该问题发生以及需要改变什么。
产出应是少量清晰的行动项(增加测试、改进告警、收紧放量步骤),每项都有负责人和到期日——让同样的故障模式不容易重现。
日常如何快速前进(且不走捷径)
日常的快速前进不是靠英雄式救火或跳过步骤,而是通过选择能降低风险、缩短反馈回路并保持质量可预测的工作形态。
1) 把工作切得薄——但每片都要有价值
薄切片是你能发布的最小单元,同时还能教你东西或帮助用户。如果一个任务无法在几天内发布,通常就太大了。
实用切片方法:
- 把 UI 放在功能开关后面:提前合并 UI,但在测试与准备好之前保持隐藏,减少长期分支的痛苦。
- API 优先:先发布 API 合约和基本行为再打磨 UI,前端可以更早整合,且你能尽早验证模型。
- 内部发布:先推给团队或小范围用户(或有限客户群)以在广泛上线前捕获问题。
2) 明确原型与生产的界限
原型用于快速学习。生产代码用于安全运行。
使用原型当:
- 你在探索多个方案;
- 需求不明确;
- 你需要快速用户反馈。
使用生产标准当:
- 功能需要长期维护;
- 涉及关键流程(支付、认证、数据完整性);
- 可观测性与可靠性重要。
关键是明确标注:把工作标为“原型”,并设置预期该原型可能会被重写。
3) 用 Spike 为不确定性设定时间盒
当你不知道最优解时,不要假装知道。运行一个有时间限制的 Spike(例如 1–2 天)来回答具体问题:“我们能支持这种查询模式吗?”、“这个集成能满足延迟需求吗?”
为 Spike 预先定义输出:
- 简短的发现总结,
- 推荐方案,
- 带估算的后续步骤。
薄切片 + 明确的原型边界 + 有时间限制的 Spike 让团队在保持纪律的同时快速前进——因为你用稳健的学习替代了猜测。
能加速而非拖慢的决策机制
速度并非来自更少决策,而是来自更清晰的决策。当团队反复争论时,通常不是因为大家不在意,而是缺乏共同的决策卫生:谁决定、哪些输入重要,以及何时决策最终定案。
决策卫生:把流程显式化
对任何重要决策,在讨论开始前写下三件事:
- 决策负责人:对结果负责的单人(不是委员会)。
- 输入:必须咨询谁、哪些数据重要、哪些是“锦上添花”。
- 截止时间:何时做出决定。
这能避免最常见的拖延:等待“再多一个意见”或“再做一个分析”而没有终点。
一页式决策文档(轻量而非官僚)
用一个能在单屏显示的一页文档:
- 要解决的问题与时机
- 考虑的选项(2–4 项)
- 推荐选择 + 权衡
- 风险与护栏(什么可能坏掉、如何遏制)
- 成功度量(如何在数日/数周内判断)
- 可逆性(容易撤销 vs 难以撤销)
先异步分享。会议用于做决定,而不是写文档。
“不同意但执行”且不伤感情
决策负责人做出决定后,团队在执行上保持一致,即便并非人人都同意。关键是保全尊严:人们可以说“我因 X 不赞成;但我因 Y 执行”。把担忧写入文档,以便以后验证其合理性。
用指标与约束终结无休止争论
健康的争论在能对接到指标或约束时更快结束:
- 成功指标(例如激活率、支持工单、延迟)
- 约束(例如必须可逆、不能提高错误率、必须在某日期前上线)
如果争论无法与指标或约束挂钩,通常是偏好问题——给它时间盒。
一个保持决策流动的节奏
- 每周: 小的产品/工程决策与权衡
- 每月: 策略回顾——该停止什么、加倍投入什么
- 每季度: 几个大赌注,并给出明确假设与终止标准
这个节奏在确保大动作得到慎重考虑的同时保持高势能。
支持速度与稳定的团队结构与文化
快速团队并非“放任自流”的团队。它们是在共享框架内拥有真实自治的团队:明确目标、明确质量底线和明确决策权。这样的组合防止两种经典的拖慢源——等待许可与修复可避免的失误。
在边界内的自治(有界自由)
自治在边界明确时才有效。示例:
- 一小组团队目标(例如激活、可靠性、成本),每个人都能说出
- 定义好的护栏:什么绝不妥协(安全、隐私、可用性目标),什么可权衡(范围、打磨、时间)
- 轻量标准:“我们这里如何上线”,而不是 40 页的规则书
当对齐强时,团队可以独立行动而不制造整合混乱。
角色清晰消除等待
速度常常在模糊中死掉。基本清晰包含:
- Owner: 对结果负责的人(不只是任务)
- Approver: 谁需要签字,何时需要 vs 何时可选
- On-call: 出问题谁响应,有可信的轮值
- 升级路径: 被阻塞时怎么拉人,多久,走哪个渠道
若这些不明确,团队会浪费在“谁来决定?”的循环中。
心理安全:早报风险而不受责怪
稳定的快速依赖人们在还来得及修复时就提出风险。领导可以通过感谢提前报警、把事故复盘与绩效评估分离、把未遂事故当作学习机会而非弹药来强化这点。
会议卫生:更少会议,更好的书面更新
用简短的书面更新替代状态会(发生了什么、阻塞点、需要哪些决策)。把会议留给决策、冲突解决和跨团队对齐——并以明确的负责人与后续步骤结束会议。
测量什么:速度、质量与学习
如果你只测“发布了多少东西”,你会不小心奖励混乱。目标是用包含质量与学习的方式度量速度——让团队优化真正的进展,而不是忙碌。
真正有意义的速度指标
一个实用的起始集合(借鉴 DORA 指标),在速度与稳定间平衡:
- 交付周期(Lead time): 从“开始”(或合并)到“在产线上运行”需要多长时间,越短越好。
- 发布频率: 多久发布一次。只要质量不下降,更高通常更好。
- 变更失败率: 导致事故、回滚或热修的部署占比,越低越好。
这些指标配合使用:只有在变更失败率不飙升且交付周期没有因返工而膨胀时,提升发布频率才算“快速前进”。
加入学习指标(避免速度变盲目)
更快发布只有在更快学习时才有价值。添加一些产品学习信号,衡量迭代是否带来洞见与结果:
- 实验周期时间: 从假设→发布测试→决策的时间,越短表示学习越快。
- 激活信号: 预测成功的早期行为(例如完成首个关键动作),跟踪率和达到激活的时间。
- 留存信号: 用户是否回访或继续工作流?即使是轻量的队列留存也能暴露“快发布慢产出”的问题。
虚荣速度 vs 真正吞吐
虚荣的速度看起来像许多工单被关闭、很多发布和繁忙的日程。
真正的吞吐包含完整的价值交付成本:
- 返工(因需求不清反复做)
- 事故与支持负荷(抢修时间)
- 回滚与紧急补丁
- 协作开销引起的延迟
如果你“快”但一直在付事故税,你并没有领先——你是在以高利率借时间。
一个小仪表盘(与复盘节奏)
保持一个能在一屏显示的小仪表盘:
- 交付周期(中位 + 90 分位)
- 发布频率
- 变更失败率
- 事故数与恢复总时长(可选)
- 实验周期时间
- 一项激活指标 + 一项留存指标
每周在团队的运维/产品同步中复盘:找出趋势,选一项改进动作,并在下一周跟进。每月做更深度回顾,以决定哪些护栏或工作流改动能在不牺牲稳定性的前提下改善这些数字。
何时放慢(以及如何在不丢失动力下做到)
快速前进只在你能继续在明天交付时才有意义。关键是察觉速度何时在变成隐形风险——并及早反应而不是冻结交付。
你在向未来借太多时的警示信号
应当放慢的信号是持续且一致的,而不是某次冲刺混乱就放慢。留意:
- 事故或未遂上升(尤其是重复原因)
- 不断增长但永远不被排期的“以后再修”积压
- 不可靠的测试与 CI 训练人们忽视失败
- 倦怠指标:更多下班后的工作、更重的值班负荷、所有权分裂
放慢时的实用检查表
用一份简短触发清单去移除情绪化决策:
- 可靠性目标: 最近是否反复错过错误预算或可用性目标?
- 合规或安全: 是否有新的合规要求、审计或客户承诺,是当前做法无法满足的?
- 规模变化: 流量、数据量或客户数是否跳变到让原有“足够好”方法变得脆弱?
如果两项或以上为真,就宣布限时慢速模式并给出明确结束日期与目标。
在不停止进度的情况下偿还技术债
不要完全停止产品工作。有意识地分配产能:
- 常态: 每个周期保留 10–20% 用于债务与可靠性工作。
- 压力期: 临时把这个比例提升到 30–50%,直到领先指标好转。
把工作量化(减少主要事故原因、移除不可靠测试、简化最危险组件),而不是一句“重构”。
“重置周”(reset week)模式
重置周是一次有时限的稳定冲刺:
- 稳定生产(修复重复事故、收紧监控)
- 把明显的尖刺记录下来(运行手册、所有权、已知故障模式)
- 改善自动化(测试、部署检查、回滚路径)
以缩小、更安全的交付面结束,从而下一轮推送更快而非更危险。
一套本月可执行的实用清单
这是一份轻量的操作手册,你可以在不重组团队的情况下采纳。目标是更频繁地发布小变更,附以明确护栏和快速反馈。
实用检查表(护栏、指标、角色、发布步骤)
护栏
- 基于 trunk 的开发(短生命周期分支)与小 PR
- 要求自动化检查:测试 + lint + 构建
- 对风险/未完成工作使用功能开关
- 分阶段放量(例如 5% → 25% → 100%)
- 与用户影响关联的监控 + 告警(错误、延迟)
指标(每周跟踪)
- 交付周期(合并 → 产线)
- 发布频率
- 变更失败率(事故/回滚)
- 恢复时间
- 学习指标:已发布并复盘的实验数量
角色
- 每次发布的 DRI(直接责任人)
- 被改动区域的值班负责人
- 指定的评审负责人(轮值)以保持 PR 流转
发布步骤
- 定义成功标准 + 回滚计划
- 在功能开关后合并
- 部署到预发布环境(staging)
- 金丝雀放量
- 观察仪表盘
- 扩大放量
- 发布后记录(改动、学到的东西)
简单政策模板(复制/粘贴)
放量规则: 所有面向用户的改动都使用功能开关或分阶段放量。默认金丝雀时长:30–60 分钟。
审批: 高风险改动(支付、认证、数据迁移)需要两次审批。其他情况:一名审查者 + 绿灯检查通过。
升级: 若错误率 > X% 或延迟 > Y% 持续 Z 分钟:暂停放量,呼叫值班,回滚或关闭开关。
30 天小范围启动计划
第 1–7 天: 选定一条服务/一个团队。新增必要检查和基础仪表盘。定义事故/回滚阈值。
第 8–14 天: 为该服务引入功能开关与金丝雀发布。做一次计划内回滚演练。
第 15–21 天: 收紧 PR 大小规范,设置 DRI 轮值,开始追踪四项交付指标。
第 22–30 天: 回顾指标与事故。移除一个瓶颈(慢测试、不明确的所有权、噪声告警)。扩展到第二条服务。
工具在不改变原则前提下的作用
如果你的瓶颈在把决策变成可发布切片的机械操作(搭建脚手架、复用模式、保持环境一致),工具可以在不降低质量门槛的情况下压缩反馈回路。
例如,Koder.ai 是一个 vibe-coding 平台,让团队通过聊天界面构建 Web、后端和移动应用,同时保持交付纪律:你可以用小切片迭代、在生成改动前用规划模式明确范围,并依赖快照/回滚保持可逆性。它还支持导出源码与部署/托管,这能减少搭建摩擦,同时让你把审查、测试与分阶段发布等护栏作为不可妥协项保留。
可立即应用的原则
以小切片发布,将非妥协项自动化,把风险可视化(功能开关 + 放量),同时衡量速度与稳定——然后对系统本身进行迭代。
常见问题
本篇文章中“快速前进”到底是什么意思?
“快速前进”更适合被理解为缩短学习环路,而不是放弃质量。一个实用的循环是:
- 构建能验证假设的最小版本
- 测量实际发生的情况
- 快速学习并调整
如果你的流程增加了产出却降低了观察、控制或回退变更的能力,那你就是以错误的方式“快速前进”。
我怎么分辨速度和鲁莽?
问自己一个问题:如果这是错误的,我们能多快恢复?
- 如果可以快速回滚或关闭(功能开关、小变更、良好监控),那就是“有界风险下的快速”。
- 如果失败难以检测、难以逆转或波及面广(一次性上线、不可观测的改动、不可逆迁移),那就是鲁莽。
安全快速发布的最低“不可妥协项”有哪些?
从小而高杠杆的基线开始:
- 每次变更都在 CI 上运行,并在检查失败时阻止合并
- 覆盖关键路径的冒烟测试套件
- main 分支上强制代码审查
- 固定依赖并保证可复现的构建
- 一页的“完成定义”(测试、监控、文档/发布说明、回滚计划)
这能减少每次发布需要判断的数量,从而更安全地加速交付。
功能开关与分阶段发布如何降低生产风险?
通过功能开关和分阶段发布,代码可以先部署而不马上对所有人可见。
常见流程示例:
- 部署并默认关闭功能开关
- 对内部用户或 1% 流量开启
- 观察关键健康指标
- 逐步放量(10% → 50% → 100%)
如果出现异常,暂停放量或关闭开关,避免演变为全公司级别的事故。
我们什么时候该回滚,什么时候该继续向前修复?
当回滚能快速恢复已知良好状态时优先选择回滚(如 UI 错误、性能回退)。
当回滚风险较大或不可行时优先向前修复,常见场景包括:
- 数据库迁移
- 数据格式变更
- 用户已创建的新数据与旧版本不兼容
在发布前就决定好采用回滚还是向前修复,并把逃生路径记录在案。
支持频繁发布需要什么监控与告警?
把重点放在是否影响用户,而不是做漂亮的仪表盘。实用的监控组合包括:
- SLI:错误率、延迟、可用性
- SLO:定义“足够健康”的目标(例如“99.9% 请求成功”)
- 告警:只在用户可能受影响时触发,而不是每次波动都告警
- 简单阈值:用于暂停发布的条件
保持可理解性,让任何值班人员都能快速采取行动。
如何把工作拆成“薄”但有价值的发布?
将工作切薄,但每片都要有价值:能在几天内发布并且带来学习或用户价值。
常用切片方法:
- 把 UI 提前合并,放在功能开关后面隐藏
- API 优先:先发布 API 合约与基本行为,前端并行集成
- 内部发布:先对团队或小规模客户开放,先捕获问题
如果不能小切片发布,就按风险边界拆分(哪些必须稳定、哪些可以快速迭代)。
我们如何决定某件事是原型还是生产级别?
把产物标记清楚:是原型还是要进生产标准。
使用原型的情况:
- 探索多种方案
- 需求不清晰
- 需要快速用户反馈
使用生产标准的情况:
- 该功能会被长期维护
- 涉及关键流程(支付、认证、数据完整性)
- 需要可观测性和可用性
提前标注可以防止“原型捷径”悄然变成长期技术债。
怎样以轻量方式更快做出决策而不造成混乱?
用“决策卫生”避免无休止争论:
- 一个决策负责人(而非委员会)
- 明确输入(谁要被咨询、哪些数据重要)
- 决策截止时间
- 一页决策文档:问题、可选项、推荐方案与权衡、风险/护栏、成功指标、可逆性
先异步分享文档,会议用来决定而不是写文档。执行时采用“不同意但执行”(disagree and commit),并把异议记录下来以便后续学习。
什么时候我们该放慢脚步?如何在不丢失动力下做到这一点?
当信号持续且一致地表明你在向未来借太多时间时就该放慢脚步:
- 事故或险些事故上升,且重复发生
- “以后再修”积压不断增长
- 不可靠的测试或 CI 被忽视
- 倦怠迹象:频繁加班、值班负担加重、归属感下降
应对方式:
- 启动限时的稳定模式(例如把 30–50% 能力临时转为可靠性工作)
- 修复主要事故根因、完善监控与运行手册
- 进行回滚演练
目标是恢复安全的吞吐能力,而不是冻结交付。