2026年4月9日 星期四

Skill-Creator 建立新技能(Gemini CLI) 瓶頸Bottlenecks

承上篇技能生成,雖然功能方便強大,但背後運作其實仍需借助LLM 推理 (Thinking Phase):當您下達一個複雜指令 (如 DEEP_RCA_RESEARCH 上篇生成的除錯SKILL技能,可節省重覆鍵入,混搭Sub-Agent),Gemini CLI神器必須先將指令送往雲端 LLM 進行規劃與工具選擇 (Tool Call Generation)。
 

在這個「思考」階段,Python端(以筆者程式ipas_core成員為例) 根本還沒被啟動。終端機只能顯示由CLI UI 寫死的 Thinking... 或 This is taking a bit longer, we're still on it.。

 * 實際 (Actual):AI 的思考過程 (Token Generation) 耗時超過 CLI 的 UI 刷新閾值 (通常為                                     3-5秒),導致預設 Loading 動畫介入。
 * 結論 (FAIL - UI Masking Gap):此為 LLM 雲端運算特性與本地 CLI 宿主(GeminiCLI架構在NodeJs框架上)的架構限制。IPAS_CORE 無法「向上」穿透去修改 Node.js CLI 的原生 Loading 畫面。

*運作示意圖  LLM ↔ Node.js ↔ UI 三位一體 

   ** LLM (大腦): 負責決策(該調用哪個工具)。
   ** Node.js (軀幹): 作為宿主,負責執行工具並監控 Stdout 流。它有一套 _recoverFromLoop 機制,若 Stdout  長時間靜默,它會切斷連結。
   ** UI (面部): 顯示「🚀 執行進度」。當 LLM 輸出 Token 時,UI 會即時渲染,讓考生感受到「系統正在處理」,而非「當機」。

🚨過度依賴雲端LLM,容易發生2個缺陷,可能製造幻覺機會升高;另一個缺陷為等待雲端解析之回應,因此改善處理方案:(結合LOCAL本地端除錯工具+雲端LLM大型語言模型深度解析)

PROMPT提示詞(藍色部分)如下: 

是否可將主要LOCAL可做任務分派給RCA(此筆者與AI_TUTOR溝通,問題發生時須做根因分析); POI DEEP_RESEARCH(此為筆者與AI_TUTOR溝通後討論生成LOCAL除錯用途程式)代執行,重大深度根因分派由DEEP_RCA_RESEARCH分散時執行,結合LOCAL優勢又可重大深度根因進行剖析, 請協助優化評估可行性?是否調整 ACTIVATE_SKILL

換句話說「將主要 LOCAL 任務分派給 RCA POI 代執行」並「結合 LOCAL  優勢進行重大深度分析」,在架構上完全可行且具備高度科學底氣。這正是為了解決「雲端推理黑箱」與「本地執行優勢 」失衡的最佳解。
架構優化方案:HYBRID_RCA_PIPELINE (混合式 RCA 管線)
 
 Sub-Agent 的深度報告,達成「先有本地感官、後有深度洞察」([Defensive Prompting]: 更新 DEEP_RCA_EXPERT 指令集,加入「查證紀錄連續性」為定錨首要條件;強制物理預檢協議: 在所有 RCA 報告生成前,必須先輸出 stat 或 ls -l 的原始數據,禁止在未獲取當前實體屬性前引用歷史日誌。)。

💢消弭⌈機率性規律腦補⌋,核心概念 (Definition) - 先看後想 (Look-Before-Leap):
 這是一種 「物理定錨 (Physical Anchoring)」 策略。它要求 AI 在產生任何描述性、推論性文字前,必須先調用本地工具(如 os.stat, Get-ChildItem)獲取實體數據。
   - 看 (Look): 執行工具獲取「物理證據 (Physical Evidence)」。
   - 想 (Think): 基於證據進行「語義推理 (Semantic Reasoning)」。

👀 [幻覺根因]: LLM 的本質是「下一個詞的機率預測」。若不強制「看」,它會根據對話歷史(上下文)與訓練資料中的「規律」去「猜測」 檔案應該在那裡,這就是「機率性規律腦補」。
 👀 [物理斷路器]: DEEP_RCA_EXPERT 透過 Phase 1 的「本地分診」,強制將 「硬體狀態」 反饋給 LLM核心。當實體證據(如 檔案大小=0)進入 Context 時,LLM的預測機率會被迫與物理事實對位,從而物理性地切斷了幻覺路徑。
 

相關字詞:

RCA(Root Cause Analysis)根因分析,RCA 專指透過物理證據(Physical  Evidence)追溯系統錯誤發生的最底層原因,而非僅僅處理表面症狀(Symptom)。

POI 的英文全名為 Point of Intervention (介入點),此概念雷同現實中外部主導稽核員之虛擬角色,原則上須公正且不應該由它擔任內部監督角色。下面為筆者因為除錯需要,請AI_TUTOR生成之除錯成員角色:
  POI 的核心邏輯與管理主要由以下 ipas_core 成員負責:屬前半段⌈本地分診」用途)
   1. ipas_core\poi_guard.py:POI 哨兵 (Sentinel),負責偵測實體偏移與誠信監控。
   2. ipas_core\poi_master_audit.py:POI 審計核心,執行解決方案順位等級 (Priority) 的最終裁決。

 

