本文来自 StoryPal 与 Job Application Copilot 的公开版整理实践。

AI 产品原型常依赖模型 API、真实业务数据和登录状态。直接上传可能泄露凭证、私人输入或账号环境;只保留截图又无法验证核心流程。

Mock-first 提供了一个中间边界:公开版默认使用可预测、无密钥、可复现的替代输入与 Provider,同时保留产品 Workflow、状态机、数据结构和失败路径。

Mock 应替换什么

适合替换的是不可公开或不可稳定复现的外部依赖:

  • API Key、供应商 adapter 与私有配置;
  • 真实简历、联系方式、儿童语音和历史对话;
  • 招聘网站登录会话、Cookie 与真实投递记录;
  • 会随网络、额度或模型版本变化的在线结果。

StoryPal 用确定性 Mock Provider 替代真实 ASR、LLM 和 TTS adapter,保留双交互状态机、Question Planner 与报告。Job Application Copilot 使用虚构候选人、JD 和招聘页,保留从证据匹配到人工确认的五模块流程。

Mock 不能替代什么

Mock 不能代表真实模型效果或线上性能。状态流可复现不证明儿童内容质量;虚构职位跑通也不证明真实平台 Adapter 当前可用。

公开说明应把证据分层:

层级 可以声称什么
公开 Mock Workflow、状态转换、界面和结构可运行
私有完整原型 指定真实链路曾经跑通,但未公开依赖不可由读者复现
真实用户验证 只有采集并说明口径后,才能声称效果与业务结果

缺少第三层数据时,应直接写“待补充真实验证结果”。

可复现性来自确定边界

好的 Mock 应覆盖正常、缺口和失败路径,并保持与真实 Provider 一致的输入输出契约。

以求职 Workflow 为例,高匹配、证据不足和风险职位需要得到不同结果;外部发送还必须验证任务批准、目标一致、材料上传和可见页面确认。Mock 页面保留这些约束,展示价值才不依赖真实账号。

公开版也是一次产品收敛

移除隐性依赖,会暴露哪些能力只在个人电脑上成立。固定本机地址、未声明权限和无法解释的数据口径都需要重新整理。Mock-first 也是一次架构检查:核心价值能否在最小稳定链路中复现。

公开作品最重要的可信度来自清楚说明证据与边界。演示负责证明流程,真实数据负责证明效果,两者应该被分别陈述。1

Footnotes

  1. 如果原始日志可能包含会话标识或私人文本,可以只公开经过说明的聚合结果,并保留无法验证的结论为空。