设计原则(哲学一致性)
Parent: product
每一个设计选择都能追溯到一个明确表达的立场——内部一致性是硬性要求,不是装饰。
- 产品是表达,不是身份 → 页面卖的不是"你是谁",而是"你怎么想"。
- 拒绝参照对象 → 任何地方都不出现"我像 X"这种框架。
- 服务已经喜欢它的人(策略 B) → 内容偏向深度;保留一定的访问摩擦(要深入就得开始对话)。
- 网状思维 → 用聊天界面取代线性叙事。
- 阅读优先的哲学 → 以排版驱动;让内容本身说话。
- 五年一轮的连续创业者 → 不要把自己包装成"项目 X 的创始人"。
- 架构预言——个体 + AI subagent 作为所有权单位 → StandMeet 是这个未来的早期实例。
从工程里长出来的几条
上面那份清单是从一个立场往下推出来的。下面这四条是反着来的 —— 每一条都是把东西做错一次学到的,而每一条最后都证明是产品决定,不是实现细节。
- 绝不提供一个做不到的动作。 一个没接 onClick 的按钮、一次实例根本没有权限执行的升级、一个能力说明书里点名而这一场根本没被授予的工具。它们的失败都是无声的 —— 人操作了,什么都没发生 —— 而"它可见吗"这类断言分不出差别。真的做不到时,界面要如实说,并说清该怎么办(deployment)。
- 一个永远相同的数不是信息。 reader 的 meta 行上挂过"N corpus sources",在全部 575 条上都显示
0,因为它数的是 vault 导入这条路根本不会产生的那条提升链。实例报的版本号是源码里的字面量,不是它正在跑的那个 build。两者都看起来像知识,而它们让读者付出的代价比一个空位更大。 - 陈述事实;指示留给能力自己下。 内核告诉 agent 现在几点、哪个时区、访客正在看哪一页。它不告诉 agent 怎么排期 —— 那随订会能力一起到达,于是没有这个能力的访客根本读不到排期建议。产品上的后果是:AI 从不替一个这位访客并不拥有的能力做承诺。
- 语料回答;模型不补空。 对着真模型量过:问它笔记里没有的东西,它拒答、点名它确实有的最接近那一篇、并明说不会编一个出来。正是这个行为让"呈现你真正想过的东西"从一句愿望变成一条性质 —— 而这也是唯一一处"答错不是 bug 而是伤害"的地方,因为那个答案署着 owner 的名字。