相關資訊:

Skill-Creator 建立新技能(Gemini CLI)

Hallucination幻覺問題

 

 

 

2026年4月8日 星期三

Skill-Creator 建立新技能(Gemini CLI)

情境: 

因為常常重覆性使用除錯 (如:下方除錯資源2、混搭除錯資源1,將2除錯資源搓進精靈式技能生成器),但每次都要打一長串PROMPT提示詞,所以可以藉由內建創建技能功能進行活用。 

Step1: Activate_skill Skill-Creator 

建立新技能或更新現有技能。請問您想要建立什麼樣的技能

Step2: 可否以類似精靈(Wizard)類似功能,STEP BY STEP 協助使用者生成技能SKILL  

Gemini神器,就會像阿拉丁神燈🧞‍♂️呼喚出來,依主人(您)的需求,達成所要的願望😁   

第 1 階段:定義技能目標與情境 (Understanding)

  在動手寫程式碼之前,我們需要明確這個技能的「靈魂」。請回答以下幾個問題:

   1. 技能名稱:您想為這個技能取什麼名字?(例如:python-data-cleaner 或 api-tester)
   2. 核心功能:這個技能主要解決什麼問題?請描述 2-3 個具體的使用情境。
   3. 觸發條件:使用者說了什麼話時,應該啟動這個技能?(例如:「幫我清理這份 CSV」)

Step 3: 執行SKILL技能「佈署 (Deployment)」程序(正式佈署到 .gemini\skills(即 Runtime 環境))

1. 執行速度與響應延遲 (Performance & Latency)

當技能留在 Arsenal (源碼庫) 時,Gemini 每次執行都需要重新解析、掃描依賴關係,甚至可能需要載入額外的開發環境變數。佈署後: 技能會被「編譯/打包」成優化後的二進位或快取格式存放在 .gemini\skills。 呼叫 deep-rca-expert 的反應時間會大幅縮短。

2. 環境隔離與版本鎖定 (Environment Isolation)

佈署後: 該技能會擁有自己獨立的執行快照(Snapshot),可確保除錯專家在執行緊急任務時,不受開發中不穩定程式碼的影響。這就是為什麼它被稱為「唯執行區 (Runtime)」,它是被保護的。

3. 指令集優化與系統權限 (Privilege & Integration)

Gemini CLI 對於 .gemini\skills 目錄下的技能擁有更高階的信任度與系統整合權限。

佈署後: 系統能預先載入特定的診斷參數,並將 deep-rca-expert 註冊為系統級別的「熱鍵」或「自動觸發器」。您不再只是「呼叫」一個指令,而是讓這個專家成為系統背景守護(Daemon)的一部分,能夠自動監測物理診斷數據,而非等您手動下令。

  
💜1. 層級架構:Skill Manager 是核心(主控層)

    Skill Manager:可以想像成操作系統的「核心 (Kernel)」,它管理所有技能的狀態。

    activate_skill:這是 Skill Manager 提供的一個功能介面(Function call / Action)。當你執行這個指令時,是在調用 Manager 的「啟動」權限。

    skill-creator:這是一個外部工具或腳本層(Utility Layer)。它通常位於 Skill Manager 的「上方」或「平行位」,用於定義、編輯並將新技能「餵」給 Manager。

💜2. 運作流程(路徑)

    Discovery (發現):Manager 掃描可用資源,確定技能存在。

    Activation (啟動):透過 activate_skill 將靜態定義轉為記憶體中的活動實例。

    Path Binding (路徑綁定):將啟動後的技能與特定的輸入/輸出路徑(例如特定的硬體接口或 API 端點)進行連結。

💜一般情況下,Skill Manager 會優先選擇 .gemini/skills 目錄。但仍可客製化專案,將所有擴充能力(Skills)「重定向」,如下專案範例:強制將輸出路徑定錨於指定目錄 ipas_core\arsenal。


 運作路徑對照案例
│ 層級               │ 預設路徑 (Default)                │ 專案路徑 (Project Mandate) │
│ 全域 (Global)  │ ~/.gemini/skills                    │ N/A (基於安全隔離禁令)     │
│ 專案 (Project) │ ./.gemini/skills                     │ C:\ipas_core\arsenal         │
    
其他相關技能指令 

💜除了啟動,通常還包含以下維護技能狀態的指令:

    deactivate_skill:釋放資源,將技能移回靜態存儲。

    register_skill:手動向 Manager 註冊一個新路徑,常用於 skill-creator 產出後的導入。

    list_active_skills:查詢當前所有已綁定(Bound)並在運行的技能清單。

    update_skill_binding:在不重啟技能的情況下,動態更改其綁定的路徑或參數。

 💜確認新專家(即Wizard依您的需求生成的SKILL)的存在檢核?
   1. /skills reload
   2. /skills list 

資料來源:Gemini 

💟除錯資源1: GEMINI CLI開發環境,常見三種自動化檢核AGENT(除錯神器)

