外观
候选完成与权威提交为什么分两步?
项目版本说明
这些问答整合历史设计与实现资料;当前 main 分支 README 以工作包描述建设状态。具体能力、实验数据与设计目标的边界见项目状态与证据。
标准回答
CompleteTask 接收候选前检查大小、任务状态、有效租约、Space 和来源条件,再保存与当前 attempt 关联的候选。任务进入 commit_pending 后,Core 在受控事务中执行提交。模型执行者不直接把结果写成当前有效知识。
CommitTask 对已经 succeeded 的任务返回幂等成功,对其他状态检查是否允许提交,并重新检查 Space、来源与候选。这个间隔很重要:模型开始计算时合法,不代表计算结束或最终落库时仍合法。
两阶段应用流程不等于数据库分布式两阶段提交,也不是把模型事务锁住。其目的在于分离长耗时非确定计算与短期权威状态转换,支持重试、诊断和重新投影。候选被保存只表示收到计算结果,不能显示为最终完成。
追问与回答
Complete 成功但客户端没收到响应
重试或查询必须依据任务当前状态识别结果已被接受,避免重新产生无关操作;最终以权威状态为准。
为何提交时还要检查来源
候选计算期间来源可能被纠正、撤销或权限改变,只有重新检查当前状态才能避免旧结果重新进入有效视图。
易混淆点
- 把 commit_pending 展示成用户可依赖的最终知识。
内容来源
- Android 与 AI 工程 Wiki · 原条目
q154