PageSourceSearch

https://shihai1991.github.io/ai/2026/08/03/%E5%BC%A0%E5%B0%8F%E7%8…%AF%B9%E8%AF%9D%E6%9D%A8%E6%A4%8D%E9%BA%9F/

html shihai1991.github.io collected 2026-10-03 09:56:29 UTC 25,479 bytes, 744 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5    <meta charset="utf-8">
6    <meta http-equiv="X-UA-Compatible" content="IE=edge">
7    <meta name="google-site-verification" content="xBT4GhYoi5qRD5tr338pgPM5OWHHIDR6mNg1a3euekI" />
8    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
9    <meta name="description" content="Coder from Huawei Cloud">
10    <meta name="keywords"  content="史海, Hai Shi, Hayes, CPython, OpenStack, Iaas, OpenSource, Linux">
11    <meta name="theme-color" content="#000000">
12    
13    <!-- Open Graph -->
14    <meta property="og:title" content="张小珺对话杨植麟|K2时代AI:走出缸中之脑,走向Agent自进化 - 史海的博客">
15    
16    <meta property="og:type" content="article">
17    <meta property="og:description" content="复盘张小珺专访月之暗面杨植麟,解读K2技术定位、Test-time Scaling新范式、AI三段进化路线,访谈中的技术预判已在K3落地印证。">
18    
19    <meta property="article:published_time" content="2026-08-03T00:00:00Z">
20    
21    
22    
23    <meta property="article:tag" content="AI">
24    
25    
26    <meta property="og:image" content="https://shihai1991.github.io/img/home-bg-shihai-2021.jpg">
27    <meta property="og:url" content="https://shihai1991.github.io/ai/2026/08/03/%E5%BC%A0%E5%B0%8F%E7%8F%BA%E5%AF%B9%E8%AF%9D%E6%9D%A8%E6%A4%8D%E9%BA%9F/">
28    <meta property="og:site_name" content="史海的博客">
29    
30    <title>张小珺对话杨植麟|K2时代AI:走出缸中之脑,走向Agent自进化 - 史海的博客</title>
31
32    <!-- Web App Manifest -->
33    <link rel="manifest" href="/pwa/manifest.json">
34
35    <!-- Favicon -->
36    <link rel="shortcut icon" href="/img/favicon-new-2021.ico">
37    
38    <!-- Canonical URL -->
39    <link rel="canonical" href="https://shihai1991.github.io/ai/2026/08/03/%E5%BC%A0%E5%B0%8F%E7%8F%BA%E5%AF%B9%E8%AF%9D%E6%9D%A8%E6%A4%8D%E9%BA%9F/">
40
41    <!-- Bootstrap Core CSS -->
42    <link rel="stylesheet" href="/css/bootstrap.min.css">
43
44    <!-- Custom CSS -->
45    <link rel="stylesheet" href="/css/shihai-blog.css">
46
47    <!-- Custom Fonts -->
48    <!-- <link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"> -->
49    <!-- Hux change font-awesome CDN to qiniu -->
50    <link href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" type="text/css">
51
52
53    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
54    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
55    <!--[if lt IE 9]>
56        
56<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
56
57        
57<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
57
58    <![endif]-->
59
60    <!-- ga & ba script hoook -->
61    
61<script></script>
61
62</head>
63
64
65<!-- hack iOS CSS :active style -->
66<body ontouchstart="">
67
68    <!-- Navigation -->
69
70<nav class="navbar navbar-default navbar-custom navbar-fixed-top">
71
72    <div class="container-fluid">
73        <!-- Brand and toggle get grouped for better mobile display -->
74        <div class="navbar-header page-scroll">
75            <button type="button" class="navbar-toggle">
76                <span class="sr-only">Toggle navigation</span>
77                <span class="icon-bar"></span>
78                <span class="icon-bar"></span>
79                <span class="icon-bar"></span>
80            </button>
81            <a class="navbar-brand" href="/">Shi Hai's Blog</a>
82        </div>
83
84        <!-- Collect the nav links, forms, and other content for toggling -->
85        <div id="shihai_navbar">
86            <div class="navbar-collapse">
87                <ul class="nav navbar-nav navbar-right">
88                    <li>
89                        <a href="/">Home</a>
90                    </li>
91                    
92                    
93                    
94                    
95                    <li>
96                        <a href="/about/">About</a>
97                    </li>
98                    
99                    
100                    
101                    <li>
102                        <a href="/archive/">Archive</a>
103                    </li>
104                    
105                    
106                    
107                    
108                    
109                    
110                    
111                    
112                    
113                    
114                    
115                    
116                    
117                    
118                    
119                    
120                    
121                    
122                    
123                    
124                    
125                    
126                    
127                    
128                    
129                    
130                    
131                    
132                    
133                    
134                    
135                    
136                </ul>
137            </div>
138        </div>
139        <!-- /.navbar-collapse -->
140    </div>
141    <!-- /.container -->
142</nav>
143<script>
144    // Drop Bootstarp low-performance Navbar
145    // Use customize navbar with high-quality material design animation
146    // in high-perf jank-free CSS3 implementation
147    var $body   = document.body;
148    var $toggle = document.querySelector('.navbar-toggle');
149    var $navbar = document.querySelector('#shihai_navbar');
150    var $collapse = document.querySelector('.navbar-collapse');
151
152    var __ShihaiNav__ = {
153        close: function(){
154            $navbar.className = " ";
155            // wait until animation end.
156            setTimeout(function(){
157                // prevent frequently toggle
158                if($navbar.className.indexOf('in') < 0) {
159                    $collapse.style.height = "0px"
160                }
161            },400)
162        },
163        open: function(){
164            $collapse.style.height = "auto"
165            $navbar.className += " in";
166        }
167    }
168
169    // Bind Event
170    $toggle.addEventListener('click', function(e){
171        if ($navbar.className.indexOf('in') > 0) {
172            __ShihaiNav__.close()
173        }else{
174            __ShihaiNav__.open()
175        }
176    })
177
178    /**
179     * Since Fastclick is used to delegate 'touchstart' globally
180     * to hack 300ms delay in iOS by performing a fake 'click',
181     * Using 'e.stopPropagation' to stop 'touchstart' event from
182     * $toggle/$collapse will break global delegation.
183     *
184     * Instead, we use a 'e.target' filter to prevent handler
185     * added to document close the nav.
186     *
187     * Also, we use 'click' instead of 'touchstart' as compromise
188     */
189    document.addEventListener('click', function(e){
190        if(e.target == $toggle) return;
191        if(e.target.className == 'icon-bar') return;
192        __ShihaiNav__.close();
193    })
194</script>
194
195
196    <!-- Image to hack wechat -->
197<!-- <img src="/img/icon_wechat.png" width="0" height="0"> -->
198<!-- <img src="/img/home-bg-lake.jpeg" width="0" height="0"> -->
199
200<!-- Post Header -->
201
202
203
204<style type="text/css">
205    header.intro-header{
206        position: relative;
207        background-image: url('/img/home-bg-lake.jpeg');
208        background: ;
209    }
210
211    
212</style>
213
214<header class="intro-header" >
215
216    <div class="header-mask"></div>
217    
218    <div class="container">
219        <div class="row">
220            <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
221                <div class="post-heading">
222                    <div class="tags">
223                        
224                        <a class="tag" href="/archive/?tag=AI" title="AI">AI</a>
225                        
226                    </div>
227                    <h1>张小珺对话杨植麟|K2时代AI:走出缸中之脑,走向Agent自进化</h1>
228                    
229                    <h2 class="subheading"></h2>
230                    <span class="meta">2026年8月3日</span>
231                </div>
232            </div>
233        </div>
234    </div>
235</header>
236
237
238
239
240
241
242<!-- Post Content -->
243<article>
244    <div class="container">
245        <div class="row">
246
247    <!-- Post Container -->
248            <div class="
249                col-lg-8 col-lg-offset-2
250                col-md-10 col-md-offset-1
251                post-container">
252
253                <!-- Multi-Lingual -->
254                
255
256				<h1 id="k2aiagent">张小珺对话杨植麟|K2时代AI:走出缸中之脑,走向Agent自进化</h1>
257<blockquote>
258<p>原文来源:张小珺商业访谈录,访谈录制于Kimi K2刚刚发布阶段。访谈完整阐述月之暗面长期技术路线,诸多观点在后续K3版本落地实现。</p>
259</blockquote>
260<h2 id="section">一、访谈背景</h2>
261<p>本次是张小珺第二次深度专访月之暗面Moonshot创始人杨植麟。访谈核心围绕K2模型发布,系统阐述AI发展三段演进路径:走出缸中之脑 → 通用智能体Agent → AI自主进化。</p>
262<h2 id="section-1">二、核心隐喻:缸中之脑,现有大模型根本局限</h2>
263<p>杨植麟使用<strong>缸中之脑</strong>比喻传统纯文本大模型:模型仅在封闭空间内推理,缺少和外部世界交互渠道,所有思考都局限于内部推演,无法对接真实数字环境。</p>
264<p>行业技术范式正在切换:
265传统路线:<strong>预训练缩放 Pre-training Scaling</strong>,收益逐步见顶。
266新主流路线:<strong>测试时缩放 Test-time Scaling</strong>,分为两个方向:</p>
267<ol>
268<li>
268长思考强化学习:延长单次推理时长,提升模型深度思考能力;</li>
269<li>Agent智能体强化学习:赋予模型工具调用能力,打通外部环境,打破封闭状态。</li>
270</ol>
271<p>K2就是该路线的落地产品,依靠强大代码能力,为AI提供和外部系统交互的通道。</p>
272<h2 id="k2">三、K2模型定位与技术设计</h2>
273<ol>
274<li><strong>命名寓意</strong>:K2即乔戈里峰。杨植麟将AGI比作无尽雪山,模型迭代只是持续攀登的路标;</li>
275<li><strong>架构</strong>:万亿参数MoE混合专家架构,激活参数32B;</li>
276<li><strong>技术思路:Token效率优先</strong>
277<ul>
278<li>高质量文本数据增长缓慢,多模态无法替代文本逻辑推理;</li>
279<li>自研Muon优化器,提升数据利用效率;</li>
280<li>优先夯实逻辑、编码、长上下文基础能力,坚持文本作为底座核心;</li>
281</ul>
282</li>
283<li>网传训练成本仅为估算值,包含大量实验调优,没有统一精确数字。</li>
284</ol>
285<h2 id="section-2">四、技术路线差异化判断</h2>
286<p>单纯堆参数量、扩充预训练数据内卷模式边际效益越来越低。
287部分厂商全力堆长上下文、堆叠多模态,月之暗面选择优先投入深度推理与工具联动。</p>
288<blockquote>
289<p>核心观点:代码不只是编程工具,是AI和外部系统交互通用媒介,是摆脱“缸中之脑”的关键。</p>
290</blockquote>
291<p>榜单跑分只能代表静态能力,<strong>真实场景下Agent持续执行、纠错、复盘能力,才是通用智能关键指标</strong>。</p>
292<h2 id="agentai">五、Agent智能体:AI突破封闭环境核心路径</h2>
293<p>AI演进分为清晰三层路线:</p>
294<ol>
295<li><strong>第一阶段:走出缸中之脑(K2落地)</strong>
296具备代码、工具调用能力,AI从“只能思考”变成“可以行动”;</li>
297<li><strong>第二阶段:成熟通用智能体(K3重点方向)</strong>
298自主拆解目标、规划步骤、调用工具、执行、校验、自动纠错,脱离人类逐步骤指令;</li>
299<li><strong>第三阶段:AI自主进化(长期远景)</strong>
300智能体自主发现任务、识别自身缺陷、自动生成数据、持续自我迭代,趋近通用人工智能。</li>
301</ol>
302<h2 id="section-3">六、开源与商业化战略</h2>
303<ol>
304<li>长期倾向开源,推动社区共建,形成行业正向竞争,加速技术迭代与安全研究;</li>
305<li>不会全盘开源,开源、闭源方案并行,面向商业大客户保留专属闭源版本;</li>
306<li>长期格局预判:全球具备自研底座能力的基础大模型厂商数量有限,开源与闭源阵营会长期共存。</li>
307</ol>
308<h2 id="ai">七、全球AI格局与算力思考</h2>
309<ol>
310<li>中美技术路线存在差异,国内场景在办公、自动化、数据分析具备独特优势;</li>
311<li>反对无意义算力内卷,单纯堆叠硬件不可持续;依靠MoE架构、优化器、测试时缩放等算法创新提升算力利用率;</li>
312<li>底层技术坚持自研,不依赖开源方案微调,搭建预训练、RLHF、智能体工程化全栈团队。</li>
313</ol>
314<h2 id="section-4">八、产品思路</h2>
315<p>Kimi同时覆盖普通用户、开发者、企业客户。底层通用大模型与上层C端产品双线并行,底座能力持续向上赋能应用。产品迭代更多参考真实用户复杂任务反馈,而非单纯追求学术榜单成绩。</p>
316<h2 id="section-5">九、创业理念、安全与长期主义</h2>
317<ol>
318<li>模型迭代存在周期,坦然面对阶段性跑分压力、舆论争议,坚持3~5年长期技术路线;</li>
319<li>平衡AI发展与风险管控,不因为潜在风险停止技术探索,同时搭建分层安全对齐机制;</li>
320<li>终极目标不止提升模型跑分,打造具备自主探索、持续进化能力的通用AI。</li>
321</ol>
322<h2 id="section-6">十、核心总结</h2>
323<ol>
324<li>传统大模型存在“缸中之脑”封闭缺陷,<strong>测试时缩放Test-time Scaling</strong>是下一代核心范式;</li>
325<li>代码作为媒介打通AI与外部世界,K2完成基础能力铺垫,相关Agent路线预判在K3落地;</li>
326<li>AI进化三步走:打破封闭环境 → 通用自主智能体 → AI自进化;</li>
327<li>采取开源+闭源并行策略,依靠底层算法创新摆脱算力内卷;</li>
328<li>长期目标构建可自主规划、持续迭代的通用人工智能,兼顾商业化、开源生态与AI安全。</li>
329</ol>
330
331
332                <hr style="visibility: hidden;">
333                <ul class="pager">
334                    
335                    <li class="previous">
336                        <a href="/books/2026/07/31/loop-engineering/" data-toggle="tooltip" data-placement="top" title="Loop Engineering:从喂 Prompt 到设计让 Agent 自己干活的系统">
337                        Previous<br>
338                        <span>Loop Engineering:从喂 Prompt 到设计让 Agent 自己干活的系统</span>
339                        </a>
340                    </li>
341                    
342                    
343                </ul>
344                <hr style="visibility: hidden;">
345
346                
347                <!-- disqus 评论框 start -->
348                <div class="comment">
349                    <div id="disqus_thread" class="disqus-thread"></div>
350                </div>
351                <!-- disqus 评论框 end -->
352                
353
354                
355            </div>  
356
357    <!-- Side Catalog Container -->
358        
359            <div class="
360                col-lg-2 col-lg-offset-0
361                visible-lg-block
362                sidebar-container
363                catalog-container">
364                <div class="side-catalog">
365                    <hr class="hidden-sm hidden-xs">
366                    <h5>
367                        <a class="catalog-toggle" href="#">CATALOG</a>
368                    </h5>
369                    <ul class="catalog-body"></ul>
370                </div>
371            </div>
372        
373
374    <!-- Sidebar Container -->
375            <div class="
376                col-lg-8 col-lg-offset-2
377                col-md-10 col-md-offset-1
378                sidebar-container">
379
380                <!-- Featured Tags -->
381                
382
383
384<section>
385    
386        <hr class="hidden-sm hidden-xs">
387    
388    <h5><a href="/archive/">FEATURED TAGS</a></h5>
389    <div class="tags">
390        
391        
392        
393        
394        
395        
396                <a data-sort="0105" 
397                    href="/archive/?tag=openstack-infra"
398                    title="openstack-infra"
399                    rel="6">openstack-infra</a>
400        
401                <a data-sort="0086" 
402                    href="/archive/?tag=books"
403                    title="books"
404                    rel="25">books</a>
405        
406                <a data-sort="0097" 
407                    href="/archive/?tag=python"
408                    title="python"
409                    rel="14">python</a>
410        
411                <a data-sort="0097" 
412                    href="/archive/?tag=software+engineering"
413                    title="software engineering"
414                    rel="14">software engineering</a>
415        
416                <a data-sort="0097" 
417                    href="/archive/?tag=test"
418                    title="test"
419                    rel="14">test</a>
420        
421                <a data-sort="0105" 
422                    href="/archive/?tag=IaC"
423                    title="IaC"
424                    rel="6">IaC</a>
425        
426                <a data-sort="0105" 
427                    href="/archive/?tag=java"
428                    title="java"
429                    rel="6">java</a>
430        
431                <a data-sort="0106" 
432                    href="/archive/?tag=AI"
433                    title="AI"
434                    rel="5">AI</a>
435        
436                <a data-sort="0106" 
437                    href="/archive/?tag=golang"
438                    title="golang"
439                    rel="5">golang</a>
440        
441                <a data-sort="0106" 
442                    href="/archive/?tag=openstack"
443                    title="openstack"
444                    rel="5">openstack</a>
445        
446                <a data-sort="0107" 
447                    href="/archive/?tag=DevOps"
448                    title="DevOps"
449                    rel="4">DevOps</a>
450        
451                <a data-sort="0107" 
452                    href="/archive/?tag=cpython"
453                    title="cpython"
454                    rel="4">cpython</a>
455        
456                <a data-sort="0108" 
457                    href="/archive/?tag=spring"
458                    title="spring"
459                    rel="3">spring</a>
460        
461                <a data-sort="0109" 
462                    href="/archive/?tag=Linux"
463                    title="Linux"
464                    rel="2">Linux</a>
465        
466                <a data-sort="0109" 
467                    href="/archive/?tag=db"
468                    title="db"
469                    rel="2">db</a>
470        
471                <a data-sort="0109" 
472                    href="/archive/?tag=dsl"
473                    title="dsl"
474                    rel="2">dsl</a>
475        
476                <a data-sort="0109" 
477                    href="/archive/?tag=gcc"
478                    title="gcc"
479                    rel="2">gcc</a>
480        
481                <a data-sort="0109" 
482                    href="/archive/?tag=health"
483                    title="health"
484                    rel="2">health</a>
485        
486                <a data-sort="0109" 
487                    href="/archive/?tag=k8s"
488                    title="k8s"
489                    rel="2">k8s</a>
490        
491                <a data-sort="0109" 
492                    href="/archive/?tag=vm"
493                    title="vm"
494                    rel="2">vm</a>
495    </div>
496</section>
497
498
499
500                <!-- Friends Blog -->
501                
502<hr>
503<h5>FRIENDS</h5>
504<ul class="list-inline">
505  
506  <li><a href="http://xionchen.github.io">陈翔的博客</a></li>
507  
508</ul>
509
510            </div>
511        </div>
512    </div>
513</article>
514
515<!-- add support for mathjax by voleking-->
516
517
518
519
520
521
522<!-- disqus 公共JS代码 start (一个网页只需插入一次) -->
523<script type="text/javascript">
524    /* * * CONFIGURATION VARIABLES * * */
525    var disqus_shortname = "shihai1991-github-io-blog";
526    var disqus_identifier = "/ai/2026/08/03/张小珺对话杨植麟";
527    var disqus_url = "https://shihai1991.github.io/ai/2026/08/03/%E5%BC%A0%E5%B0%8F%E7%8F%BA%E5%AF%B9%E8%AF%9D%E6%9D%A8%E6%A4%8D%E9%BA%9F/";
528
529    (function() {
530        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
531        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
532        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
533    })();
534</script>
534
535<!-- disqus 公共JS代码 end -->
536
537
538
539
540
541
542    <!-- Footer -->
543<footer>
544    <div class="container">
545        <div class="row">
546            <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
547                <!-- SNS Link -->
548                
549
550
551<ul class="list-inline text-center">
552
553
554  
555  
556  <li>
557    <a href="https://twitter.com/hai_shi1991">
558      <span class="fa-stack fa-lg">
559        <i class="fa fa-circle fa-stack-2x"></i>
560        <i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
561      </span>
562    </a>
563  </li>
564  
565  
566  <li>
567    <a target="_blank" href="https://www.zhihu.com/people/shihai1991">
568      <span class="fa-stack fa-lg">
569        <i class="fa fa-circle fa-stack-2x"></i>
570        <i class="fa  fa-stack-1x fa-inverse">知</i>
571      </span>
572    </a>
573  </li>
574  
575  
576  <li>
577    <a target="_blank" href="http://weibo.com/hai_shi_">
578      <span class="fa-stack fa-lg">
579        <i class="fa fa-circle fa-stack-2x"></i>
580        <i class="fa fa-weibo fa-stack-1x fa-inverse"></i>
581      </span>
582    </a>
583  </li>
584  
585  
586  
587  <li>
588    <a target="_blank" href="https://github.com/shihai1991">
589      <span class="fa-stack fa-lg">
590        <i class="fa fa-circle fa-stack-2x"></i>
591        <i class="fa fa-github fa-stack-1x fa-inverse"></i>
592      </span>
593    </a>
594  </li>
595  
596  
597</ul>
598
599                <p class="copyright text-muted">
600                    Copyright &copy; Shi Hai's Blog 2026
601                    <br>
602                    Powered by <a href="http://shihai1991.github.io">ShiHai's Blog</a> |
603                    <iframe
604                        style="margin-left: 2px; margin-bottom:-5px;"
605                        frameborder="0" scrolling="0" width="100px" height="20px"
606                        src="https://ghbtns.com/github-btn.html?user=huxpro&repo=shihai1991.github.io&type=star&count=true" >
607                    </iframe>
608                </p>
609            </div>
610        </div>
611    </div>
612</footer>
613
614<!-- jQuery -->
615<script src="/js/jquery.min.js "></script>
615
616
617<!-- Bootstrap Core JavaScript -->
618<!-- Currently, only navbar scroll-down effect at desktop still depends on this -->
619<script src="/js/bootstrap.min.js "></script>
619
620
621<!-- Custom Theme JavaScript -->
622<script src="/js/shihai-blog.min.js "></script>
622
623
624<!-- Service Worker -->
625
626<script src="/js/snackbar.js "></script>
vendor: 1 bytes, line 626
626
627<script src="/js/sw-registration.js "></script>
627
628
629
630<!-- async load function -->
631<script>
632    function async(u, c) {
633      var d = document, t = 'script',
634          o = d.createElement(t),
635          s = d.getElementsByTagName(t)[0];
636      o.src = u;
637      if (c) { o.addEventListener('load', function (e) { c(null, e); }, false); }
638      s.parentNode.insertBefore(o, s);
639    }
640</script>
640
641
642<!--
643     Because of the native support for backtick-style fenced code blocks
644     right within the Markdown is landed in Github Pages,
645     From V1.6, There is no need for Highlight.js,
646     so Huxblog drops it officially.
647
648     - https://github.com/blog/2100-github-pages-now-faster-and-simpler-with-jekyll-3-0
649     - https://help.github.com/articles/creating-and-highlighting-code-blocks/
650     - https://github.com/jneen/rouge/wiki/list-of-supported-languages-and-lexers
651-->
652<!--
653    
653<script>
654        async("http://cdn.bootcss.com/highlight.js/8.6/highlight.min.js", function(){
655            hljs.initHighlightingOnLoad();
656        })
657    </script>
657
658    <link href="http://cdn.bootcss.com/highlight.js/8.6/styles/github.min.css" rel="stylesheet">
659-->
660
661
662
663
664
665
666
667<!-- Baidu Tongji -->
668
669
670
671<!-- Side Catalog -->
672
673<script type="text/javascript">
674    function generateCatalog (selector) {
675
676        // interop with multilangual 
677        if ('' == 'true') {
678            _containerSelector = 'div.post-container.active'
679        } else {
680            _containerSelector = 'div.post-container'
681        }
682
683        // init
684        var P = $(_containerSelector),a,n,t,l,i,c;
685        a = P.find('h1,h2,h3,h4,h5,h6');
686
687        // clean
688        $(selector).html('')
689
690        // appending
691        a.each(function () {
692            n = $(this).prop('tagName').toLowerCase();
693            i = "#"+$(this).prop('id');
694            t = $(this).text();
695            c = $('<a href="'+i+'" rel="nofollow">'+t+'</a>');
696            l = $('<li class="'+n+'_nav"></li>').append(c);
697            $(selector).append(l);
698        });
699        return true;
700    }
701
702    generateCatalog(".catalog-body");
703
704    // toggle side catalog
705    $(".catalog-toggle").click((function(e){
706        e.preventDefault();
707        $('.side-catalog').toggleClass("fold")
708    }))
709
710    /*
711     * Doc: https://github.com/davist11/jQuery-One-Page-Nav
712     * Fork by Hux to support padding
713     */
714    async("/js/jquery.nav.js", function () {
715        $('.catalog-body').onePageNav({
716            currentClass: "active",
717            changeHash: !1,
718            easing: "swing",
719            filter: "",
720            scrollSpeed: 700,
721            scrollOffset: 0,
722            scrollThreshold: .2,
723            begin: null,
724            end: null,
725            scrollChange: null,
726            padding: 80
727        });
728    });
729</script>
729
730
731
732
733<!-- Multi-Lingual -->
734
735
736
737
738<!-- Image to hack wechat -->
739<img src="/img/icon_wechat.png" width="0" height="0" />
740<!-- Migrate from head to bottom, no longer block render and still work -->
741
742</body>
743
744</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.