我在这句话上浪费了好几年
「产品做得足够好,自然会有人来。」
这句话我信了很多年。它符合工程师的世界观:代码是可验证的,性能是可测量的,好和坏之间有客观差别。既然有客观差别,那么好的东西胜出就是迟早的事——市场是有效的,只是需要一点时间。
我做开源的那几年一直是这个逻辑。项目写得漂亮,测试覆盖率高,文档也认真写了,接下来就是等。等有人 star,等有人提 issue,等有人在某篇博客里提一句。有时候确实会等到,但更多时候是没有。而每次没等到的时候,我的第一反应都是同一个:东西还不够好,回去继续改。
这是一个非常舒服的归因。它把所有问题都收敛到我最擅长的那一层——写代码。它让我可以理直气壮地继续做我本来就想做的事,同时避开我不想做的那件事:走出去,告诉别人我做了什么。
后来我才想明白,这个归因结构本身就是问题。它不是勤奋,它是一种用擅长的事逃避不擅长的事的高级形式。
而更要命的是,这句话在过去确实有几分道理,所以它才那么难被证伪。
那句话曾经成立的条件
「好产品自然会有人来」不是纯粹的自欺,它有过成立的年代。成立的条件是一个隐藏前提:好产品本身就稀缺。
当很多软件产品需要更多时间、协作与资本才能完成时,能被做出来并且做好的东西数量有限。这个限制本身就在承担一部分筛选。一个真正好用的工具出现在 GitHub 上,周围往往没有那么多近似替代品,也更容易自带一部分注意力。
那个年代里,「把东西做好」既是产品动作,也是分发动作。它们合成了一件事,所以你不需要单独考虑分发。
现在这个前提变弱了。
对很多软件产品来说,AI 辅助开发和托管基础设施让原型更便宜了。这不等于每个市场都充满了好产品,更不等于可靠运行、安全、支持和领域知识都免费了。它只意味着:一个能跑的 demo 已经没有过去那么特别,别人往往也能用相似的工具做出相似的可见功能。
稀缺性没有消失,只是更多地从实现迁到了注意力、相关性与信任。
这也是总纲 里那句话更准确的边界:在很多软件品类里,能运行的产品没有过去那么稀缺,发现路径反而可能成为更紧的约束。
我想把话说得更狠一点:一个没有发现路径的好产品,从市场那一侧看,很像一个不存在的产品。 代码是真的,价值也可能是真的;但真正有问题的人从未遇见它,结果仍然接近于零。
为什么分发可以成为资产
总纲 里给了一个判断标准,我们再拿它来量一次分发层:
这层装备的进步,是只帮我,还是同时帮我所有的竞争者?
生产层往往很难通过这项测试。人人可用的模型升级会同时抬高很多建造者,真正耐久的优势通常来自工作流、领域语境与判断,而不是访问权本身。判断层过了一半——一部分能外化成规则,一部分只能长在你脑子里。
分发层比生产层更干净地通过这项测试,但前提是先说清楚什么才算资产。
没有任何一次模型升级,会替另一个人补上你花三年积累的读者。
这是分发层最本质的性质。工具可以加速研究、编辑、再发布和付费触达,却不能倒着创造一段历史:同一个人反复提出有用的判断,后来又一次次被事实验证。受众与信任部分是时间与验证的函数。
工具可以压缩这段过程周围的工作,不能删掉这段过程本身。
想象把同一篇文章分别发在一个新账号和一个持续产出三年的账号上。反馈大概率不同,但差距有多大,要看平台、主题、时机,以及旧受众是否仍然相关。这里不存在一个放之四海而皆准的倍数。
差的那部分是什么?不是内容质量——内容是同一个。差的是已经赢得的熟悉感。三年账号的读者已经知道「这个人写东西通常值得读完」,所以他们愿意付出第一分钟的注意力成本。新账号没有这段历史,每一篇文章都得从零证明自己值得被读,而在信息过载的环境里,绝大多数内容根本拿不到那第一分钟。
这个先验来自时间、一致性和证据。曝光可以买,受众有时也能收购,但相信不会自动转移。所以我会区分租来的触达和自己拥有的关系:粉丝数有一部分属于平台;可检索的内容档案、直接订阅、回访读者,以及能跟着名字迁移的声誉,更接近耐久资产。
生产变便宜之后,分发问题变了
现在讲这一篇里我认为最重要的机制。很多人只看到了 AI 对内容的第一重影响:某些生产环节变便宜了。可能随之出现的第二重影响,是有限注意力上的竞争变强。它是一条需要验证的机制,不是自然定律。
对熟练使用工具的人来说,文字初稿、粗略配图和基础剪辑的边际成本明显下降了。但研究、判断、核验、授权与品味没有归零。
当很多人都能发布更多材料,看似合理的内容供给就可能快速增长,而读者时间仍然有限。
当供给增长快过读者可支配的时间,赢得持续注意力的成本就可能上升。这里的「价格」不是一个统一 CPM,而是让真正相关的人注意到、继续读并采取行动所需的工作。
部分生产成本 ↓ 读者时间仍然有限
(模型加速初稿) (一天就那么多小时)
│ │
▼ │
┌──────────────┐ │
│ 看似合理的内容供给增长 │ │
└──────┬───────┘ │
│ │
▼ ▼
┌────────────────────────────────────────────────┐
│ 赢得有效注意力可能更难 │
└──────┬─────────────────────────────────────────┘
│
├──► 冷启动更难:新内容更难拿到第一分钟
│
├──► 存量资产更值钱:已有的信任成了稀缺品
│
└──► 假设:发现路径与证据变得更重要
这张图里更值得验证的是右下角那条:通用内容生产越便宜,可信的来源记录越可能有用。
因为当所有人都能产出内容的时候,「谁产出的」这个问题的权重上升了。读者没法读完所有东西,必须做筛选,而筛选最省力的依据就是来源——我认识这个人,我读过他写的东西,那我先读他的。
这并不能证明 AI 必然巩固既有优势。推荐系统也能把陌生作者送到读者面前,新账号也可能凭极强的相关性获得注意力。我的判断要窄得多:当读者面对太多“看起来都合理”的材料时,一段可检查的历史会成为有用的过滤器。
我不认为这是好事。真正能控制的更窄:留下有用、可检查的记录,并让真正相关的读者容易找到它。
fly.pieter.com 表面上是生产层的胜利
这个案例有用,恰恰因为流行版本太干净了。Levels 自己的复盘与归档发布帖 写明,他在 2025 年 2 月 22 日开始做这款游戏,大部分过程公开进行,并在 17 天后达到 100 万美元年化收入。发布期快照还出现过“三小时原型、32 万玩家、月收入约 8.7 万美元”等数字。这些都是创始人报告的数据,不是审计账目。
这一区分很重要:年化收入不等于 17 天实际收到 100 万美元,短暂发布窗口也不能证明收入会稳定重复。游戏内赞助位和广告库存的经济模型,也不同于常规订阅。一个戏剧性的数字,不该靠删掉分母来变得更戏剧性。
比传奇更站得住的结论要窄一些:Levels 发布时,面前已经有一群多年看着他公开做产品的人。这种既有触达很可能帮助游戏跨过冷启动,但它不能证明所有收入都由分发造成。新鲜感、产品质量、时机、社交传播和赞助商需求同样在起作用。
三小时原型展示的是生产杠杆;发布结果展示的是生产杠杆与既有触达的交互。
我过去会把他的每个旧项目都描述成自动存入受众账户的一笔钱。这个说法太浪漫了。一次公开失败只有在记录有用、诚实、可检索时,才会成为资产;噪音不会因为公开就自动复利。
失败的项目可以归零。一份写清楚哪里失败、为什么失败、后来改了什么的记录,仍可能留下价值。
收入数据回答不了产品为什么失败
一组旧数据仍有用,前提是别让它回答从未测量的问题。2022 年 7 月,ScrapingFish 发布了对 937 个有 Stripe 验证收入的 Indie Hackers 产品的分析 :超过 54% 报告零收入,大约 5% 的月收入超过 8333 美元。
这是一张平台快照,不是独立软件生意的代表性普查。样本只包括主动上架并连接收入的创始人,混合了不同品类和经营时长,而且测的是收入,不是产品质量、受众规模或失败原因。未上架就放弃的项目确实缺席,但这并不能告诉我们把它们加入后每项比例会怎样变化。
这个数字通常被用来劝退,我觉得那是最没意思的读法。我关心的是另一个问题:那 54% 里,有多少是因为产品不好,有多少是因为没人知道它存在?
这个数据集给不出这样的拆分。根据我自己的经验,发现路径常常是被忽略的变量,但这是工作诊断,不是这项研究的结论。产品是否有用、定价、时机、留存、销售和分发纠缠在一起。
所以我现在会问一个可以被证伪的问题:我能否触达 100 个很可能有这个问题的人,并观察他们下一步做了什么? 触达不了,是分发问题;来了却不激活,更像产品或表达问题;激活后又离开,则是留存问题。把所有失败都叫作“分发”,只是把“都是代码不够好”翻到了另一面。
为什么我把「AI 味」当作分发税
随着光滑内容变多,我自己的筛选方式也变了。一篇文章结构工整、逻辑清晰、四平八稳时,光滑本身无法告诉我谁真正做过这件事、谁核验过判断、谁愿意为结论负责。
我现在用的低成本启发式是:这段话像不像一个具体的人写的,它有没有给出足够具体、可以检查的东西?
这不是可靠的 AI 检测器。人的文字也可以很泛,生成文本也能模仿声音。它只是我的阅读决策:如果开头每一句都说得正确,却没有任何具体内容,我就会关掉。
所以我会把「AI 味」首先视为一个分发问题,审美只是表层。带着这个味道的内容需要付出更多努力才能赢得我的注意力。更广泛的读者是否也使用同一套筛选,只能算这里的一条假设,并非已经测量的事实。
改词是一种常见回应,却没有碰到真正的问题:把「赋能」换成「帮助」,把「深度解读」换成「聊聊」,再让模型「不要用排比句」。这些都是表面修改,结果仍可能是一篇没有作者的文章,只是换了一层皮。
更耐久的解法是:只发布你能用自己的证据支撑的那部分。
具体是哪些:
- 一手的失败细节。 不是「这个方案有一些坑」,而是「我在这里卡了两天,因为我以为 X 是 Y,结果不是」。模型可以编出任何一句,但 commit、issue、benchmark 或带日期的笔记可以为后一句提供支撑。
- 具体的数字,尤其是难看的数字。 你的项目实际有多少人用、花了多少钱、多少时间、放弃了什么。数字也很容易编,所以重要数字要附上方法、日期、分母或可核对的产物。
- 当时的犹豫。 你在两个方案之间纠结过什么、为什么最后选了那个、现在回头看是不是选错了。生成稿常带着「已经想清楚了」的语气,因为到手时已经是一篇成文。人的思考有痕迹,痕迹本身就是身份证。
- 走过的弯路。 尤其是那种你现在觉得很蠢的弯路。脆弱感会让文章更像人写的,但它本身不是证据;真正有用的是另一位开发者能检查和复用的决策轨迹。
一个更诚实的自检是:标出每个包含可检查来源、自己工作中的具体决策,或读者能够验证的痕迹的段落。如果删掉这些段落后论证几乎不变,初稿仍需要更多扎实材料。
这不意味着不用 AI 写作。我自己用得很重。区别在于分工:让模型处理结构、语法、节奏、翻译、扩写,但那些只有你有的具体性,必须由你亲手放进去。 模型是编辑,不是作者。它可以把你的东西整理得更好读,但它不能替你经历。
把做产品的过程本身变成内容
这是独立开发者在分发上常有、也被严重低估的结构优势。好的团队同样可以设计出建造者与写作者的近距离,只是个体默认就拥有它。
在很多团队里,「做的人」和「写的人」是分开的。这次交接可能带来信息损耗和时间延迟:工程师做完了,市场来问怎么回事,写出来的东西再回去审,来回几轮,两周过去了。最后的内容可能变得抽象、正确、无聊,因为具体、有味道、略显尴尬的细节在传递中被磨掉了。
个体在这次交接上的损耗更少。做的人和写的人是同一个人,很多细节还新鲜,也没有经过层层转述。
这个结构优势不会自动兑现。它需要你有意识地设计一条管道,否则细节就在你脑子里自然衰减掉了。
总纲 里说过,四层之间是有方向的,第四层的产出应该往下沉淀成第二层和第一层的资产。分发层这里,那条管道具体长这样:
第四层 · 生产层的一次交付
(一个功能 / 一次重构 / 一次踩坑 / 一次放弃)
│
├──► 过程中就地留痕(最容易丢,尤其需要纪律)
│ · 决策:为什么选 A 不选 B
│ · 卡点:卡在哪、卡了多久、怎么出来的
│ · 数字:耗时、成本、性能前后对比
│ · 弯路:事后觉得蠢的那些
│
▼
┌───────────────────┐
│ 一份粗糙的原始素材 │ ← 只对自己可读,不追求成文
└─────────┬─────────┘
│
├──► 一篇深度长文(源素材,你的主场,可长期被检索)
│ │
│ ├──► 短形态:结论 + 一张图(社交平台)
│ ├──► 长形态:加背景 + 加数据(技术社区)
│ └──► 对话形态:把它拆成几个具体问题(问答场景)
│
└──► 第一层 · 声誉层:一致的公开输出本身
│
└──► 反哺:下一个产品的冷启动成本更低
关键在第一步:就地留痕。
整条管道每一步都需要判断,但这一步最容易被跳过,也尤其需要纪律。因为在做的当下,你觉得这些细节太琐碎了,不值得记,而且你确信自己记得住。
你记不住。三周之后你只会记得「后来解决了」,那些让内容有价值的具体性——你当时到底以为什么、试了什么、为什么试错了——全部消失了。留下的是一次有损交接也会产出的那种抽象、正确、无聊的版本。你的结构优势在这一步就丢光了。
我的做法很土:一个纯文本文件,做的过程中随手往里扔句子,不追求通顺,不追求完整,只追求当时的具体。这个文件只有我自己看得懂。等到要写东西的时候,它就是原料,而且是别人不可能有的原料。
有了证据丰富的原料之后,AI 可以加速很多下游环节。没有原料时,它主要只是让通用内容更快到达。
一鱼多吃能省摩擦,不能省表达
一份源素材转成多个平台的不同形态,这件事在 AI 之后确实变容易了很多。这是真实的效率提升,值得做。
但我想诚实地划一条边界,因为这件事被过度承诺了。
跨平台复用能降低摩擦,不能替代平台原生表达。
每个平台都有自己的语法——不只是长度限制,还有节奏、开头的方式、读者进来时的心理状态、什么样的话在这里显得自然而在别处显得做作。一段在长文里恰到好处的展开,直接切成短句发到快节奏的平台上,会显得啰嗦;一句在短平台上很锋利的判断,直接放进长文里,会显得轻浮和没有论证。
真正能自动化的部分是信息的重新打包:抽结论、换长度、调格式、做翻译。这些交给模型没问题。
最不适合盲目自动化的部分是这段话在这个语境里该怎么说。这需要对平台有真实体感:在那里待过,读过别人怎么说话,也观察过什么会被无视。
所以我的判断是:一鱼多吃是省力工具,不是分发策略。 它让你在已经选定的渠道上少花点时间,它不会替你选渠道,也不会替你在一个你完全不熟悉的地方建立存在感。
对个体来说,更现实的做法是:主场只有一个,是你能完全控制、内容能长期存在、可以被检索的地方(对我来说就是自己的博客);其他渠道是分流口,各自用各自的语言,但都指回主场。
按功能选渠道,不按流行选渠道
“哪里都要有”适合拥有媒体团队的公司。独立开发者需要的是一组足够小的渠道,即使产品着火了也维护得住。
第一步可以先按功能拆开渠道:
| 渠道角色 | 它擅长什么 | 需要验证什么 | 主要风险 |
|---|---|---|---|
| 自有主场:网站、文档、档案 | 耐久来源、搜索、规范链接 | 一年后读者还能找到吗? | 初始发现慢 |
| 自有关系:邮件或 RSS | 不依赖算法信息流的重复联系 | 订阅者会回来并行动吗? | 同意、送达率、名单卫生 |
| 发现型信息流 | 快速曝光和反馈 | 来的是相关的人,还是只有很多人? | 算法变化、虚荣指标 |
| 技术或问答社区 | 高意图问题与同行纠错 | 我在回答社区真正的问题吗? | 自我推广、语境错位 |
| 合作渠道 | 借可信同行获得相关触达 | 受众重合真实吗,关系披露了吗? | 依赖与激励错位 |
对独立开发者来说,一个合理的默认组合是:一个自有主场、一个自有关系、一个发现型或社区渠道。前三者形成可重复节奏后,再加下一个。规则里故意不写平台名,因为平台功能和政策变化得比底层角色更快。
选择时可以给五项各打一到五分:受众匹配、内容半衰期、控制权、反馈速度、每周维护成本。前四项是收益,维护是成本。理论流量再大的渠道,如果受众不匹配,仍然是坏渠道。
建立最小归因闭环
没有测量的分发,很快会变成迷信。完美归因不存在:私域转发、复制链接、隐私控制、多设备和模型中介都会打断链路。但一个克制的闭环,已经足够让下一次决策变好。
每篇源文章或每次发布,可以记录:
- 基线: 前四篇可比内容,而不是自己历史上最好的一篇。
- 曝光: 平台能够提供时,记录有效展示或社区浏览。
- 访问: 指向独立规范 URL 的会话;只在自己控制的渠道使用克制的 UTM 参数。
- 自有关系: RSS 订阅、完成二次确认的邮件订阅,或回访读者。
- 激活: 发布前先定义,什么是第一次真正体验到产品价值的事件。
- 结果: 留存、有用回复、贡献或收入——看这项工作的目标是什么。
在第 7、30、90 天复盘:七天看信息与渠道是否匹配,三十天看搜索、转介与延迟阅读,九十天看它有没有成为一个耐久入口。
一份很小的记录就够:
source_id:
hypothesis:
audience:
channel + variant:
published_at:
7d / 30d / 90d: visit, owned relationship, activation, outcome
what changed next:
UTM 标签不是跨站追踪一个人的许可。优先使用聚合分析、短保留周期,以及和明确目的绑定的第一方事件。如果读者说“从 AI 回答里看到”或“朋友私下转来”,把它记成自述证据,而不是精确因果归因。
分发的终点,多了一个上下文窗口
到了 2026 年,一些发现链路会在读者与来源之间插入生成式回答。模型可能检索页面、概括它、引用它、引错页面,或者完全不给来源。这是一个真实入口,却不是稳定漏斗。
MCP 生态本身确实显著扩张。2025 年 12 月 9 日,MCP 官方项目报告了超过 10,000 个活跃 server,并得到多个主流 AI 平台的一等支持 。同一份公告还写明,MCP 与 goose、AGENTS.md 一起成为 Linux Foundation 旗下 Agentic AI Foundation 的创始项目。这些事实能证明协议得到广泛采用,却不能衡量生成式答案带来的发现,不能证明所有模型都读取开放网络、引用稳定可靠,也不能说明一次引用必然产生信任与转化。
所以我会把模型可见性视为一种难归因的发现信号:
- 引用可能在没有点击时产生一次印象,但我不能据此推断用户相信了什么。
- AI 产品保留 referrer 时,点击可以测量;但 referrer 数据并不完整。
- 引用是否出现,会随模型、提示词、地区、日期和检索索引变化。
- 引用也可能曲解来源,它不是中立第三方的背书。
具体机制不在这里展开,我另有一整个 GEO 专栏 。在分发层,即使没有模型参与,下面三件事仍然有用:
写清楚适用范围。 一段话要说明结论适用于什么人群、日期、版本或条件。这既帮助人类读者,也降低片段被摘走后的误伤。
把证据放在判断旁边。 链接原始来源,说明方法,并区分观察与推断。没有边界的自信句子更容易被重复,也更容易被重复错。
保留规范来源。 页面需要稳定 URL、可见日期、作者与更新记录;再发布版本要指回原文。如果答案引擎展示了内容,我可以人工抽样监控,但只有人在之后采取可观察步骤时,我才把它叫作转化。
这没有“引用天然产生信任”那么浪漫,却更有用。目标是让事实多穿过一层中介后仍尽量不走样。
分发也有伦理与安全边界
触达不能为滥用开脱。把产品过程变成内容前,应删掉秘密、凭证、私有 URL、客户数据、内部提示词、会造成直接伤害的漏洞细节,以及可能意外识别个人的元数据。截图和正文需要同样严格的检查。
还要问:这个故事是不是由自己来讲?客户事故、私人消息、用户引用或队友的错误,需要许可或真正有效的匿名化。“公开构建”不是所有参与者共同签过的免责书。
在外部平台,应遵守社区披露与自我推广规则,标注赞助和联盟关系,也不要使用自动化伪造互动。内容复用应当适配语境,而不是把同一份 payload 灌进五个社区。如果平台禁止抓取、群发或合成互动,聪明的自动化也不会让行为变得正当。
安全测试很简单:如果被描述的人、平台管理员和未来的安全审查者同时读到,我还愿意发布吗? 如果不愿意,这个分发计划只是拿未来要还的债换今天的触达。
现在说不好听的部分
我不想让这一篇读起来像一篇励志文,所以必须把分发层最难的地方讲清楚。
分发可能复利,但它的启动期往往很长、很嘈杂,而且缺少决定性反馈。
这是它最反直觉的地方。我们总是在曲线已经可见后讲指数增长;身处早期时,一个正在复利的系统和一条死路,看起来都可能是平的。
对比一下生产层:一个新的编码工作流可能在几小时或几天内给出可见反馈,这种相对及时的回报更容易让人继续投入。
分发层完全相反。你写第一篇文章,可能三个人读。写到第十篇,可能还是十几个人读。这中间隔了几个月,投入了大量时间,你得到的信号和你没做这件事时几乎没有区别。
因果关系也是模糊的。就算半年后有了起色,也很少能把功劳全算给某一篇。内容质量、长期熟悉度、搜索需求、转介和运气会叠在一起。这也是为什么需要 7/30/90 天记录:它不会制造确定性,但能阻止记忆重写实验。
下面只是概念对照,不是实测增长定律,也不承诺拐点必然到来:
感知到的回报
▲
│ ╱ 分发层
│ ╱ (拐点后陡峭,
│ 生产层 ╱ 但拐点前几乎平)
│ ┌────────────────── ╱
│ ╱ (反馈更早, ╲ ╱
│ ╱ 随后边际递减) ╲ ╱
│ ╱ ╳
│╱_____________________╱ ╲___________
└────────────────────────────────────────► 时间
↑ ↑
两周 最容易动摇的阶段
(投入已久,信号仍近似为零)
有些人确实在有用档案形成前就放弃了;也有人停止得完全正确,因为受众、渠道或价值主张不对。坚持本身不能证明拐点一定存在。
我没有办法把这件事说得好听一点。耐久档案需要重复投入,而回报要过一段时间才可辨认。答案既不是盲目坚持,也不是每周恐慌,而是固定复盘周期,以及事先写清楚何时换渠道、何时停止。
这种不适,也解释了为什么很少有档案能活到真正有用的那一天。
如果非要给一条实操建议,我给这个:在启动期,同时评价产物和信号。 这个月我是不是把三次踩坑变成了三篇可检索的记录?相关读者有没有到达、订阅、激活或回复?前者保护资产,后者防止“长期主义”变成逃避。
被看见,和被信任
写到这里,我意识到分发层还有一个界限需要划清楚,否则它很容易被推得太远。
分发解决的是「被看见」,不是「被信任」。
这两件事经常被混为一谈,但机制不同。被看见是曝光问题,可以被优化、加速,也能在一定程度上购买。信任可以被影响,却不能按同样条件购买;它依赖一致性、证据,以及判断能不能经受现实检验。
随着“看起来合理”的内容边际成本下降,触达与影响力之间的断层可能变宽。当漂亮表达更容易生产,单独的「说得好」携带的信号会减少,而「说到做到」的信号会上升。
所以分发是声誉的必要不充分条件。分发决定有多少人听见你说话;声誉决定他们听完之后信不信。
回到开头那句话。
「产品做得足够好,自然会有人来」——我现在的看法是,这句话最有害的地方不是它错了,而是它把一个你必须主动做的动作,伪装成了一个会自动发生的过程。
它让你觉得自己在等待市场的裁决,其实你在回避一件让自己不舒服的事。我花了好几年才想明白。那些项目有的也许输在产品、时机或留存;我能确定的是,当时几乎没有给发现路径一次公平测试。
那些没有被记录下来的工作,对市场和未来的我来说,都更难被发现与复用。这是我从这一层学到的最贵的一课。
下一篇是这个系列的最后一篇,讲第一层 · 声誉层 :工作被看见之后,凭什么让人相信,以及怎样用可验证历史与开源贡献把四层连成一个系统。
前一篇讲的是判断层 ——当执行变便宜,更多成本会移到判断上。如果你是从这一篇进来的,那两篇合起来才是完整的图。





读者回响