參數(shù)路由全解析:如何用 context 信號(hào)與本地檢測(cè)器生成上下文感知的命令菜單)
impeccable 無(wú)參數(shù)路由全解析如何用 context 信號(hào)與本地檢測(cè)器生成上下文感知的命令菜單【免費(fèi)下載鏈接】impeccableThe design language that makes your AI harness better at design.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/im/impeccable導(dǎo)讀在 impeccable 這套 AI 設(shè)計(jì)技能體系中用戶輸入/impeccable不帶任何參數(shù)時(shí)Agent 面對(duì)的是一個(gè)開放性問(wèn)題——我現(xiàn)在該做什么。本文圍繞 .hermes/skills/impeccable/reference/routing.md 展開系統(tǒng)講解 impeccable 的**命令路由Command Routing**機(jī)制如何通過(guò)impeccable context與impeccable signals收集項(xiàng)目實(shí)時(shí)狀態(tài)如何根據(jù) setup / critique / git / dev-server / platform / scan 六類信號(hào)做出決策以及如何在 2-3 條高價(jià)值建議與完整命令菜單之間組織回復(fù)。讀完本文你將掌握 impeccable 技能在無(wú)參數(shù)調(diào)用場(chǎng)景下的完整決策協(xié)議理解每一條信號(hào)背后的含義與優(yōu)先級(jí)并能將其復(fù)用到自己的 AI Agent 工具編排設(shè)計(jì)中。路由總覽三種入口一個(gè)原則routing.md 開篇定義了路由的三個(gè)入口它們共享同一條核心原則永遠(yuǎn)不自動(dòng)執(zhí)行命令推薦只是交給用戶確認(rèn)的建議。入口用戶輸入Agent 行為工作流問(wèn)題Workflow questions詢問(wèn)該用哪個(gè)命令先做什么只給建議不執(zhí)行命令顯式命令請(qǐng)求/impeccable critique等帶參數(shù)調(diào)用加載對(duì)應(yīng) reference 并執(zhí)行原生平臺(tái)加載.native變體無(wú)參數(shù)路由裸輸入/impeccable運(yùn)行信號(hào)采集輸出上下文感知的推薦 完整菜單在 .hermes/skills/impeccable/SKILL.md 的 Routing 一節(jié)中這一原則被進(jìn)一步細(xì)化為四層判定無(wú)參數(shù)時(shí)讀 routing.md 并展示菜單顯式或明確隱含的命令請(qǐng)求加載其 reference工作流/命令選擇類問(wèn)題走 Workflow questions其余情況按一般設(shè)計(jì)工作處理——缺 PRODUCT.md 的新表面走 init new-work既有代碼的窄幅精修則直接推進(jìn)并在事后建議 init而不是阻塞在 init 上。值得注意的是工作流問(wèn)題場(chǎng)景下只給建議不執(zhí)行命令并不意味著完全空手——routing.md 明確要求 Agent按需查閱相關(guān)命令的 reference以確認(rèn)前置條件與作用范圍即建議必須建立在真實(shí)命令語(yǔ)義之上而不是憑記憶拼湊。無(wú)參數(shù)調(diào)用的第一步讀取 context 輸出會(huì)話開頭的impeccable context按 SKILL.md 的 Setup 流程每個(gè)會(huì)話開始都要運(yùn)行一次.hermes/skills/impeccable/scripts/impeccable context啟動(dòng)器腳本 .hermes/skills/impeccable/scripts/impeccable 是一個(gè)無(wú) Node 依賴的 sh 啟動(dòng)器它按IMPECCABLE_BIN→ 隨行平臺(tái)二進(jìn)制 →~/.impeccable/bin→ 版本固定緩存 → PATH 的順序解析引擎最后才通過(guò)網(wǎng)絡(luò)下載并校驗(yàn) SHA-256。context子命令會(huì)加載 PRODUCT.md、DESIGN.md、對(duì)應(yīng)的 surface brief 與原生平臺(tái)指引并在輸出中攜帶一系列關(guān)鍵信號(hào)。關(guān)鍵分歧點(diǎn)NO_PRODUCT_MDrouting.md 規(guī)定如果impeccable context報(bào)告了NO_PRODUCT_MD說(shuō)明項(xiàng)目尚未捕獲任何產(chǎn)品上下文還沒(méi)有 PRODUCT.md。此時(shí)菜單的編排規(guī)則是置頂推薦/impeccable init并給出一行理由菜單其余部分照常展示不要靜默跳進(jìn) init——init 涉及多輪訪談與產(chǎn)品事實(shí)確認(rèn)必須由用戶明確確認(rèn)。從源碼看這一信號(hào)的產(chǎn)生邏輯位于 crates/context/src/context_cli.rs當(dāng)項(xiàng)目缺少 PRODUCT.md 時(shí)context CLI 會(huì)區(qū)分兩種情況——存在既有視覺(jué)實(shí)現(xiàn)has an incumbent visual implementation與完全從零開始。前者建議 init 記錄既有系統(tǒng)后者則要求先完成訪談并寫入 PRODUCT.md。這解釋了為何 routing.md 說(shuō)不要靜默跳入 initinit 的產(chǎn)物PRODUCT.md是后續(xù)一切命令的事實(shí)基礎(chǔ)。impeccable signals讀取結(jié)構(gòu)化決策信號(hào)當(dāng)項(xiàng)目已具備上下文無(wú)NO_PRODUCT_MD時(shí)無(wú)參數(shù)路由進(jìn)入第二步.hermes/skills/impeccable/scripts/impeccable signals運(yùn)行一次并讀取其 JSON 輸出。這些信號(hào)是路由推薦的事實(shí)依據(jù)。routing.md 特別強(qiáng)調(diào)Reason over the signals; there is no score to obey——信號(hào)之間不存在可機(jī)械加總的分?jǐn)?shù)Agent 需要人工推理。信號(hào)的生成實(shí)現(xiàn)在 crates/context/src/signals.rs例如changedFiles在非 Git 倉(cāng)庫(kù)時(shí)被置為空數(shù)組第 106-111 行在 Git 倉(cāng)庫(kù)中則通過(guò)git diff收集第 235 行最多取前 50 個(gè)文件hasDesign直接取自ctx.has_design第 328 行。也就是說(shuō)你看到的每個(gè)信號(hào)字段都對(duì)應(yīng)著倉(cāng)庫(kù)中一段可驗(yàn)證的采集邏輯。六類信號(hào)的決策規(guī)則routing.md 給出了無(wú)參數(shù)路由的核心決策表下面逐條展開并補(bǔ)充每條信號(hào)背后的實(shí)現(xiàn)邏輯與命令語(yǔ)義。1. setup設(shè)計(jì)系統(tǒng)缺失但有代碼 →document當(dāng)setup.hasDesign為 false 而setup.hasCode為 true 時(shí)推薦/impeccable document。該命令從代碼庫(kù)自動(dòng)抽取顏色、排版、間距、圓角與組件模式生成遵循 Google Stitch DESIGN.md 格式的視覺(jué)設(shè)計(jì)系統(tǒng)文檔參見(jiàn) .hermes/skills/impeccable/scripts/command-metadata.json 中document條目。其語(yǔ)義是記錄既有視覺(jué)系統(tǒng)與init捕獲產(chǎn)品事實(shí)和 new-work創(chuàng)建新視覺(jué)世界嚴(yán)格分工——.hermes/skills/impeccable/reference/init.md 明確寫道 init does not invent a visual world and does not write DESIGN.md。2. critique從未評(píng)審過(guò) →critique surface當(dāng)critique.latest為 null 時(shí)說(shuō)明該項(xiàng)目從未做過(guò)設(shè)計(jì)評(píng)審。對(duì)于一個(gè)已完成 setup、存在真實(shí)表面的項(xiàng)目/impeccable critique surface是強(qiáng)默認(rèn)推薦。critique 會(huì)運(yùn)行兩個(gè)相互隔離的評(píng)估設(shè)計(jì)評(píng)審 檢測(cè)器/瀏覽器證據(jù)產(chǎn)出 Nielsen 十啟發(fā)式評(píng)分表、設(shè)計(jì)特異性判定、P0-P3 優(yōu)先級(jí)問(wèn)題、人物角色紅旗等完整報(bào)告并將快照持久化到.impeccable/critique/參見(jiàn) .hermes/skills/impeccable/reference/critique.md。3. critique低分或存在 P0/P1 →polish當(dāng)critique.latest存在但分?jǐn)?shù)較低或帶有非零的p0/p1計(jì)數(shù)時(shí)推薦/impeccable polish。polish 會(huì)把 critique 快照當(dāng)作自己的積壓清單backlog來(lái)讀取通過(guò)impeccable critique-storage latest target --json取出最近一次快照比對(duì)文件內(nèi)容指紋處理其中的 P0/P1 問(wèn)題并在全部清空后關(guān)閉該快照參見(jiàn) .hermes/skills/impeccable/reference/polish.md。當(dāng)快照過(guò)期或被清空時(shí)polish 的這一輪 backlog 也隨之關(guān)閉。這形成了 critique 發(fā)現(xiàn) → polish 修復(fù) → 快照關(guān)閉 的閉環(huán)。4. git變更指向單一表面 → 收窄范圍當(dāng)git.changedFiles指向一個(gè)具體的表面surface時(shí)將audit或polish的作用域收窄到這些文件并在推薦中明確點(diǎn)名。從 crates/context/src/signals.rs 的實(shí)現(xiàn)看該信號(hào)還包含倉(cāng)庫(kù)狀態(tài)判定isRepo、branch、base分支探測(cè)changedFiles最多截取前 50 個(gè)文件避免超大變更集污染推薦。5. devServer運(yùn)行中 →live可用當(dāng)devServer.running為 true 時(shí)說(shuō)明瀏覽器內(nèi)迭代工具/impeccable live可用若為 false則不要用live打頭。live 模式允許用戶在瀏覽器中選中元素、選擇設(shè)計(jì)動(dòng)作獲得 AI 生成的 HTMLCSS 變體并經(jīng) HMR 熱替換參見(jiàn) .hermes/skills/impeccable/reference/live.md。6. platformweb-only 邊界這是最容易踩坑的邊界條件。routing.md 明確指出live和隨附的impeccable detect僅限 Web。當(dāng)setup.platform為ios、android或adaptive時(shí)兩者都不能打頭推薦——瀏覽器覆蓋層與 HTML 規(guī)則引擎不適用于原生應(yīng)用代碼。audit 命令也遵循同樣的平臺(tái)分流.hermes/skills/impeccable/reference/audit.md 開篇即聲明Web only原生平臺(tái)路由到audit.native.md。而impeccable context只有在 init 寫入 PRODUCT.md 后才能真正知道平臺(tái)init 完成時(shí)若記錄的是原生平臺(tái)會(huì)自行加載 ios.md / android.md這是無(wú)參數(shù)路由推薦init后不得重跑 context 的原因之一。兜底按意圖分組當(dāng)上述信號(hào)都不構(gòu)成強(qiáng)推薦時(shí)按用戶意圖分組組織菜單構(gòu)建新東西build new/ 改進(jìn)現(xiàn)有東西improve whats there/ 視覺(jué)迭代iterate visually并針對(duì)當(dāng)前表面與setup.platform定制措辭。impeccable detect本地、實(shí)時(shí)、無(wú)網(wǎng)絡(luò)的增量信號(hào)routing.md 給出了無(wú)參數(shù)路由中唯一的一次額外命令執(zhí)行且是條件性的若scan.targets非空且setup.platform不是 ios/android/adaptive運(yùn)行一次.hermes/skills/impeccable/scripts/impeccable detect --json scan.targets 以空格連接。這里的關(guān)鍵特性值得展開無(wú)網(wǎng)絡(luò)、無(wú) npx這是隨附的本地檢測(cè)器直接在本地文件上運(yùn)行因此讀的是 HTML/CSS——原生項(xiàng)目應(yīng)跳過(guò)scan.via說(shuō)明目標(biāo)來(lái)源git-changes工作區(qū)臟樹中的標(biāo)記/樣式文件最相關(guān)的一組、source-dir如src、app、html、或root命中結(jié)果映射到命令大量質(zhì)量/對(duì)比度命中 →audit或polish特定 slop 族如漸變文字或 eyebrow 眉題 →quieter/typeset扁平或灰色調(diào)色板 →colorize以此類推失敗不阻塞若 detect 報(bào)錯(cuò)或目錄樹過(guò)大導(dǎo)致緩慢直接跳過(guò)改為建議用戶自行運(yùn)行audit永遠(yuǎn)不要讓推薦被它卡住。routing.md 的措辭是它detect 結(jié)果是真實(shí)的、當(dāng)前的信號(hào)勝過(guò)猜測(cè)——這正是該機(jī)制的設(shè)計(jì)意圖用一次本地掃描把推薦從基于歷史信號(hào)的外推升級(jí)為基于當(dāng)前代碼狀態(tài)的實(shí)證。輸出格式精簡(jiǎn)的推薦 兜底菜單無(wú)參數(shù)路由的最終輸出遵守兩條紀(jì)律只給 2-3 條精準(zhǔn)的、可照抄的命令建議——每條建議附一行從 signals 推導(dǎo)出的理由菜單只是兜底fallback推薦才是頭條lede推薦的命令必須給出確切的、可輸入的完整命令例如impeccable critique src/pages/index.astro而不是模糊的考慮做一次評(píng)審。在回復(fù)結(jié)構(gòu)上這正好與 .hermes/skills/impeccable/reference/critique.md 對(duì)報(bào)告先行、問(wèn)題收尾的硬性要求互補(bǔ)——無(wú)參數(shù)路由的輸出同樣遵循先給結(jié)論、再給選項(xiàng)的信息順序把完整命令菜單放在推薦之后避免推薦被淹沒(méi)。命令菜單的語(yǔ)義錨點(diǎn)無(wú)參數(shù)路由的完整菜單并非靜態(tài)清單而是 .hermes/skills/impeccable/SKILL.md 中 Commands 表按類別分組的投影。四個(gè)類別及代表命令如下完整命令列表及描述見(jiàn) .hermes/skills/impeccable/scripts/command-metadata.json類別命令一句話語(yǔ)義Buildshape/init/document/extract規(guī)劃、捕獲產(chǎn)品事實(shí)、記錄視覺(jué)系統(tǒng)、抽取設(shè)計(jì)系統(tǒng)Evaluatecritique/auditUX 評(píng)審啟發(fā)式評(píng)分 / 技術(shù)質(zhì)量檢查a11y、性能、響應(yīng)式Refinepolish/bolder/quieter/distill/harden/onboard收尾、放大、降噪、精簡(jiǎn)、加固、首次體驗(yàn)Enhanceanimate/colorize/typeset/layout/delight/overdrive動(dòng)效、色彩、排版、布局、個(gè)性、極限Fixclarify/adapt/optimize文案、多設(shè)備適配、性能Iteratelive瀏覽器內(nèi)視覺(jué)變體模式菜單中還需如實(shí)反映兩個(gè)兼容性注記craft是 new-work 的廢棄別名adds nothingteach是init的別名。這些語(yǔ)義在 .hermes/skills/impeccable/SKILL.md 的 Routing 與 Pin/Unpin 段落中均有明文。總結(jié)從靜態(tài)菜單到信號(hào)驅(qū)動(dòng)的推薦impeccable 的無(wú)參數(shù)路由本質(zhì)上是把用戶問(wèn)我該做什么這個(gè)模糊問(wèn)題轉(zhuǎn)化為一個(gè)可證偽的決策流水線impeccable context建立項(xiàng)目事實(shí)基線缺 PRODUCT.md 則路由到 initimpeccable signals產(chǎn)出 setup / critique / git / devServer / platform / scan 六類結(jié)構(gòu)化信號(hào)條件性的impeccable detect --json把本地文件掃描結(jié)果作為比猜測(cè)更真實(shí)的當(dāng)前信號(hào)折入決策Agent 推理信號(hào)而非機(jī)械打分輸出 2-3 條精確命令 完整菜單兜底任何情況下不自動(dòng)執(zhí)行命令把確認(rèn)權(quán)留給用戶。這套設(shè)計(jì)對(duì)構(gòu)建 AI 工具編排的開發(fā)者有直接的參考價(jià)值用輕量、無(wú)網(wǎng)絡(luò)依賴的本地信號(hào)替代猜測(cè)用明確的平臺(tái)邊界防止跨領(lǐng)域誤推薦用推薦 兜底菜單的兩層結(jié)構(gòu)保證輸出既聚焦又完備。深入研讀 crates/context/src/signals.rs 與 crates/context/src/context_cli.rs 的源碼實(shí)現(xiàn)可以進(jìn)一步看到每個(gè)信號(hào)字段的采集成本與邊界處理——這正是一個(gè)生產(chǎn)級(jí)命令路由系統(tǒng)應(yīng)有的樣子?!久赓M(fèi)下載鏈接】impeccableThe design language that makes your AI harness better at design.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/im/impeccable創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考