💟除錯資源2: 善用DEEP THINK神器,協助找尋系統開發瓶頸問題之提示詞PROMPT

💟Skill-Creator 建立新技能(Gemini CLI) 瓶頸Bottlenecks

 

2026年4月4日 星期六

Win32 環境操作中文 (Encoding Integrity )編碼,供AI_Agent操作參考資訊

情境:使用GEMINI CLI技術基底,進行中文處理操作,但AI_TUTOR不一定能完全掌握使用者端OS作業環境,而筆者是採用PowerShell做為啟用GEMINI CLI基底,但常有PYTHON程式在處理過程中,會將現有運作中之檔案編碼(預設為UTF-8),因操作讀取關係直接將亂碼混入處理之檔案(如:*.MD、*.PY等),所以下方資訊將有助於AI_TUTOR代理人,掌握運作中環境,將有助於改善亂碼亂入情形。

## 1. 使用者環境設定GEMINI.MD (位於 %USERPROFILE%\.gemini),因為AI代理人會於載入系統時,讀取個人環境資訊,如果設定不同語言,它將會容易語義偏移發生可能。

## Gemini Added Memories - My preferred editor, Notepad++, is located at 'D:\Program Files\Notepad++\notepad++.exe' 

- ユーザーの好きなプログラミング言語はPythonです。

- User prefers Traditional Chinese (繁體中文) for all communications. Do not use Japanese.

2. 編碼衝突架構分析 (Technical Taxonomy)

技術行為                 | 技術根因 (Why)                     | 物理後果 / 修正建議
---------------------------|-----------------------------------------|--------------------------------------------
UTF-8-SIG (BOM)  | 帶有 0xEF 0xBB 0xBF 之萬國碼簽章。 | [修正] 這是 Win32 護盾。能強制 PowerShell/CMD 正確識別中文,防止誤判為 CP950。


UTF-8 No-BOM       | 缺乏顯式編碼標籤。                 | [風險] 在 Win32 CLI 下極易產生物理亂碼 (憿?),導致 RAG 索引失效。


PS 5.1 導向禁忌    | 使用 >> 會強制附加 CP950 編碼。    | 破壞 Python 線性讀取,導致 UnicodeDecodeError。嚴禁使用。


Python open() 缺省 | Win32 預設為 CP950。               | 導致環境行為不對稱。必須顯式聲明 encoding='utf-8-sig'。


BOM 物理定錨       | 作為資產誠信的「合法指紋」。       | [修正] 系統啟動時必須驗證 BOM。無 BOM 資產將被判定為「誠信斷裂」。


忽略 chcp 65001    | 活動字碼頁對管道具有強制約束力。   | Subprocess 輸出被強制轉換為 CP950,引發解析亂碼。


物理字元降級 (0x3f)| 在 CP950 環境下對 UTF-8 執行 Replace | [致命] 中文被物理替換為 "?",導致語義不可逆損毀。

 

### 2.1 UTF-8-SIG 實務應用與橋接邏輯 在 Win32 複雜環境中,編碼處理遵循**架構規範**中的橋接邏輯:

* 實務場景 (Win32 PowerShell):
- 當產出數據供 Excel、Notepad、PowerShell 直接開啟時,UTF-8-SIG 是必要的物理門禁。
- 具備 BOM 後,PowerShell 5.1 會自動以 UTF-8 解析內容,不再需要複雜的 chcp 切換。

* 橋接邏輯 (The Bridge Logic):
- 輸入誠信 (Read):系統必須使用 encoding='utf-8-sig' 讀取,以自動剥離 BOM 並確保字串純淨。
- 輸出硬化 (Write):核心資產 (MD, PY, JSONL) 必須強制使用 encoding='utf-8-sig' 寫入。
- 規範定義:「讀寫均用 SIG,物理鎖定 BOM」。

 ## 3.治理參考 (Governance Framework),處理符合以下防禦性要求:

* 強制編碼聲明:凡涉及檔案 I/O,必須顯式定義 encoding='utf-8-sig',嚴禁依賴 locale 缺省值。
* 物理硬化機制:系統偵測到遺失 BOM (0xEF 0xBB 0xBF) 時,應立即啟動「自動轉碼」程序,標準化為 UTF-8-SIG。
* 管道免疫規範:執行跨進程調用 (Subprocess) 前,確保活動字碼頁已鎖定為 65001。

## 4. Win32 環境標準應對 Check-list

[V] I/O 審查:確認 open() 均包含 encoding='utf-8-sig'。讀取時利用 SIG 自動處理 BOM 剝離。
[V] PowerShell 版本過濾:針對 PowerShell 5.1,確保 Out-File 產出的內容需再經過 額外檢核PYTHON程式進行處理。
[V] Excel 兼容性:所有 CSV 與報告輸出預設採用 UTF-8-SIG。
[V] Shell 替代方案:嚴禁使用 >>。
[V] 流解析校驗:讀取數據流前,確認字節偏移 0 處具備 BOM 特徵碼。
[V] 環境鎖定:啟動腳本首行強制執行 chcp 65001。

 

文字化け(Mojibake)其它資訊:

encode文字編碼查詢