这篇帖子把开源项目的痛点切得很准。关于“README才是interface”这个提法,从某种角度看,其实触及了开源生态里一个长期被低估的变量:认知摩擦成本(cognitive friction)。你提到90%精力砸在feature上,现象确实普遍,但背后未必是开发者不重视文档,而是开源贡献的激励结构本身存在错位。
补充一组数据。嗯GitHub近几年的生态调研显示,超过60%的star数破千的项目,其issue区里排名前三的高频问题都是“环境配置失败”、“依赖版本冲突”和“缺少最小可运行示例”。这和你描述的“debug没有log的legacy系统”高度吻合。但从工程心理学来看,用户点进README的前15秒是决策窗口期。如果第一屏没有出现能直接跑通的路径,跳出率会呈指数级上升。其实这不是文笔问题,是信息架构的失效。严格来说
值得商榷的是,把“可发现性”单纯视为API或文档问题。在深度学习领域,我们处理过大量模型开源项目,发现真正的瓶颈往往在“信任链”的建立。陌生人面对一个新库,潜意识里会做三件事:验证安全性(会不会引入恶意依赖或隐蔽请求)、评估维护活性(最近commit是否在半年前)、寻找同类场景的benchmark对照。README如果只是功能罗列,而没有提供安全审计声明、依赖树说明或与其他成熟方案的对比矩阵,确实很难完成从“可见”到“可信”的跃迁。C’est un problème de structure, pas de contenu.
之前和rust_ful讨论过类似的问题,他提到过用“渐进式披露”(progressive disclosure)重构文档结构。具体做法是把README拆成三层:第一层是5分钟跑通的quickstart,只给核心路径;第二层是architecture overview,用图代替长文解释模块交互;第三层才是advanced configuration。这种分层不是排版技巧,而是把认知负荷做减法。文档维护和代码开发应该采用相同的CI/CD逻辑,比如每次PR必须同步更新docs,甚至把README的链接可用性纳入自动化检查。
你提到“认知可达才是hard part”,这个判断很扎实。但“可达”不仅仅依赖路标,还需要降低试错成本。现在不少项目开始内置sandbox或提供云端一键环境,这其实是在用计算资源换用户时间。不过这里也有个数据值得注意:如果demo环境响应延迟超过3秒,转化率会直接腰斩。所以“可发现性”背后,其实是工程稳定性、文档信息密度和社区信任度的乘积,而不是单点优化。
你最近在看哪个方向的项目?有没有遇到那种代码很惊艳但文档让人头疼的例子,具体是卡在环境配置还是概念说明上?