结论式教学省时间,但会留下一个空洞:你不知道这条结论在什么条件下会失效。补反例练习的目标不是推翻老师,而是找出结论的适用边界。可行做法有两种:一种是围绕结论主动构造反例;另一种是先收集真实反例再回头归类。对多数自学者,前者更省时间;如果你手上已有大量站点数据,后者更可靠。下面给出判断依据和一条可执行的动作路径。
构造反例,是你先写下结论成立需要的前提,再假想一个前提不成立的情形。例如结论是“内页应尽量从首页获得链接”,前提是站内链接总量有限且首页权重最高。反例可以是:一个内容量大、首页导航已经拥挤的站点,继续往首页堆链接,反而稀释了导航清晰度。
收集反例,是你先记录观察到的异常页面或异常波动,再倒推它违反了哪条结论。它更适合已经能接触到多个站点数据的人,因为异常样本不会凭空出现。
两种做法的代价不同。构造反例快,但容易停留在想象,反例可能根本不存在。收集反例真实,但周期长,而且异常往往有多个原因,归因容易出错。如果你每周只能投入几个小时练习,优先构造反例;如果你已经在处理真实站点,优先收集反例,把构造当作补充。
你按老师说的做,页面没有变化;别人按同样的说法做,却有变化。这通常有两种解释。
第一种解释是结论本身带有隐含前提,只是老师没讲。比如“标题包含目标词有助于相关页面的匹配”,隐含前提是页面正文确实在回答该词对应的需求。前提不满足时,标题再工整也不会带来预期变化。
第二种解释是执行粒度不同。同一句结论,有人只改了一个页面的标题,有人同时调整了正文结构、内链和页面之间的分工。变化可能来自后者,而不是标题本身。
这两种解释会导向完全不同的练习方向:前者要你补前提,后者要你拆变量。分不清它们,练习就会变成反复试错。
能区分它们的证据有三类,按获取难度从低到高排列。
需要提醒的是,抓取量、请求量或某个指标归零,不能单独证明你的处理正确。它也可能是抓取预算调整、页面被合并、统计口径变化,或者只是数据延迟。看到归零先列出至少三种替代解释,再决定下一步。
假设老师给的结论是“栏目页应该比详情页更容易获得内链”。你可以这样练:
这个例子的数字只为说明比较方法,不代表任何真实站点的结果。它的价值在于:每走一步,都产生一个能决定下一步的信息,而不是攒一堆无法归因的改动。
每条反例练习至少留三样东西:结论的原始表述、你补出的前提、以及这次练习推翻或收窄了哪个前提。只记“我试过了”没有用,因为下次遇到相似结论时你无法复用。
如果课程来自具体机构或讲师,而你对资料本身存疑,先核对课程大纲、讲师公开作品和更新记录,再判断是否值得投入时间;不要因为某条结论在练习中失效就否定整门课,也不要因为一条结论成立就默认其余结论同样可靠。结论的适用边界,只能一条一条单独验证。