先给一个明确判断:老师只给结论,不等于你只能背结论。你要做的是给每条结论找一个“它可能不成立”的场景,再判断这个反例是推翻结论,还是只说明结论有前提。反例练习的价值不在于证明老师错,而在于逼你写出结论的适用边界。如果一条结论你找不到任何反例,通常说明你还没理解它依赖什么条件。
练习时最常见的矛盾是:你明明想找反例,却觉得老师说的每句话都对。这背后有两种完全不同的原因。
第一种是结论本身足够宽泛,宽泛到没有可操作内容。比如“内容要满足用户需求”,这句话几乎无法反驳,因为它没告诉你满足谁、在什么阶段、用什么信号判断。这种结论不是错,而是缺少条件,你需要补的是条件,不是反例。
第二种是结论有具体指向,但你手上没有能触发例外的场景。比如“新站前期不适合大规模铺同质页面”,这条结论在资源有限、站点权重低时通常成立;但如果你的站点已有稳定的抓取和索引基础,或者这批页面各自解决不同长尾问题,例外就可能出现。此时你缺的不是结论,而是场景样本。
区分这两种情况的办法很简单:试着把结论改写成“在____条件下,做____,会得到____结果”。如果三个空你只能填出一个,说明它是宽泛结论;如果能填满,说明它是一条可检验的结论,值得配反例。
拿到一条结论后,不要直接问“有没有反例”,而是先拆出它隐含的三个部分。以“内页标题堆关键词会伤害点击”为例:条件可能是搜索结果页竞争激烈、标题被截断;动作是重复堆叠同一词;结果是点击率下降。拆完之后,反例就有了方向。
这样拆的好处是,你不会停留在“老师说对/说错”的层面,而是得到一个可以自己验证的小问题。验证时优先选你能观察到结果的动作,比如改一个标题后观察一段时间的点击和展现变化,而不是一次性改掉全站。
假设老师给出一条结论:“新页面发布后应尽快提交,让搜索引擎发现。”你可以构造一个反例练习:站内已经存在大量低质页面,且抓取预算被这些页面占用。此时继续提交新页面,未必带来更好的发现效果,因为问题出在整体抓取分配,而不是单页提交动作。
这个反例并不推翻“提交有助于发现”,它只是说明:当站点存在更严重的抓取浪费时,提交的边际作用会下降。你要记录的不是“提交没用”,而是“提交在抓取预算被低质页面占用时,效果可能被稀释”。下一步动作也随之改变:先清理或合并低质页面,再观察提交后的抓取变化,而不是继续增加提交量。
这个例子的数字不需要真实,只需假设:如果站内低质页面占比很高,新页面被发现的等待时间可能变长;如果先减少低质页面,同样提交动作的观察结果可能不同。你验证的是条件变化带来的差异,不是某个固定比例。
不是所有“和结论不一样”的现象都算反例。以下三种容易误导下一步判断。
判断一个反例是否值得继续追,可以问自己:如果换一个页面、换一个时间段,这个现象还会出现吗?如果答案不确定,就先把它标记为“待观察”,而不是立刻改策略。
具体动作可以这样安排:选一条老师给的结论,写下它的条件、动作和预期结果;再写一个你认为可能不成立的条件;只改一个变量做小范围测试;记录改动前后的观察结果;最后判断这条结论是否需要补充前提。
这个动作的结果会直接影响下一步:如果反例成立,你得到的不是“结论错了”,而是一条更精确的适用条件,可以写进自己的检查清单;如果反例不成立,说明你原来的理解可能太窄,需要回到结论本身补充更多场景。无论哪种结果,你都比单纯背结论多了一层判断依据。
对于论坛里流传的经验,同样可以用这套方法处理。看到一条没有出处的结论时,先找它的条件和结果,再找反例;如果连条件都写不出来,就把它当作待验证的线索,而不是可以直接执行的规则。这样练习一段时间后,你面对老师只给结论的情况,就不会停在“记住了”,而是能自己补出边界和下一步动作。