1<!DOCTYPE html><html lang="zh-CN" data-theme="dark"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>SpatialClawï¼ç©ºé´æ¨ç伿¢¦è§Agentåï¼ | Adam8enã®8log</title><meta name="author" content="Adam Ben"><meta name="copyright" content="Adam Ben"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#0d0d0d"><meta name="description" content="ãSpatialClawï¼Rethinking Action Interface for Agentic Spatial Reasoningã论æç²¾è¯»"> 2<meta property="og:type" content="article"> 3<meta property="og:title" content="SpatialClawï¼ç©ºé´æ¨ç伿¢¦è§Agentåï¼"> 4<meta property="og:url" content="https://adamben.top/posts/4e2d98ec6aca/index.html"> 5<meta property="og:site_name" content="Adam8enã®8log"> 6<meta property="og:description" content="ãSpatialClawï¼Rethinking Action Interface for Agentic Spatial Reasoningã论æç²¾è¯»"> 7<meta property="og:locale" content="zh_CN"> 8<meta property="og:image" content="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909193808303.png?x-oss-process=style/blog"> 9<meta property="article:published_time" content="2026-09-09T12:01:10.000Z"> 10<meta property="article:modified_time" content="2026-09-09T12:01:10.000Z"> 11<meta property="article:author" content="Adam Ben"> 12<meta property="article:tag" content="Spatial Intelligence"> 13<meta property="article:tag" content="Agent"> 14<meta property="article:tag" content="Action interface"> 15<meta name="twitter:card" content="summary"> 16<meta name="twitter:image" content="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909193808303.png?x-oss-process=style/blog"><link rel="shortcut icon" href="/img/favicon.ico"><link rel="canonical" href="https://adamben.top/posts/4e2d98ec6aca/index.html"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/font-awesome/6.4.2/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.min.css" media="print" onload="this.media='all'">
16<script>const GLOBAL_CONFIG = { 17 root: '/', 18 algolia: undefined, 19 localSearch: {"path":"/search.xml","preload":false,"top_n_per_article":1,"unescape":false,"languages":{"hits_empty":"æ¾ä¸å°æ¨æ¥è¯¢çå 容ï¼${query}","hits_stats":"å ±æ¾å° ${hits} ç¯æç« "}}, 20 translate: undefined, 21 noticeOutdate: undefined, 22 highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":200}, 23 copy: { 24 success: 'å¤å¶æå', 25 error: 'å¤å¶é误', 26 noSupport: 'æµè§å¨ä¸æ¯æ' 27 }, 28 relativeDate: { 29 homepage: false, 30 post: false 31 }, 32 runtime: '天', 33 dateSuffix: { 34 just: 'åå', 35 min: 'åéå', 36 hour: 'å°æ¶å', 37 day: '天å', 38 month: '个æå' 39 }, 40 copyright: undefined, 41 lightbox: 'fancybox', 42 Snackbar: {"chs_to_cht":"ä½ å·²åæ¢ä¸ºç¹ä½","cht_to_chs":"ä½ å·²åæ¢ä¸ºç®ä½","day_to_night":"ä½ å·²åæ¢ä¸ºæ·±è²æ¨¡å¼","night_to_day":"ä½ å·²åæ¢ä¸ºæµ è²æ¨¡å¼","bgLight":"#49b1f5","bgDark":"#1f1f1f","position":"bottom-left"}, 43 source: { 44 justifiedGallery: { 45 js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js', 46 css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css' 47 } 48 }, 49 isPhotoFigcaption: false, 50 islazyload: true, 51 isAnchor: false, 52 percent: { 53 toc: true, 54 rightside: false, 55 }, 56 autoDarkmode: false 57}</script>
57<script id="config-diff">var GLOBAL_CONFIG_SITE = { 58 title: 'SpatialClawï¼ç©ºé´æ¨ç伿¢¦è§Agentåï¼', 59 isPost: true, 60 isHome: false, 61 isHighlightShrink: false, 62 isToc: true, 63 postUpdate: '2026-09-09 20:01:10' 64}</script>
64<noscript><style type="text/css"> 65 #nav { 66 opacity: 1 67 } 68 .justified-gallery img { 69 opacity: 1 70 } 71 72 #recent-posts time, 73 #post-meta time { 74 display: inline !important 75 } 76</style></noscript>
76<script>(win=>{ 77 win.saveToLocal = { 78 set: function setWithExpiry(key, value, ttl) { 79 if (ttl === 0) return 80 const now = new Date() 81 const expiryDay = ttl * 86400000 82 const item = { 83 value: value, 84 expiry: now.getTime() + expiryDay, 85 } 86 localStorage.setItem(key, JSON.stringify(item)) 87 }, 88 89 get: function getWithExpiry(key) { 90 const itemStr = localStorage.getItem(key) 91 92 if (!itemStr) { 93 return undefined 94 } 95 const item = JSON.parse(itemStr) 96 const now = new Date() 97 98 if (now.getTime() > item.expiry) { 99 localStorage.removeItem(key) 100 return undefined 101 } 102 return item.value 103 } 104 } 105 106 win.getScript = url => new Promise((resolve, reject) => { 107 const script = document.createElement('script') 108 script.src = url 109 script.async = true 110 script.onerror = reject 111 script.onload = script.onreadystatechange = function() { 112 const loadState = this.readyState 113 if (loadState && loadState !== 'loaded' && loadState !== 'complete') return 114 script.onload = script.onreadystatechange = null 115 resolve() 116 } 117 document.head.appendChild(script) 118 }) 119 120 win.getCSS = (url,id = false) => new Promise((resolve, reject) => { 121 const link = document.createElement('link') 122 link.rel = 'stylesheet' 123 link.href = url 124 if (id) link.id = id 125 link.onerror = reject 126 link.onload = link.onreadystatechange = function() { 127 const loadState = this.readyState 128 if (loadState && loadState !== 'loaded' && loadState !== 'complete') return 129 link.onload = link.onreadystatechange = null 130 resolve() 131 } 132 document.head.appendChild(link) 133 }) 134 135 win.activateDarkMode = function () { 136 document.documentElement.setAttribute('data-theme', 'dark') 137 if (document.querySelector('meta[name="theme-color"]') !== null) { 138 document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d') 139 } 140 } 141 win.activateLightMode = function () { 142 document.documentElement.setAttribute('data-theme', 'light') 143 if (document.querySelector('meta[name="theme-color"]') !== null) { 144 document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff') 145 } 146 } 147 const t = saveToLocal.get('theme') 148 149 if (t === 'dark') activateDarkMode() 150 else if (t === 'light') activateLightMode() 151 152 const asideStatus = saveToLocal.get('aside-status') 153 if (asideStatus !== undefined) { 154 if (asideStatus === 'hide') { 155 document.documentElement.classList.add('hide-aside') 156 } else { 157 document.documentElement.classList.remove('hide-aside') 158 } 159 } 160 161 const detectApple = () => { 162 if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){ 163 document.documentElement.classList.add('apple') 164 } 165 } 166 detectApple() 167 })(window)</script>
167<link rel="stylesheet" href="/css/custom.css"><link rel="stylesheet" href="https://npm.elemecdn.com/lxgw-wenkai-screen-webfont/style.css" media="print" onload="this.media='all'"><svg aria-hidden="true" style="position:absolute; overflow:hidden; width:0; height:0"><symbol id="icon-sun" viewBox="0 0 1024 1024"><path d="M960 512l-128 128v192h-192l-128 128-128-128H192v-192l-128-128 128-128V192h192l128-128 128 128h192v192z" fill="#FFD878" p-id="8420"></path><path d="M736 512a224 224 0 1 0-448 0 224 224 0 1 0 448 0z" fill="#FFE4A9" p-id="8421"></path><path d="M512 109.248L626.752 224H800v173.248L914.752 512 800 626.752V800h-173.248L512 914.752 397.248 800H224v-173.248L109.248 512 224 397.248V224h173.248L512 109.248M512 64l-128 128H192v192l-128 128 128 128v192h192l128 128 128-128h192v-192l128-128-128-128V192h-192l-128-128z" fill="#4D5152" p-id="8422"></path><path d="M512 320c105.888 0 192 86.112 192 192s-86.112 192-192 192-192-86.112-192-192 86.112-192 192-192m0-32a224 224 0 1 0 0 448 224 224 0 0 0 0-448z" fill="#4D5152" p-id="8423"></path></symbol><symbol id="icon-moon" viewBox="0 0 1024 1024"><path d="M611.370667 167.082667a445.013333 445.013333 0 0 1-38.4 161.834666 477.824 477.824 0 0 1-244.736 244.394667 445.141333 445.141333 0 0 1-161.109334 38.058667 85.077333 85.077333 0 0 0-65.066666 135.722666A462.08 462.08 0 1 0 747.093333 102.058667a85.077333 85.077333 0 0 0-135.722666 65.024z" fill="#FFB531" p-id="11345"></path><path d="M329.728 274.133333l35.157333-35.157333a21.333333 21.333333 0 1 0-30.165333-30.165333l-35.157333 35.157333-35.114667-35.157333a21.333333 21.333333 0 0 0-30.165333 30.165333l35.114666 35.157333-35.114666 35.157334a21.333333 21.333333 0 1 0 30.165333 30.165333l35.114667-35.157333 35.157333 35.157333a21.333333 21.333333 0 1 0 30.165333-30.165333z" fill="#030835" p-id="11346"></path></symbol></svg><!-- hexo injector head_end start --><link rel="stylesheet" href="https://npm.elemecdn.com/hexo-butterfly-tag-plugins-plus@latest/lib/assets/font-awesome-animation.min.css" media="defer" onload="this.media='all'"><link rel="stylesheet" href="https://npm.elemecdn.com/[email protected]/lib/tag_plugins.css" media="defer" onload="this.media='all'">
167<script src="https://npm.elemecdn.com/hexo-butterfly-tag-plugins-plus@latest/lib/assets/carousel-touch.js"></script>
167<!-- hexo injector head_end end --><meta name="generator" content="Hexo 6.3.0"><link rel="alternate" href="/atom.xml" title="Adam8enã®8log" type="application/atom+xml"> 168</head><body><div id="loading-box"><div class="loading-left-bg"></div><div class="loading-right-bg"></div><div class="spinner-box"><div class="configure-border-1"><div class="configure-core"></div></div><div class="configure-border-2"><div class="configure-core"></div></div><div class="loading-word">å è½½ä¸...</div></div></div>
168<script>(()=>{ 169 const $loadingBox = document.getElementById('loading-box') 170 const $body = document.body 171 const preloader = { 172 endLoading: () => { 173 $body.style.overflow = '' 174 $loadingBox.classList.add('loaded') 175 }, 176 initLoading: () => { 177 $body.style.overflow = 'hidden' 178 $loadingBox.classList.remove('loaded') 179 } 180 } 181 182 preloader.initLoading() 183 window.addEventListener('load',() => { preloader.endLoading() }) 184 185 if (false) { 186 document.addEventListener('pjax:send', () => { preloader.initLoading() }) 187 document.addEventListener('pjax:complete', () => { preloader.endLoading() }) 188 } 189})()</script>
189<div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="/img/avatar.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">æç« </div><div class="length-num">75</div></a><a href="/tags/"><div class="headline">æ ç¾</div><div class="length-num">102</div></a><a href="/categories/"><div class="headline">åç±»</div><div class="length-num">16</div></a></div><hr class="custom-hr"/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fa fa-graduation-cap"></i><span> åæ</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/categories/"><i class="fa-fw fa fa-archive"></i><span> åç±»</span></a></li><li><a class="site-page child" href="/tags/"><i class="fa-fw fa fa-tags"></i><span> æ ç¾</span></a></li><li><a class="site-page child" href="/archives/"><i class="fa-fw fa fa-folder-open"></i><span> 彿¡£</span></a></li></ul></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> çæ´»</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/shuoshuo/"><i class="fa-fw far fa-comment"></i><span> å享</span></a></li><li><a class="site-page child" href="/photos/"><i class="fa-fw fa fa-camera-retro"></i><span> ç¸å</span></a></li><li><a class="site-page child" href="/music/"><i class="fa-fw fa fa-music"></i><span> é³ä¹</span></a></li><li><a class="site-page child" href="/books/"><i class="fa-fw fa fa-book"></i><span> 书ç±</span></a></li><li><a class="site-page child" href="/games/"><i class="fa-fw fas fa-gamepad"></i><span> 游æ</span></a></li><li><a class="site-page child" href="/bangumis/"><i class="fa-fw fas fa-tv"></i><span> 追çª</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fa fa-link"></i><span> åé¾</span></a></div><div class="menus_item"><a class="site-page" href="/comment/"><i class="fa-fw fa fa-paper-plane"></i><span> çè¨æ¿</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> å
³äºç¬è
</span></a></div></div></div></div><div class="post" id="body-wrap"><header class="post-bg" id="page-header" style="background-image: url('https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909193808303.png?x-oss-process=style/blog')"><nav id="nav"><span id="blog-info"><a href="/" title="Adam8enã®8log"><span class="site-name">Adam8enã®8log</span></a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search" href="javascript:void(0);"><i class="fas fa-search fa-fw"></i><span> æç´¢</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fa fa-graduation-cap"></i><span> åæ</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/categories/"><i class="fa-fw fa fa-archive"></i><span> åç±»</span></a></li><li><a class="site-page child" href="/tags/"><i class="fa-fw fa fa-tags"></i><span> æ ç¾</span></a></li><li><a class="site-page child" href="/archives/"><i class="fa-fw fa fa-folder-open"></i><span> 彿¡£</span></a></li></ul></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> çæ´»</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/shuoshuo/"><i class="fa-fw far fa-comment"></i><span>
189 å享</span></a></li><li><a class="site-page child" href="/photos/"><i class="fa-fw fa fa-camera-retro"></i><span> ç¸å</span></a></li><li><a class="site-page child" href="/music/"><i class="fa-fw fa fa-music"></i><span> é³ä¹</span></a></li><li><a class="site-page child" href="/books/"><i class="fa-fw fa fa-book"></i><span> 书ç±</span></a></li><li><a class="site-page child" href="/games/"><i class="fa-fw fas fa-gamepad"></i><span> 游æ</span></a></li><li><a class="site-page child" href="/bangumis/"><i class="fa-fw fas fa-tv"></i><span> 追çª</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fa fa-link"></i><span> åé¾</span></a></div><div class="menus_item"><a class="site-page" href="/comment/"><i class="fa-fw fa fa-paper-plane"></i><span> çè¨æ¿</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> å ³äºç¬è </span></a></div></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="post-info"><h1 class="post-title">SpatialClawï¼ç©ºé´æ¨ç伿¢¦è§Agentåï¼</h1><div id="post-meta"><div class="meta-firstline"><span class="post-meta-date"><i class="far fa-calendar-alt fa-fw post-meta-icon"></i><span class="post-meta-label">å表äº</span><time class="post-meta-date-created" datetime="2026-09-09T12:01:10.000Z" title="åè¡¨äº 2026-09-09 20:01:10">2026-09-09</time><span class="post-meta-separator">|</span><i class="fas fa-history fa-fw post-meta-icon"></i><span class="post-meta-label">æ´æ°äº</span><time class="post-meta-date-updated" datetime="2026-09-09T12:01:10.000Z" title="æ´æ°äº 2026-09-09 20:01:10">2026-09-09</time></span><span class="post-meta-categories"><span class="post-meta-separator">|</span><i class="fas fa-inbox fa-fw post-meta-icon"></i><a class="post-meta-categories" href="/categories/Spatial-Intelligence/">Spatial-Intelligence</a></span></div><div class="meta-secondline"><span class="post-meta-separator">|</span><span class="post-meta-wordcount"><i class="far fa-file-word fa-fw post-meta-icon"></i><span class="post-meta-label">åæ°æ»è®¡:</span><span class="word-count">3.9k</span><span class="post-meta-separator">|</span><i class="far fa-clock fa-fw post-meta-icon"></i><span class="post-meta-label">é 读æ¶é¿:</span><span>12åé</span></span><span class="post-meta-separator">|</span><span class="post-meta-pv-cv" id="" data-flag-title="SpatialClawï¼ç©ºé´æ¨ç伿¢¦è§Agentåï¼"><i class="far fa-eye fa-fw post-meta-icon"></i><span class="post-meta-label">é 读é:</span><span id="busuanzi_value_page_pv"><i class="fa-solid fa-spinner fa-spin"></i></span></span></div></div></div></header><main class="layout" id="content-inner"><div id="post"><div class="top-img gist" style="background-image: url(https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909193808303.png?x-oss-process=style/blog)"></div><article class="post-content" id="article-container"><span class='p center logo large'>SpatialClaw</span> 190<span class='p center small'>ç©ºé´æ¨ç伿¢¦è§Agentåï¼</span> 191<p>æ¬ææ´çäºä¸ªäººå¯¹äº[<a target="_blank" rel="noopener" href="https://arxiv.org/abs/2606.13673">2606.13673] SpatialClaw: Rethinking Action Interface for Agentic Spatial Reasoning</a>çä¸äºè§è§£ä¸æèã论æä»£ç å°åï¼</p> 192<p><a target="_blank" rel="noopener" href="https://github.com/NVlabs/SpatialClaw"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/SpatialClaw.svg" alt="NVlabs/SpatialClaw - GitHub" /></a></p> 193<p>ç»å¿ç读è å¯è½åç°äºï¼è®ºæç坿 é¢ä¸æ¯å«âéæ°æèæºè½ä½ç©ºé´æ¨ççå¨ä½æ¥å£âä¹ï¼</p> 194<p>没éï¼âç©ºé´æ¨ç伿¢¦è§Agentåï¼âæ¯ç¬è å³å ´åæ¥çï¼å¿å¿ã</p> 195<p>é£ä¹åºè¯å°è¯´ï¼æä»¬ç´æ¥è¿å ¥æ£é¢ã</p> 196<h2 id="æ¹æ³è®º"><a class="markdownIt-Anchor" href="#æ¹æ³è®º"></a> æ¹æ³è®º</h2> 197<h3 id="èæ¯"><a class="markdownIt-Anchor" href="#èæ¯"></a> èæ¯</h3> 198<p>
198ä½è°Spatial Reasoningï¼</p> 199<blockquote> 200<p><em>Spatial reasoning, the ability to determine where objects are, how they relate, and how they move in 3D, remains a fundamental challenge for vision-language models (VLMs). Tool-augmented agents attempt to address this by augmenting VLMs with specialist perception modules, yet their effectiveness is bounded by the <strong>action interface</strong> through which those tools are invoked.</em></p> 201</blockquote> 202<p>以ä¸èéèªè®ºææè¦ãç®åç说ï¼Spatial Reasoningçå®ä¹æ¯ï¼ç©ä½å¨åªéï¼ä»ä»¬ä¹é´æä»ä¹å ³èï¼ç©ä½å¨3D空é´å 忝æä¹ç§»å¨çã</p> 203<p><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909161343701.png?x-oss-process=style/blog" alt="image-20260909161343701" /></p> 204<p>ä¸è¨ä»¥è½ä¹ï¼è®ºææåºäºä¸å¥ç§°ä¹ä¸ºSpatialClawçæ¹æ³<psw>æ¬è´¨æ¯agent harness</psw><psw>ç¬è é«åº¦æçè¿æ¯å¨è¹OpenClawççç¹</psw>ï¼å¹¶å£°ç§°å®å¨å ±20个Spatial Reasoning benchmarkä¸åå¾äºå¹³å59.9%çAccï¼é«åºæè¿çå ¶ä»Spatial Agent 11.2 pointã表ç°å¦ä¸å¾æç¤ºã</p> 205<h3 id="æ ¸å¿è®¾è®¡"><a class="markdownIt-Anchor" href="#æ ¸å¿è®¾è®¡"></a> æ ¸å¿è®¾è®¡</h3> 206<p>论æååºäºä¸ç§è§£å³ç©ºé´æ¨ççæ¨¡å¼ï¼</p> 207<ul> 208<li>single-pass code executionï¼åæ¬¡ä»£ç æ§è¡</li> 209<li>structured tool-call interfaceï¼å¤æ¥ agent loopï¼æ¯æ¥éè¿åºå®ç JSON schema è°ç¨ä¸ä¸ªé¢å®ä¹ toolã常è§çReAct-style agent</li> 210<li>
210SpatialClawï¼æåºä¸ä¸ªæ°çaction interfaceãç»´æ¤ä¸ä¸ªæä¹ çPython Kernelï¼æ¯æ¥çæä»»æ Python cellä½ä¸ºå¨ä½æ§è¡ï¼å¤ç¨å·²æåé</li> 211</ul> 212<p>æç»çnoveltyå¨äºï¼ç»´æ¤ä¸ä¸ªæä¹ çPython Kernelï¼æ¯æ¥çæä»»æ Python cellï¼å¹¶å¤ç¨å·²æåéãæ¯single-pass code executionå¤åºäºloopï¼æ¯å¸¸è§çReActæ¶æä¸structured tool-call interfaceæ´ç´æ¥ï¼Python cellè¿ä¸ªinterfaceä¹è®¸å¯¹agentæ´å好ã</p> 213<p>éè¯ä¸ä¸ï¼å°±æ¯æ¿agentçé²ååEmbodied intelligence/Spatial intelligenceçæ´»ã</p> 214<h3 id="æ°æ®æµ"><a class="markdownIt-Anchor" href="#æ°æ®æµ"></a> æ°æ®æµ</h3> 215<img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/SpatialClawWorkflow.svg" alt="SpatialClawWorkflow" style="zoom: 67%;" /> 216<p>å¦ä¸å¾æç¤ºï¼è¿æ¯è®ºæä»£ç ä¸å®é çæ°æ®æµãbenchmark sampleé¦å ç±<code>run.py</code>å¹¶åéæ ·ï¼ç¶å交ç±<code>Workflow.arun()</code>彿°å ·ä½å¤çãé»è²é¨åæ¯ç±LangGraphå®ä¹çAgentStateç¶ææµï¼å ¶ä¸èè²çèç¹æ¯agent loopä¸ä¼å夿§è¡çèç¹ãæåAgentç»æå¾ªç¯è¿åä¸ä¸ªfinal answerè¿è¡evalã</p> 217<p>æ¥ä¸æ¥æå°è¯¦ç»æè§£æ¯ä¸ä¸ªèç¹çå®é æ§è¡é»è¾ã</p> 218<h4 id="agent-state-init_node"><a class="markdownIt-Anchor" href="#agent-state-init_node"></a> agent state: init_node</h4> 219<blockquote> 220<ul> 221<li>å¯ç¨æå¤ç¨ä¸ä¸ªKernel</li> 222<li>éè¿cloudpickelä¸´æ¶æä»¶æ³¨å ¥æ ·æ¬å¯¹è±¡</li> 223<li>æå»ºåå§message</li> 224<li>è®°å½åéæ³¨å表</li> 225<li>åå§åæ¥å¿</li> 226</ul> 227</blockquote> 228<p>é¦å æ¯initèç¹ï¼å®ç主è¦ä½ç¨æ¯å¯å¨æè å¤ç¨ä¸ä¸ªKernelï¼æ³¨å ¥æ ·æ¬å¯¹è±¡ï¼ååå§åmessageã</p> 229<p>è¿ä¸ªæ ·æ¬å¯¹è±¡å¦ä½çè§£ï¼å°±æ¯å°å¾çåä¸äºå·²ç»åå¥½çæ¹æ³æ³¨å ¥è¿Kernelï¼è¿æ ·Agentå°±è½å¨Kerneléä»¥å¯¹è±¡ä¸ºç®æ è°ç¨è¿äºæ¹æ³å¤çæ°æ®ã</p> 230<p>messageå为system messageåhuman messageï¼åè ç¨æ¥æé ç³»ç»promptï¼åè æé ç¨æ·æä»¤ã餿¤ä¹å¤ï¼åç»è¿ä¼è®°å½åéæ³¨å表ååå§åæ¥å¿ã注ååéæ¯ä¸ºäºä¸è®©æ¨¡åå 为ä¸ä¸æè®°éåéçååï¼å ·ä½éè¿åç»feedbackèç¹ç variable diffå®ç°ã</p> 231<h4 id="agent-state-plan_node"><a class="markdownIt-Anchor" href="#agent-state-plan_node"></a> agent state: plan_node*</h4> 232<blockquote> 233<ul> 234<li>ä¸çå¾çï¼text-onlyï¼é²æ¢ççæ¡</li> 235<li>æå»º<strong>ç¬ç«</strong>çplanning session messages</li> 236<li>æ³¨å ¥plan</li> 237<li><em>æåchecklist items</em></li> 238</ul> 239</blockquote> 240<p>该èç¹æ¯å¯éçã</p> 241<p>planèç¹ä¸»è¦ä½ç¨æ¯è°ç¨ LLM çææ§è¡è®¡åï¼å¹¶æè®¡ååè¿æ¸¡æç¤ºç¨ä¸æ¡human messageçå½¢å¼å å ¥ Agent çæ¶æ¯åå²ã</p> 242<p>è¿éæå 个ç»èï¼ç¬¬ä¸ï¼LLMå¨è¿è¡planæ¶åªè½è¯»åææ¬ä¿¡æ¯ï¼çä¸å°å¾çï¼è¿ä¹åæ¯ä¸ºäºé²æ¢LLMçå°å¾çåå¼å§çæµçæ¡ï¼ç¬¬äºï¼ç¨äºplançLLMä¼è¯åæ§è¡ä¸»AgentçLLM ä¼è¯æ¯ç¸äºç¬ç«çï¼è¿ä¹åä¹è®¸æ¯ä¸ºäºåå°è¦åï¼å¹¶ä¸åªä¸æ³¨äºè¿è¡planï¼ç¬¬ä¸ï¼æåæåçchecklist itemç¨äºç»reflectionèç¹åæ£æ¥ï¼ä½åªæå¯ç¨äºreflectionåè½æä¼æåã</p> 243<h4 id="agent-state-llm_step_node"><a class="markdownIt-Anchor" href="#agent-state-llm_step_node"></a> agent state: llm_step_node</h4> 244<blockquote> 245<ul> 246<li>æå»ºç»LLMçmessageå¹¶åé</li> 247<li>éªè¯è¿åçstructured response</li> 248<li>妿æåï¼ä»structured response䏿åcodeçä¿¡æ¯</li> 249<li>æå»ºå¸¦æstructured contentçAI message</li> 250</ul> 251</blockquote> 252<p>llm_stepèç¹è°ç¨LLMæ¥çæè¦æ§è¡ç代ç ï¼å¹¶ä¸æ´æ°agent stateçç¶æã使¯å®ä¸åå®é æ§è¡ï¼åªåè¾åºæ ¼å¼æ£æ¥ã</p> 253<p>å®å æmessageåéç»LLMï¼ç¶åæ¥åå¹¶éªè¯è¿åçstructured responseã妿éªè¯æåå°±ä»ä¸æåcodeçä¿¡æ¯ï¼æ´çæä¸ä¸ªè§æ ¼åå½¢å¼çAI messageãè¿ä¸ª AIMessage å¯ä»¥ç解为ä¸ä»½è§èåç trajectory recordï¼ä¸»è¦ç®çæ¯è®©åç» Agent å reflection ç»§ç»è¯»åï¼åæ¶ä¹æ¹ä¾¿äººç±»é 读ãèåå§çraw response ååç¬ä¿å卿¥å¿éã</p> 254<h4 id="agent-state-execute_node"><a class="markdownIt-Anchor" href="#agent-state-execute_node"></a> agent state: execute_node</h4> 255<blockquote> 256<ul> 257<li>å®å ¨æ§æ£æ¥ï¼é»ååéææ£æ¥ï¼ä¸æ¯ç³»ç»çº§Sandbox</li> 258<li>æ¸ ç©ºç¼å²åº</li> 259<li>å¨Jupyter Kernel䏿§è¡ä»£ç </li> 260<li>计æ°tool callsï¼æ£åæç´¢ï¼ä¸åç¡®</li> 261<li>ä»VLMåfeedback modules䏿¶éVLM queries</li> 262<li>æ´æ°current_step_result</li> 263</ul> 264</blockquote> 265<p>executeèç¹çä½ç¨æ¯å¯¹ä»£ç è¿è¡å®å ¨æ§æ£æ¥ï¼å交ç±Jupyter Kernelå®é æ§è¡ï¼å¹¶æ¶é stdoutãå¼å¸¸ãå¾çå VLM è°ç¨çæ°æ®ï¼å°å ¶æ´æ°è¿current_step_resultã</p> 266<p>è¿éæå 个ç»èï¼ä¸ä¸ªæ¯è¿éçå®å ¨æ§æ£æ¥å ¶å®åªæ¯é»ååéææ£æ¥ï¼å¯¹ä¸äºæ¶åå°ç³»ç»æä½çææå½æ°æç»è°ç¨ï¼å¹¶ä¸æ¯ç³»ç»çº§å«çsandboxãç¬¬äºæ¯è¿é对tool callsè¿è¡ç»è®¡ï¼ä»£ç éçå ·ä½å®ç°æ¯ç´æ¥å¯¹çæçcodeè¿è¡æ£åå¹é ï¼ç»è®¡å½æ°ååºç°ç次æ°ï¼å®é ä¸è¿ä¸åçè®¡æ°æ¯ç¸å½ä¸ä¸¥è°¨çã</p> 267<h4 id="agent-state-feedback_node"><a class="markdownIt-Anchor" href="#agent-state-feedback_node"></a> agent state: feedback_node</h4> 268<blockquote> 269<ul> 270<li>ä»Kernelä¸è·åç°æåéå¹¶ä¸è®°å½äº§çååçåé</li> 271<li>对errored stepså³ç使ç¨ä½ç§rollbackçç¥</li> 272<li>æ£æ¥å¤§åéæ´æ°step_result</li> 273<li>æ£æ¥ReturnAnswer sentinel</li> 274<li>æå»ºcondense messages</li> 275<li>æå»ºmessages</li> 276</ul> 277</blockquote> 278<p>feedbackèç¹çä½ç¨ä¸»è¦æ¯æ´çç»æãåé¦ç» LLMï¼å¹¶å¤ææ¯å¦ç»æã</p> 279<p>é¦å è¿éä»Kernelä¸è·åç°æåéå¹¶ä¸è®°å½äº§çååçåéï¼variable diffï¼ï¼å°±ç¨ä¸äºå åå¨initèç¹ä¸ä¿åçåéå¿«ç §ãè¿éåç¬è®°å½åçååçåéï¼è½è®©æ¨¡åä¸è³äºä¸æ¬¡æ§è¯»å ¥å¤ªå¤åéï¼ç¶åå ä¸ä¸æè¿é¿è产çå¹»è§è®°éååï¼åæ¶ä¹è®© Agent æ´å®¹æææ¡æ¬è½®äº§çäºåªäºæ°ç¶æã</p> 280<p>èåï¼å¦ææ§è¡ä»£ç ä¸åºç°äºerrorï¼feedbackèç¹å°å³å®ä½¿ç¨ä»ä¹rollbackçç¥ãä¸ç§æ¯è½å®ä½é误è¡ï¼å¹¶ä¸ææ°åé产çï¼å°±éç¨é¨ååæ»çç¥ï¼åªå é¤åçerrorç对åºè¡æäº§ççæ°åéï¼ä¸æä¸æ²¡æåºéçåéä½ä¸ºSurvivorå ¨é¨ä¿çï¼å¦ä¸ç§æ¯æ æ³ç¡®è®¤error产ççèå´ï¼å°±éç¨å®å ¨åæ»çç¥ï¼æææå¨è¿ä¸è½®ä»£ç æ§è¡è¿ç¨ä¸æ°äº§ççåéå ¨é¨å é¤ï¼æ¬è´¨ä¸æ¯ä¸ç§å°½æå¤§åªåçæ¸ é¤è¿åçç¥ã</p> 281<p>æ£æ¥å¤§åéæ¯ä¸ºäºé¢é²å åèå°½ï¼éè¿åagentååºè¦åæ¥å®ç°è¿ä¸ç¹ï¼å¹¶ä¸éåå¼ºå¶æ§é¢é²æªæ½ã</p> 282<p>æ£æ¥ReturnAnswer sentinelæ¥å¤ææ¯å¦äº§çäºfinal answerï¼å¦ææï¼å°±æ´æ°agentç¶æã</p> 283<p>æå»ºcondense messagesçç®çæ¯å¯¹é误信æ¯è¿è¡å缩ï¼é²æ¢å é误产ççæ ç¨ä»£ç å æ®å¤ªå¤ä¸ä¸æã</p> 284<p>æåï¼åæå»ºä¸è½®æ°çmessageï¼åå¤ä¼ ç»ä¸ä¸è½®å¾ªç¯çLLMã</p> 285<h4 id="agent-state-reflection_node"><a class="markdownIt-Anchor" href="#agent-state-reflection_node"></a> agent state: reflection_node*</h4> 286<blockquote> 287<ul> 288<li>æ£æ¥é»è¾ãå ä½ãå·¥å ·ä½¿ç¨åè¯æ®å åæ§ï¼ç»´æ¤Checklist</li> 289<li>åç°é®é¢æ¶ç»åºè¦å</li> 290<li>çæ¡æäº¤ååç°é®é¢æ¶å¯æ¤éçæ¡å¹¶è¦æ±ä¸» Agentç»§ç»éªè¯</li> 291<li>åå°å©ä½æ¥æ°åæäº¤æ¬¡æ°éå¶ï¼é²æ¢æ éåæ</li> 292<li>åæ ·æ¯ä¸æ¬¡ç¬ç«çLLMè°ç¨</li> 293</ul> 294</blockquote> 295<p>reflectionèç¹ä¹æ¯å¯éçã</p> 296<p>å®é¢å¤è°ç¨ä¸æ¬¡ LLMï¼å¯¹ Agent åæçæ§è¡è¿ç¨åçæ¡è¿è¡èªæå®¡æ¥ã</p> 297<p>
297ä¸è¿ï¼å¦æå©ä½æ¥éª¤å¤ªå°æè çæ¡å·²è¢«æç»å¤ªå¤æ¬¡/å·²ç»æäº¤è¿å¤ªå¤æ¬¡ï¼å®ä¼æ¥åå½åçæ¡ï¼é¿å Agent å åå¤ä¿®æ¹answeræç»è¢«å¼ºå¶ç»æ¢ã</p> 298<h4 id="should_continuerouter"><a class="markdownIt-Anchor" href="#should_continuerouter"></a> should_continue/router</h4> 299<blockquote> 300<ul> 301<li> 302<p>final_answer: END</p> 303</li> 304<li> 305<p>step_count >= max_steps: force_terminate</p> 306</li> 307<li> 308<p>failure_count >= max_failures: force_terminate</p> 309</li> 310<li> 311<p>total_tool_calls >= max_tool_calls: force_terminate</p> 312</li> 313</ul> 314</blockquote> 315<p>should_continueï¼å®å®é ä¸å å½ä¸ä¸ªè·¯ç±çè§è²ï¼ä¹å°±æ¯routerï¼æ¥å³å®å·¥ä½æµèµ°åã</p> 316<p>å¦ææ¤æ¶Agent stateä¸åå¨final answerï¼å°±ç´æ¥è¿å ¥ENDï¼éåºagent loopãèå©ä¸çä¸ç§æ åµï¼è¶ è¿æå¤§æ§è¡æ¥æ°ãLLMè¿ç»æ§è¡åºéè¶ è¿æå¤§é误éå¶ãè¶ è¿æå¤§å·¥å ·è°ç¨æ¬¡æ°ï¼é½ä¼è¢«force_terminateï¼ç¶ååè¿å ¥ENDã</p> 317<h4 id="force_terminate"><a class="markdownIt-Anchor" href="#force_terminate"></a> force_terminate</h4> 318<blockquote> 319<ul> 320<li>è®°å½å¼ºå¶ç»æ¢çreason</li> 321<li>æäº¤æè¿ä¸æ¬¡äº§ççanswer</li> 322<li>妿å åæ²¡æäº§çè¿answerï¼æ§è¡ä¸æ¬¡CoT产çansweræäº¤</li> 323<li>æå»ºsummary</li> 324</ul> 325</blockquote> 326<p>妿è¿å ¥å°äºforce_terminateèç¹ï¼é£ä¹å®ä¼é¦å è®°å½å¼ºå¶ç»æ¢çreasonï¼ç¶ååå°è¯æäº¤ä¸ä¸ªanswerï¼ä¼å 级æ¯ï¼</p> 327<ol> 328<li>ä½¿ç¨æè¿ä¸æ¬¡æäº¤è¿ççæ¡</li> 329<li>è°ç¨ CoT è§è§æ¨¡å产åºanswerå åº</li> 330<li>妿CoTä¹å¤±è´¥äºï¼é£å°±æ¥çåå²è®°å½ï¼å°è¯ç¨æ£åæ¾åºä¸ä¸ªçæ¡</li> 331<li>å®å¨æ²¡ææè¿åä¸ä¸ªç©ºçæ¡ã</li> 332</ol> 333<p>æåï¼æå»ºä¸ä¸ªsummaryã</p> 334<h3 id="模å¼é ç½®"><a class="markdownIt-Anchor" href="#模å¼é ç½®"></a> 模å¼é ç½®</h3> 335<p>ä»ç»å®AgentStateç¶ææµï¼é¡¹ç®çåºæ¬æ¶æå°±å·®ä¸å¤ææ¾äºãåå头说说论æéæå°çä¸ç§æ¨¡å¼ï¼å ¶å®ä»ä»¬é½å ±äº«åä¸å¥åºå±æ¶æï¼åªä¸è¿æ¯éè¿åæ°åæ¶èæ¥å®ç°ï¼æè 说模æä¸åçæ§è¡ææã</p> 336<ul> 337<li>Single-pass模å¼ï¼éè¿è®¾ç½®<code>max_step = 1</code>ï¼ç¶åå ³éPlanåReflectionèç¹æ¥å®ç°ãè¿æ ·å°±ç¸å½äºåªæ§è¡äºä¸æ¬¡ä»£ç çæã</li> 338<li>ReAct模å¼ï¼æ¯ä¸æ¥åªè®©LLMè¾åºä¸ä¸ªJSON tool callãåºè¯¥æ¯éè¿promptæ³¨å ¥å®ç°çï¼ç¶ååæJsonæ ¼å¼ç¿»è¯æPythonæ§è¡ã</li> 339<li>Code模å¼ï¼ä¹å°±æ¯SpatialClawï¼æ¯æ¥çæä¸ä¸ªèªç±çpython cellï¼ç»åå¤ä¸ªæä½ã</li> 340</ul> 341<table> 342<thead> 343<tr> 344<th>模å¼</th> 345<th>å¨ä½</th> 346<th>循ç¯</th> 347<th>Planning/Reflection</th> 348</tr> 349</thead> 350<tbody> 351<tr> 352<td>Single-pass</td> 353<td>ä¸ä¸ªèªç± Python cellï¼å¯è°ç¨å¤ä¸ªå·¥å ·</td> 354<td>1 è½®</td> 355<td>å ³é</td> 356</tr> 357<tr> 358<td>ReAct</td> 359<td>æ¯æ¥ä¸ä¸ª JSON tool callï¼åç¿»è¯æ Python</td> 360<td>å¤è½®</td> 361<td>å¤ç¨ç¸å graph</td> 362</tr> 363<tr> 364<td>Code</td> 365<td>æ¯æ¥ä¸ä¸ªèªç± Python cellï¼å¯ç»åå¤ä¸ªæä½</td> 366<td>å¤è½®</td> 367<td>å¯é ç½®</td> 368</tr> 369</tbody> 370</table> 371<h2 id="å®éªé¨å"><a class="markdownIt-Anchor" href="#å®éªé¨å"></a> å®éªé¨å</h2> 372<h3 id="å®éªè®¾ç½®"><a class="markdownIt-Anchor" href="#å®éªè®¾ç½®"></a> å®éªè®¾ç½®</h3> 373<p>å®éªä¸å ±éç¨äº20个Benchmarkï¼å为äºç±»ï¼</p> 374<ul> 375<li>åå¾ç©ºé´æ¨çï¼4个</li> 376<li>å¤è§è§ç©ºé´æ¨çï¼3个</li> 377<li>è§é¢ç©ºé´ä¸ 4D æ¨çï¼6 个</li> 378<li>éç¨ç©ºé´æ¨çï¼3 个</li> 379<li>éç¨è§é¢çè§£ï¼4 个</li> 380</ul> 381<p>ä¸æç» Average æ¯ 20 个 benchmark åæ°çéå æå¹³åã</p> 382<p>使ç¨6ä¸ªå¼æºçVLMï¼</p> 383<ul> 384<li>Qwen3.5-397B-A17B GPTQ Int4</li> 385<li>Qwen3.5-122B-A10B FP8</li> 386<li>Qwen3.6-35B-A3B FP8</li> 387<li>Qwen3.6-27B FP8</li> 388<li>Gemma4-31B FP8</li> 389<li>Gemma4-26B-A4B FP8</li> 390</ul> 391<p>æææ¨¡å使ç¨ç¸åçsystem promptï¼perception toolsï¼è¾å ¥é¢å¤çï¼ä¸<code>max_step = 30</code></p> 392<h3 id="å®éªç»æ"><a class="markdownIt-Anchor" href="#å®éªç»æ"></a> å®éªç»æ</h3> 393<div class="tabs" id="result"><ul class="nav-tabs"><li class="tab active"><button type="button" data-href="#result-1">åªæ¹åaction-interface</button></li><li class="tab"><button type="button" data-href="#result-2">ä¸å ¶ä»Spatial Agent对æ¯</button></li><li class="tab"><button type="button" data-href="#result-3">æ¶èå®éª</button></li></ul><div class="tab-contents"><div class="tab-item-content active" id="result-1"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909190246615.png?x-oss-process=style/blog" alt="image-20260909190246615" style="zoom:80%;" /> 394<blockquote> 395<ul> 396<li>No-tool reasoning 53.4</li> 397<li>Single-pass code 55.2</li> 398<li>Structured tool-call 56.7</li> 399<li><strong>SpatialClaw 59.9</strong></li> 400</ul> 401</blockquote> 402<p>åºå®ä¸ä¸ªæ¨¡åGemma4-31Bï¼ç¶ååªæ¹åaction interface对æ¯åæ°ãè¿éè§£éä¸ä¸No tool reasoning baselineï¼å ¶å®å°±æ¯æé®é¢æ¿å»é®LLMï¼ç¶åLLMä¹ä¸çæä»£ç ï¼ç´æ¥ç»åºçæ¡ãæåå¯ä»¥çå°Spatialclawçå¹³å忝æé«çã</p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div><div class="tab-item-content" id="result-2"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909190309199.png?x-oss-process=style/blog" alt="image-20260909190309199" style="zoom:80%;" /> 403<blockquote> 404<ul> 405<li>VADARåªæ¯æåå¾ -</li> 406<li>
406SpaceTools-Toolshed 48.7</li> 407<li>pySpatial 47.8</li> 408<li>SpatialClaw 59.9</li> 409</ul> 410</blockquote> 411<p>è¿éæ¯ä¸å ¶ä»Spatial Agentçæ¯è¾ï¼Spatialclaw乿¯æ¿ä¸äºæé«å¹³ååãå¯ä»¥çå°ä½è æ¿æ¥å¯¹æ¯çAgentå¾åçè³ä¸å¦baselineï¼<s>æä¹ä¸ç¥é为ä»ä¹ä¼è¿æ ·</s>ã</p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div><div class="tab-item-content" id="result-3"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909190641531.png?x-oss-process=style/blog" alt="image-20260909190641531" style="zoom:80%;" /> 412<p>è¿éæ¯ä½è åçæ¶èå®éªï¼ç¬¬ä¸è¡æ¯å®æ´çSpatialclawï¼ç¬¬äºè¡ç§»é¤äºæåå好ç计ç®å·¥å ·ï¼ç¬¬ä¸è¡ç§»é¤äºè§è§æç¥å·¥å ·ï¼ç¬¬åè¡æ¯baselineã</p> 413<p>ä»ç»ææä»¬å¯ä»¥çåºï¼é¢å®ä¹ç tools.Maskè¿äºCPUå·¥å ·ä¸æ¯å ³é®ï¼å»æä»ä»¬çåæ°åªæäº0.5åå·¦å³ãèä¾èµGPUçperception toolså¾éè¦ï¼å»æä»ä»¬åæ°ç´æ¥æäº5.5åã</p> 414<p>ç¬¬ä¸æ¯æ²¡æ perception tools æ¶ä»æ¯ no-tool é« 2.7 åï¼è®ºæè®¤ä¸ºè¿è¯´æäºaction interfaceæ¬èº«ä¹æè´¡ç®ãä¸è¿è¿éä¹ä¸æ¯å¾ä¸¥è°¨ï¼å ä¸ºä»æ²¡ææé¤æplanï¼å¤æ¥å¾ªç¯çå ç´ ï¼æä»¥è¯´å ææ§ä¸æ¯å¾ä¸¥æ ¼ã</p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div></div></div> 415<p><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909191534964.png?x-oss-process=style/blog" alt="image-20260909191534964" /></p> 416<p>æåä½è 对å®éªç»æåäºæ´çï¼ç»è®¡äºè¡¨ç°æ´å¥½çä»»å¡å表ç°ä¸å¦single-passä¸structured tool-callçä»»å¡ã</p> 417<p>å¯ä»¥çåºå¢çææ¾çä»»å¡ä¸»è¦æcamera motionï¼ multiview reasoningè¿ç§å¤è§è§ç»åä»»å¡ï¼å¢çä¸è¬æè è´å¢ççä»»å¡ä¸»è¦æ¯visual recognitionï¼spatial countingè¿ç§åéæè¯å«çä»»å¡ãè¿å°±è¯´æï¼<span class='p red'>å½ä»»å¡éè¦éè¦è·¨å¸§ãè·¨è§è§ç»åå¤ä¸ªä¸é´ç»ææ¶ï¼persistent code interface ææä»·å¼ï¼</span>ä¸ç¶çè¯è¡¨ç°å¯è½è¿ä¸å¦ä¼ ç»æ¹æ³ã</p> 418<h3 id="失败åæ"><a class="markdownIt-Anchor" href="#失败åæ"></a> 失败åæ</h3> 419<img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909192101621.png?x-oss-process=style/blog" alt="image-20260909192101621" style="zoom: 50%;" /> 420<p>ä½è 对失败æ¡ä¾åç¬è¿è¡äºåæï¼ç¨LLM as judgeçæ¹æ³è®©Gemini-3.1-Proåç±»äº1000个é误轨迹ãå¯ä»¥çå°å 大头çé误æ¯<emp>å ä½è®¡ç®é误</emp>ï¼<emp>å·¥å ·éæ©æè¦çä¸è¶³</emp>ï¼<emp>å·¥å ·ä¸æ¯æè§è§å¤æ</emp>å<emp>VLMå¹»è§</emp>ã</p> 421<p>è¿è¯´æç®åçbottleneck主è¦éä¸äº<u>æ£ç¡®æç¥</u>ï¼<u>æ£ç¡®éå·¥å ·</u>ï¼<u>æ£ç¡®å ä½è®¡ç®</u>å<u>é误æ¢å¤</u>è¿å 个æ¹é¢ï¼ä¸»è¦èç¦äºåºå±VLMåè§è§å·¥å ·ï¼ç»§ç»ç ç©¶action interfaceçæåç©ºé´æ¯è¾æéã</p> 422<h2 id="ç»è®º"><a class="markdownIt-Anchor" href="#ç»è®º"></a> ç»è®º</h2> 423<p>æåæä»¬å¯ä»¥å¾åºå 个ç»è®ºã</p> 424<p>ç¬¬ä¸æ¯è¿å¥action interfaceå¯¹ç©ºé´æ¨ç任塿¥è¯´ç¡®ææåï¼åç¡®ç说æ¯persistent KernelãAgent loopï¼è¿æä¸é´è¿ç¨æ£æ¥ä¸ä¿®æ¹è¿ä¹å 个æºå¶å ±åæåäºä»»å¡è¡¨ç°ã</p> 425<p>ç¬¬äºæ¯å¨éè¦è·¨å¸§è®¡ç®å ä½ä¿¡æ¯é¾çåºæ¯ä¸ï¼æè½å¤è®©SpatialClawçè¡¨ç°æå¤§åãå ä¸ºè¿æ ·æè½å¤æ´å åçå©ç¨å°SpatialClawæ¶æå¤è½®å¾ªç¯æ£æ¥å¸¦æ¥çä¼å¿ï¼å¨åå¸§åºæ¯ä¸çå°±æ¾å¾æç¹åä½ï¼è¡¨ç°å¯è½è¿ä¸å¦ä¼ ç»æ¹æ³ã</p> 426<p>第ä¸å°±æ¯Spatialclawç®åçbottleneck主è¦å¨äºåºå±çVLMåæç¥å·¥å ·çè´¨éï¼å 为SpatialClawçæ§è¡ä¸æ£æ¥é½ä¾èµè¿ä¸¤ä¸ªç»ä»¶ï¼è缺ä¹å¯¹ä»ä»¬çæ ¡éªæºå¶ã</p> 427<p>第åå°±æ¯è¿ä¸ªæ¹æ³çæ¨çææ¬é«ï¼å®æ¯ä¸è½®å¾ªç¯é½ä¼è°ç¨é¢å¤çLLM ä¼è¯åè§ååæï¼è¿è¦å¯¹ä¸é´ç»ææ£æ¥ï¼ä¼å¨è¿å 个æ¥éª¤ä¸èè´¹å¾å¤tokenã</p> 428<h2 id="ä¸è¶³"><a class="markdownIt-Anchor" href="#ä¸è¶³"></a> ä¸è¶³</h2> 429<p>ç¬è 认为çä¸è¶³ä¸»è¦æä¸ç¹ã䏿¯è®¡ç®çé¢ç®ä¸å ¬å¹³ï¼No-tool baseline䏿¬¡æ§è¡åªè°ç¨ä¸æ¬¡llmï¼ä½æ¯SpatialClawç䏿¥æ§è¡å¯è½ä¼å¨ä»£ç ä¸è°ç¨å¤æ¬¡VLMï¼è¿æplannerï¼SAM3çãæä»¥ï¼è®ºæéç»åºçâ59.9%âçæ°æ®åæåï¼å¹¶ä¸å¥½è¯´å°åºæ¯æ¥èªaction interfaceï¼è¿æ¯æ´å¤ test-time compute åæ´å¤å¤é¨å·¥å ·ãè®ºææ²¡æç»åº accuracy-token-cost-latency æ²çº¿ï¼æä»¥æ æ³å¤æ SpatialClaw æ¯æ´é«æï¼è¿æ¯âè±æ´å¤èµæºå¾å°æ´é«åç¡®çâã</p> 430<p>ç¬¬äºæ¯æ²¡ææ harness ç»ä»¶çè´¡ç®æå¼ãSpatialClaw åæ¶å å« persistent kernelãvisual feedbackãvariable summaryãplanner å verification promptã论æä¸»è¦æ¯è¾çæ¯æ´å¥ bundleï¼æ²¡æåç¬è¯æåªä¸ªç»ä»¶æéè¦ãä¹å°±æ¯è¯´ï¼æ¶èé¨åè¿æå¾ æ¹è¿ã</p> 431<p>ç¬¬ä¸æ¯ç»è®¡åææ å£å¾ä¸å¤ä¸¥è°¨ãè®ºææ²¡ææ¥åå¤éæºç§åã置信åºé´ææ¾èæ§æ£éªï¼20 个 benchmark è¿æ··åäº AccuracyãMRA å VCIï¼å¹¶è¿è¡çæå¹³åãå æ¤ 59.9% åªæ¯ä¸ä¸ªæ¹ä¾¿æ±æ»ç macro-averageï¼ä¸çäºææé®é¢çæ»ä½æ£ç¡®çï¼ä¹ä¸è½ç´æ¥å¤æè¾å°çæåæ¯å¦ç¨³å®ã</p> 432<h2 id="åèæç®"><a class="markdownIt-Anchor" href="#åèæç®"></a> åèæç®</h2> 433<ul> 434<li>[<a target="_blank" rel="noopener" href="https://arxiv.org/abs/2210.03629">2210.03629] ReAct: Synergizing Reasoning and Acting in Language Models</a></li> 435<li>[<a target="_blank" rel="noopener" href="https://arxiv.org/abs/2405.15793">2405.15793] SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering</a></li> 436</ul> 437<hr /> 438<p><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909193808303.png?x-oss-process=style/blog" alt="image-20260909193808303" /></p> 439</article><div class="post-copyright"><div class="post-copyright__author"><span class="post-copyright-meta">æç« ä½è : </span><span class="post-copyright-info"><a href="https://adamben.top">Adam Ben</a></span></div><div class="post-copyright__type"><span class="post-copyright-meta">æç« 龿¥: </span><span class="post-copyright-info"><a href="https://adamben.top/posts/4e2d98ec6aca/">https://adamben.top/posts/4e2d98ec6aca/</a></span></div><div class="post-copyright__notice"><span class="post-copyright-meta">çæå£°æ: </span><span class="post-copyright-info">æ¬åå®¢æææç« é¤ç¹å«å£°æå¤ï¼åéç¨ <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">CC BY-NC-SA 4.0</a> 许å¯åè®®ãè½¬è½½è¯·æ³¨ææ¥èª <a href="https://adamben.top" target="_blank">Adam8enã®8log</a>ï¼</span></div></div><div class="tag_share"><div class="post-meta__tag-list">
439<a class="post-meta__tags" href="/tags/Spatial-Intelligence/">Spatial Intelligence</a><a class="post-meta__tags" href="/tags/Agent/">Agent</a><a class="post-meta__tags" href="/tags/Action-interface/">Action interface</a></div><div class="post_share"><div class="social-share" data-image="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909193808303.png?x-oss-process=style/blog" data-sites="facebook,twitter,wechat,weibo,qq"></div><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/butterfly-extsrc/sharejs/dist/css/share.min.css" media="print" onload="this.media='all'">
439<script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/sharejs/dist/js/social-share.min.js" defer></script>
439</div></div><div class="post-reward"><div class="reward-button"><i class="fas fa-qrcode"></i> æèµ</div><div class="reward-main"><ul class="reward-all"><li class="reward-item"><a href="/img/wechat.png" target="_blank"><img class="post-qr-code-img" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="/img/wechat.png" alt="微信"/></a><div class="post-qr-code-desc">微信</div></li><li class="reward-item"><a href="/img/alipay.jpg" target="_blank"><img class="post-qr-code-img" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="/img/alipay.jpg" alt="æ¯ä»å®"/></a><div class="post-qr-code-desc">æ¯ä»å®</div></li></ul></div></div><nav class="pagination-post" id="pagination"><div class="next-post pull-full"><a href="/posts/05e541580ad1/" title="VS-Benchï¼è®ºå¦ä½è¯ä¼°å¤æ¨¡æå¤§è¯è¨æ¨¡åççç¥è½å"><img class="cover" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260422211642703.png?x-oss-process=style/blog" onerror="onerror=null;src='/img/404.jpg'" alt="cover of next post"><div class="pagination-info"><div class="label">ä¸ä¸ç¯</div><div class="next_info">VS-Benchï¼è®ºå¦ä½è¯ä¼°å¤æ¨¡æå¤§è¯è¨æ¨¡åççç¥è½å</div></div></a></div></nav><div class="relatedPosts"><div class="headline"><i class="fas fa-thumbs-up fa-fw"></i><span>ç¸å
³æ¨è</span></div><div class="relatedPosts-list"><div><a href="/posts/05e541580ad1/" title="VS-Benchï¼è®ºå¦ä½è¯ä¼°å¤æ¨¡æå¤§è¯è¨æ¨¡åççç¥è½å"><img class="cover" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260422211642703.png?x-oss-process=style/blog" alt="cover"><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2026-04-22</div><div class="title">VS-Benchï¼è®ºå¦ä½è¯ä¼°å¤æ¨¡æå¤§è¯è¨æ¨¡åççç¥è½å</div></div></a></div></div></div><hr class="custom-hr"/><div id="post-comment"><div class="comment-head"><div class="comment-headline"><i class="fas fa-comments fa-fw"></i><span> è¯è®º</span></div></div><div class="comment-wrap"><div><div id="waline-wrap"></div></div></div></div></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="/img/avatar.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">Adam Ben</div><div class="author-info__description">ä½ çå¤ç¬ä¸æä¸ºä¼´ï¼ä½ çæ·±æ
䏿åå½</div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">æç« </div><div class="length-num">75</div></a><a href="/tags/"><div class="headline">æ ç¾</div><div class="length-num">102</div></a><a href="/categories/"><div class="headline">åç±»</div><div class="length-num">16</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/Adam8en"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/Adam8en" target="_blank" title="Github"><i class="fab fa-github" style="color: #24292e;"></i></a><a class="social-icon" href="/cdn-cgi/l/email-protection#d3b2b7b2beb1b6bd93a2a2fdb0bcbe" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #4a7dbe;"></i></a><a class="social-icon" href="https://blog.csdn.net/Adam_Ben?type=blog" target="_blank" title="CSDN"><i class="fa fa-book-open"></i></a><a class="social-icon" href="tencent://AddContact/?fromId=45&fromSubId=1&subcmd=all&uin=2813879949&website=www.oicqzone.com" target="_blank" title="QQ"><i class="fab fa-qq"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>å
¬å</span></div><div class="announcement_content">ä¸ç¥é说ä»ä¹å¥½,<br>æ¾ä¸ªè¡¨æ
å
å¨è¿é好äº,<br>â½Ë³Ëâ¾â(à¹â¢Ì â â¢Ìà¹)ââ½Ë³Ëâ¾,<br><br>妿ç鮿¬¢è¿èç³»é®ç®±ï¼<br><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5b3a3f3a36393e351b2a2a75383436">[email protected]</a></div></div><div class="sticky_layout"><div class="card-widget" id="card-toc"><div class="item-headline"><i class="fas fa-stream"></i><span>ç®å½</span><span class="toc-percentage"></span></div><div class="toc-content"><ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%96%B9%E6%B3%95%E8%AE%BA"><span class="toc-number">1.</span> <span class="toc-text"> æ¹æ³è®º</span></a><ol class="toc-child"><li class="toc-item toc-level-3">
439<a class="toc-link" href="#%E8%83%8C%E6%99%AF"><span class="toc-number">1.1.</span> <span class="toc-text"> èæ¯</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%A0%B8%E5%BF%83%E8%AE%BE%E8%AE%A1"><span class="toc-number">1.2.</span> <span class="toc-text"> æ ¸å¿è®¾è®¡</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%95%B0%E6%8D%AE%E6%B5%81"><span class="toc-number">1.3.</span> <span class="toc-text"> æ°æ®æµ</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#agent-state-init_node"><span class="toc-number">1.3.1.</span> <span class="toc-text"> agent state: init_node</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#agent-state-plan_node"><span class="toc-number">1.3.2.</span> <span class="toc-text"> agent state: plan_node*</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#agent-state-llm_step_node"><span class="toc-number">1.3.3.</span> <span class="toc-text"> agent state: llm_step_node</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#agent-state-execute_node"><span class="toc-number">1.3.4.</span> <span class="toc-text"> agent state: execute_node</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#agent-state-feedback_node"><span class="toc-number">1.3.5.</span> <span class="toc-text"> agent state: feedback_node</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#agent-state-reflection_node"><span class="toc-number">1.3.6.</span> <span class="toc-text"> agent state: reflection_node*</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#should_continuerouter"><span class="toc-number">1.3.7.</span> <span class="toc-text"> should_continue/router</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#force_terminate"><span class="toc-number">1.3.8.</span> <span class="toc-text"> force_terminate</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%A8%A1%E5%BC%8F%E9%85%8D%E7%BD%AE"><span class="toc-number">1.4.</span> <span class="toc-text"> 模å¼é
ç½®</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%AE%9E%E9%AA%8C%E9%83%A8%E5%88%86"><span class="toc-number">2.</span> <span class="toc-text"> å®éªé¨å</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AE%9E%E9%AA%8C%E8%AE%BE%E7%BD%AE"><span class="toc-number">2.1.</span> <span class="toc-text"> å®éªè®¾ç½®</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AE%9E%E9%AA%8C%E7%BB%93%E6%9E%9C"><span class="toc-number">2.2.</span> <span class="toc-text"> å®éªç»æ</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%A4%B1%E8%B4%A5%E5%88%86%E6%9E%90"><span class="toc-number">2.3.</span> <span class="toc-text"> 失败åæ</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%BB%93%E8%AE%BA"><span class="toc-number">3.</span> <span class="toc-text"> ç»è®º</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%B8%8D%E8%B6%B3"><span class="toc-number">4.</span> <span class="toc-text"> ä¸è¶³</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE"><span class="toc-number">5.</span> <span class="toc-text"> åèæç®</span></a></li></ol></div></div><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>ææ°æç« </span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/posts/4e2d98ec6aca/" title="SpatialClawï¼ç©ºé´æ¨ç伿¢¦è§Agentåï¼"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909193808303.png?x-oss-process=style/blog" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="SpatialClawï¼ç©ºé´æ¨ç伿¢¦è§Agentåï¼"/></a><div class="content"><a class="title" href="/posts/4e2d98ec6aca/" title="SpatialClawï¼ç©ºé´æ¨ç伿¢¦è§Agentåï¼">SpatialClawï¼ç©ºé´æ¨ç伿¢¦è§Agentåï¼</a><time datetime="2026-09-09T12:01:10.000Z" title="åè¡¨äº 2026-09-09 20:01:10">2026-09-09</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/05e541580ad1/" title="VS-Benchï¼è®ºå¦ä½è¯ä¼°å¤æ¨¡æå¤§è¯è¨æ¨¡åççç¥è½å"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260422211642703.png?x-oss-process=style/blog" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="VS-Benchï¼è®ºå¦ä½è¯ä¼°å¤æ¨¡æå¤§è¯è¨æ¨¡åççç¥è½å"/></a><div class="content"><a class="title" href="/posts/05e541580ad1/" title="VS-Benchï¼è®ºå¦ä½è¯ä¼°å¤æ¨¡æå¤§è¯è¨æ¨¡åççç¥è½å">
439VS-Benchï¼è®ºå¦ä½è¯ä¼°å¤æ¨¡æå¤§è¯è¨æ¨¡åççç¥è½å</a><time datetime="2026-04-22T13:09:59.000Z" title="åè¡¨äº 2026-04-22 21:09:59">2026-04-22</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/8128123308bc/" title="å°è°SparseMMï¼å©ç¨å¤æ¨¡æå¤§æ¨¡åä¸è§è§å¤´çç¨çæ§ä¼åKV Cache"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260310214707597.png?x-oss-process=style/blog" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="å°è°SparseMMï¼å©ç¨å¤æ¨¡æå¤§æ¨¡åä¸è§è§å¤´çç¨çæ§ä¼åKV Cache"/></a><div class="content"><a class="title" href="/posts/8128123308bc/" title="å°è°SparseMMï¼å©ç¨å¤æ¨¡æå¤§æ¨¡åä¸è§è§å¤´çç¨çæ§ä¼åKV Cache">å°è°SparseMMï¼å©ç¨å¤æ¨¡æå¤§æ¨¡åä¸è§è§å¤´çç¨çæ§ä¼åKV Cache</a><time datetime="2026-03-10T13:41:05.000Z" title="åè¡¨äº 2026-03-10 21:41:05">2026-03-10</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/525dec7699db/" title="ä»ä¹æ¯KV Cacheï¼ä»è®¤è¯å°ä¼åï¼"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260309211638054.png?x-oss-process=style/blog" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="ä»ä¹æ¯KV Cacheï¼ä»è®¤è¯å°ä¼åï¼"/></a><div class="content"><a class="title" href="/posts/525dec7699db/" title="ä»ä¹æ¯KV Cacheï¼ä»è®¤è¯å°ä¼åï¼">ä»ä¹æ¯KV Cacheï¼ä»è®¤è¯å°ä¼åï¼</a><time datetime="2026-03-09T13:09:19.000Z" title="åè¡¨äº 2026-03-09 21:09:19">2026-03-09</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/2ed6902d017c/" title="ä» Linear Model å° Stackingï¼ææ¯å¦ä½å° RMSLE ä¼åè³ 0.12 çï¼"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260115192208544.png?x-oss-process=style/blog" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="ä» Linear Model å° Stackingï¼ææ¯å¦ä½å° RMSLE ä¼åè³ 0.12 çï¼"/></a><div class="content"><a class="title" href="/posts/2ed6902d017c/" title="ä» Linear Model å° Stackingï¼ææ¯å¦ä½å° RMSLE ä¼åè³ 0.12 çï¼">ä» Linear Model å° Stackingï¼ææ¯å¦ä½å° RMSLE ä¼åè³ 0.12 çï¼</a><time datetime="2026-01-15T12:06:12.000Z" title="åè¡¨äº 2026-01-15 20:06:12">2026-01-15</time></div></div></div></div></div></div></main><footer id="footer" style="background-image: url('https://adam8en-blog-image.oss-cn-guangzhou.aliyuncs.com/image-20260909193808303.png?x-oss-process=style/blog')"><div id="footer-wrap"><div class="copyright">©2020 - 2026 By Adam Ben</div><div class="framework-info"><span>æ¡æ¶ </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>ä¸»é¢ </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="readmode" type="button" title="é
读模å¼"><i class="fas fa-book-open"></i></button><a class="icon-V hidden" onclick="switchNightMode()" title="æµ
è²åæ·±è²æ¨¡å¼è½¬æ¢"><svg width="25" height="25" viewBox="0 0 1024 1024"><use id="modeicon" xlink:href="#icon-moon"></use></svg></a><button id="hide-aside-btn" type="button" title="åæ ååæ åæ¢"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button class="close" id="mobile-toc-button" type="button" title="ç®å½"><i class="fas fa-list-ul"></i></button><a id="to_comment" href="#post-comment" title="ç´è¾¾è¯è®º"><i class="fas fa-comments"></i></a><button id="go-up" type="button" title="åå°é¡¶é¨"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div>
vendor: 108 bytes, line 439
439<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
439<script src="/js/utils.js"></script>
439<script src="/js/main.js"></script>
439<script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.umd.min.js"></script>
439<script src="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module"></script>
439<script src="https://cdn.jsdelivr.net/npm/vanilla-lazyload/dist/lazyload.iife.min.js"></script>
439<script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script>
439<script>function panguFn () { 440 if (typeof pangu === 'object') pangu.autoSpacingPage() 441 else { 442 getScript('https://npm.elemecdn.com/[email protected]/dist/browser/pangu.min.js') 443 .then(() => { 444 pangu.autoSpacingPage() 445 }) 446 } 447} 448 449function panguInit () { 450 if (false){ 451 GLOBAL_CONFIG_SITE.isPost && panguFn() 452 } else { 453 panguFn() 454 } 455} 456 457document.addEventListener('DOMContentLoaded', panguInit)</script>
457<div class="js-pjax"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/katex/dist/katex.min.css">
457<script src="https://cdn.jsdelivr.net/npm/katex/dist/contrib/copy-tex.min.js"></script>
457<script>(() => { 458 document.querySelectorAll('#article-container span.katex-display').forEach(item => { 459 btf.wrap(item, 'div', { class: 'katex-wrap'}) 460 }) 461})()</script>
461<script>(() => { 462 const $mermaid = document.querySelectorAll('#article-container .mermaid-wrap') 463 if ($mermaid.length === 0) return 464 const runMermaid = () => { 465 window.loadMermaid = true 466 const theme = document.documentElement.getAttribute('data-theme') === 'dark' ? 'dark' : 'default' 467 468 Array.from($mermaid).forEach((item, index) => { 469 const mermaidSrc = item.firstElementChild 470 const mermaidThemeConfig = '%%{init:{ \'theme\':\'' + theme + '\'}}%%\n' 471 const mermaidID = 'mermaid-' + index 472 const mermaidDefinition = mermaidThemeConfig + mermaidSrc.textContent 473 474 const renderFn = mermaid.render(mermaidID, mermaidDefinition) 475 476 const renderV10 = () => { 477 renderFn.then(({svg}) => { 478 mermaidSrc.insertAdjacentHTML('afterend', svg) 479 }) 480 } 481 482 const renderV9 = svg => { 483 mermaidSrc.insertAdjacentHTML('afterend', svg) 484 } 485 486 typeof renderFn === 'string' ? renderV9(renderFn) : renderV10() 487 }) 488 } 489 490 const loadMermaid = () => { 491 window.loadMermaid ? runMermaid() : getScript('https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js').then(runMermaid) 492 } 493 494 btf.addModeChange('mermaid', runMermaid) 495 496 window.pjax ? loadMermaid() : document.addEventListener('DOMContentLoaded', loadMermaid) 497})()</script>
497<script>function loadWaline () { 498 function initWaline () { 499 const waline = Waline.init(Object.assign({ 500 el: '#waline-wrap', 501 serverURL: 'https://comment.adamben.top', 502 pageview: false, 503 dark: 'html[data-theme="dark"]', 504 path: window.location.pathname, 505 comment: false, 506 }, {"lang":"zh-CN","locale":{"placeholder":"è®°å¾çä¸ä½ çæµç§°åé®ç®±ï¼å¯ä»¥åæ¶æ¶å°åå¤"},"requiredMeta":["nick","mail"]})) 507 } 508 509 if (typeof Waline === 'object') initWaline() 510 else { 511 getCSS('https://cdn.jsdelivr.net/npm/@waline/[email protected]/dist/waline.min.css').then(() => { 512 getScript('https://cdn.jsdelivr.net/npm/@waline/[email protected]/dist/waline.min.js').then(initWaline) 513 }) 514 } 515} 516 517if ('Waline' === 'Waline' || !false) { 518 if (false) btf.loadComment(document.getElementById('waline-wrap'),loadWaline) 519 else setTimeout(loadWaline, 0) 520} else { 521 function loadOtherComment () { 522 loadWaline() 523 } 524}</script>
524</div><canvas id="universe"></canvas>
524<script src="/js/universe.js"></script>
524<script src="/js/sun_moon.js" async></script>
524<script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/activate-power-mode.min.js"></script>
524<script>POWERMODE.colorful = true; 525POWERMODE.shake = true; 526POWERMODE.mobile = true; 527document.body.addEventListener('input', POWERMODE); 528</script>
528<script id="click-show-text" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/click-show-text.min.js" data-mobile="true" data-text="å¯å¼º,æ°ä¸»,ææ,åè°,å¹³ç,å
¬æ£,æ³æ²»,ç±å½,æ¬ä¸,è¯ä¿¡,åå" data-fontsize="15px" data-random="true" async="async"></script>
528<script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
528<div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">æç´¢</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span> æ°æ®åºå è½½ä¸</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="æç´¢æç« " type="text"/></div></div><hr/><div class="no-result" id="local-search-results"></div><div id="local-search-stats-wrap"></div></div></div><div id="search-mask"></div>
528<script src="/js/search/local-search.js"></script>
528</div></div>
528<script src="/live2dw/lib/L2Dwidget.min.js?094cbace49a39548bed64abff5988b05"></script>
528<script>L2Dwidget.init({"pluginModelPath":"assets/","model":{"jsonPath":"/live2dw/assets/shizuku.model.json"},"display":{"position":"left","width":200,"height":400},"mobile":{"show":false},"log":false,"pluginJsPath":"lib/","pluginRootPath":"live2dw/","tagMode":false});</script>
528<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"81caa6225c8b46ed886c600c40ff52be","r":1,"spa":2}' crossorigin="anonymous"></script>
528 529</body></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.