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 © 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.