AI代理環境說明

01|研究與預算資料處理環境盤點及說明

查核日期:2026-10-20,Asia/Taipei;對象:本機 Mac mini。 以實機唯讀查詢為主,既有文件與實驗產物只作角色、用途及歷史驗證佐證。機器可識別資訊、帳號、IP/MAC、端點、憑證、對話內容與完整設定均不納入交付。機器可讀證據:同目錄 environment-evidence.json。

一、述職摘要

已建置「本地解析與模型研究環境+OpenClaw 代理協作+SQLite 可追溯資料層」。本機負責 PDF 原文/座標處理、部分本地語言與視覺模型運算、資料驗證及版本化保存;研究員主代理目前以遠端 API 模型進行規劃與協作,因此不是全離線系統。

本次 live 核實:Apple M6、12 核 CPU、32 GiB 記憶體、macOS 27.0.1;OpenClaw 2026.9.8 Gateway 正在運行且可達;有效設定代理為 1 個 main(研究員);Ollama 0.35.1 服務可回應、已安裝 5 個 GGUF 模型,查核時 0 個已載入模型。另外,專案登錄目錄內存在 2 套 MLX 視覺模型基座與已鎖定的欄頭/數值 LoRA adapter。

財政資料必須分庫敘述:來源忠實庫實體 6,351 records/34,834 fields/6 snapshots,preferred 查詢得到 6,074 records/31,375 fields;歷史 canonical 庫為 5,984 records/32,007 fields/180 snapshots。這些是不同用途與版本粒度,不能相加、不能互當替代值,也不代表全量人工確認或業務計畫總數。

二、主機與軟體配置

層次 實機核實值 說明/狀態
主機 Mac mini;Model Identifier Mac18,5 型號由 sysctl 查得,未擷取序號/UUID
CPU Apple M6;12 實體/12 邏輯核心 不以核心數推論實際任務速度
RAM 34,359,738,368 bytes=32 GiB CPU/GPU 共用記憶體,非獨立顯卡 VRAM
GPU system_profiler 顯示 Apple M6 本輪只確認名稱,未量測 Metal 效能或重新核對 GPU 核數
OS/核心 macOS 27.0.1,build 26A434;Darwin 27.0.0 arm64 系統版本與核心版本是不同欄位
磁碟 根磁碟約 460.4 GiB;可用共享空間約 159.8 GiB APFS 根 snapshot 已用約 12.7 GiB 不是整台已用容量;精確 KiB 見 evidence
Node.js v24.21.0 OpenClaw 執行環境
OpenClaw 2026.9.8(fc23bc8) Gateway LaunchAgent installed/loaded/running;本機模式且可達
系統 Python 3.9.6 不等於專案實際使用版本
專案 PDF Python 3.12.15,既有 .venv PyMuPDF 1.28.2、pymupdf4llm 1.28.2
視覺模型 Python 3.12.15,專案既有獨立 .venv MLX 0.32.3、MLX-Metal 0.32.3、MLX-VLM 0.7.4、Transformers 5.18.0、huggingface-hub 1.33.0
SQLite CLI/系統 Python 3.54.0;PDF venv Python 連結 3.53.1 是不同執行檔連結版本,不是同一 DB 有兩個版本
Ollama 0.35.1 App 內 CLI,不在預設 shell PATH;服務正常、僅 loopback listener

另查得 OpenClaw node service 未安裝;這不等於 Gateway 不可用,也不證明沒有其他已配對設備。本次不做跨設備盤點。memory-core 插件已啟用,但本輪沒有讀取私人記憶或聊天內容。

三、元件角色與資料流

使用者請求 → OpenClaw Gateway → main(研究員,遠端模型規劃/協作)
                                  └→ 臨時 subagent:盤點、研究、程式/審核等任務
官方單一來源 PDF → 本地 Python 原文/字元/座標與圖像處理
                   ├→ 原生文字/表格:確定性解析與來源重播
                   └→ 困難視覺區域:既有 MLX 基座+鎖定 adapter/本地模型實驗
                           ↓
                  候選值+來源 refs+原文/狀態+驗證證據
                           ↓
      source-faithful-116.sqlite(來源層,歷史+preferred 解決更正版本)
                           +
      fragment/metadata sidecar(來源片段、表頭、父子層級與角色證據)

canonical.sqlite:既有獨立 source-reviewed 歷史/pilot 資料層;不是新來源層的別名。

產品架構依隨附官方文件:Gateway 為長駐控制平面,維持通道、工具及模型連接;agent 是工作區/狀態/模型/session 的身分邊界。工具能讀取本機檔案不表示 agent 本身是另一個常駐 OS 服務。專案程式同時存在解析、模型、source gate、review/promotion 等不同路線;不能將某次輸出品質歸功於所有模型,或將 Python 的確定性取值算成模型自主辨識能力。

四、代理配置與分工

live 使用 openclaw agents list --json,有效列表只有:

agent ID 名稱/身分 預設模型 Runtime/角色
main main/研究員 sub2/gpt-6.1-sol 原生 OpenClaw agent runtime;協調使用者任務、工具及研究工作

設定未明示額外 runtime override;本報告本身是在 main 所派生的 runtime=subagent 執行中完成。subagent 是針對任務建立的獨立 run/session,並非另一套已安裝代理。 可用於平行盤點、程式實作、來源核對及交付審核;任務結束後向父代理回報。歷史 session 數、子任務標籤及曾用角色名稱,不可當作已配置 agent 數量或持續在線人力。

本輪工具目錄沒有獨立 agents_list 工具,因此以官方 CLI 有效列表+設定非敏感白名單欄位交叉查證;不是以 agents 目錄數量猜測。

五、模型安裝/設定/載入/驗證狀態

5.1 Ollama 本地權重

五個模型皆由 live /api/tags、ollama list 及本機 manifest 核實,格式 GGUF、量化 Q4_K_M;manifest 所列 layer blob 檔案皆存在。這是存在性驗證,未重算全部大型 blob 雜湊,也未重新推論。

模型 metadata 參數量 本機大小(十進位 GB) 用途與狀態
qwen3:14b 14.8B 9.276 本地文字/JSON 預算候選;OpenClaw ollama provider 已設定;既有驗收與比較產物存在;當下未載入
deepseek-r1:14b 14.8B 8.988 本地推理候選;已安裝;本輪未逐一核實歷史任務品質;當下未載入
gemma4:12b 11.9B 8.022 既有模型比較/可靠性試驗;已安裝、歷史比較產物存在;不等於正式品質合格;當下未載入
mistral-small3.2:24b 24.0B 15.177 既有文字/結構化比較對照;已安裝;當下未載入
gemma3:27b 27.4B 17.397 大模型對照試驗;已安裝;既有實驗記有資源/完成度限制,不能宣稱穩定優於小模型;當下未載入

服務 RunAtLoad/KeepAlive 為 true,現有 LaunchAgent 設 OLLAMA_NO_CLOUD=1,live listener 僅 loopback。服務運行不等於模型常駐記憶體;ollama ps 與 /api/ps 均為空。登入自啟動設定存在,但本輪沒有重啟、登出登入或斷電驗收。

5.2 MLX/Hugging Face 專案本地檔

只查專案既有 lock、程式及模型卡已登錄路徑,未掃全機私人快取,也未下載。

項目 已核實內容 用途/界線
vlm-smoke-20261005/model 模型卡 mlx-community/Qwen3-VL-2B-Instruct-4bit;model_type=qwen3_vl;4-bit affine、group_size=64;safetensors 1,782,040,921 bytes 約 2B 視覺語言基座;是本地完整基座權重,不是 API
vlm-smoke-20261005/gemma-model 模型卡 mlx-community/gemma-3-4b-it-4bit;model_type=gemma3;4-bit、group_size=64;safetensors 3,400,569,562 bytes 約 4B 視覺對照基座;Gemma 條款,不是 Apache-2.0 無限制授權
vlm-full-path-isolated-20261006/checkpoint-100 已登錄 header/meta adapter;LoRA rank=8、scale=2、dropout=0;34,913,168 bytes 欄頭/metadata 任務;須搭配 Qwen3-VL 基座
vlm-full-path-training-20261006/selected 已登錄 value adapter;同樣 LoRA rank=8、34,913,168 bytes 數值路線;不是另一個完整模型,也非全任務品質認證

路徑前綴均為 data/kaohsiung-budget/。lock 引用、adapter config、權重存在與 adapter SHA256 收錄於 evidence。其他歷史 checkpoint 確實存在,但不是新 agent、不是另一套基座,也未逐個驗收。

歷史 reload_comparison.json 保存 finite=true、greedy_all_equal=true、reload_max_logit_diff=0;這僅證明當時該 smoke adapter 的存載一致性,不等於所有現用 adapter 的獨立品質證明。本輪沒有載入 MLX、訓練或推論;常見程序名稱檢查未見 mlx,但不足以斷言所有 Python 進程均未載入模型,因此 MLX resident/running 狀態記為未全面核實。

5.3 遠端 API 設定

六、資料庫用途、schema 與查詢注意

6.1 主來源庫與 canonical 必須分開

資料庫/查詢 live 數量 用途與注意
data/kaohsiung-budget/db/source-faithful-116.sqlite records 6,351;fields 34,834;snapshots 6;historical_values 6,235 單一官方116預算案 PDF 的忠實來源歷史;含更正前版本,不能直接 SUM
preferred query v1 records 6,074;fields 31,375;排除實體歷史 277 records 以實際 resolution 排除 superseded,stable source identity 唯一;不是 DB 內建 preferred view
data/kaohsiung-budget/db/canonical.sqlite pilot_records 5,984;pilot_fields 32,007;pilot_snapshots 180 獨立歷史 source-reviewed/pilot 庫;不是來源庫的總數,snapshot 不同粒度
canonical 人工範圍 pilot_human_only 26 fields;整列 human_verified=1 僅1 record source_reviewed 不等於 human gold;不可把整庫說成已人工核對

兩庫 live PRAGMA quick_check 均為 ok;這是結構快速檢查,不是逐欄語義正確或本輪備份還原驗證。兩庫 user_version=0,不能用此欄推斷「無 schema」;本輪已讀取 sqlite_master,schema 摘要與定義載於 evidence。

來源 schema:snapshots(version,source_hash,manifest_hash);records(identity,version,table_id,row_identity,payload);fields(identity,path,source_state,source_value,source_original,refs,payload);historical_values 保存舊衍生/正規化值;source_only 是 records 與 fields join,仍包含歷史。

canonical schema:pilot_snapshots、pilot_records、pilot_fields、pilot_provenance;pilot_default 限 source_reviewed,pilot_human_only 再限 field_human_verified。既有 trigger 採 append-only/保存歷史,與 source 庫更正 resolution 不是同一機制。

6.2 單文件、空白與加總原則

  1. 最新來源層以專案登錄的唯一官方116預算案 PDF為依據,不跨 Word、外部年度或歷史數字補值。
  2. 來源欄空白保留原文空字串及 NULL;本輪查得實體 source_blank 8,400 fields,非 NULL 的異常數 0。原文 literal_zero、dash、空字串、不可讀及衍生值要分開;空白不得自動改0或宣稱不適用。
  3. 舊程式曾有特定 normal-native-blank→0 路線,不應沿用為新來源層通則;新 source 層與 historical_values 分離正是為保留此差異。
  4. preferred 查詢要用 source_preferred_query_v1.query() 或其官方專案 CLI,不能只讀 source_only 就稱「最新」。本輪只 import/呼叫讀取函式,未執行寫出結果的 CLI。
  5. 以 source_role 區分一般預算列、主管/機關/科目 subtotal、金額原文出現、raster machine transcription、局部確認轉錄。不同角色不可混加;主管與所屬、總計與明細、不同年度/單位/stage 不可混合加總。
  6. preferred 仍含144筆 original_money_occurrence_not_budget_indicator、7筆 raster_machine_transcription_not_semantic、1筆 raster_locally_confirmed_label_value;因此 6,074 不是6,074個業務計畫,也不是全量語義或人工驗證值。

6.3 Fragment、sidecar 與 OpenClaw 狀態庫

七、本地與雲端邊界

八、現況、限制與維運建議

  1. 目前具備研究基礎,不宣稱全自動/全量 human/生產品質保證。 安裝、配置、運行、歷史測試與本次實測分開報告;本次只做 metadata 與 DB 唯讀查核。
  2. 32 GiB 共享記憶體下,大模型與 MLX 多圖運算應序列化並保留 OS headroom;不能把磁碟權重大小當 peak RAM。實驗應記錄 memory pressure、swap、圖像/token 上限及停止條件。
  3. 磁碟可用空間較早期安裝紀錄下降;後續可先盤點大型模型、歷史 clone/backup,再由使用者決定保留政策。本輪沒有刪除或壓縮任何資料。
  4. 固定使用專案 interpreter,不混用系統 Python;MLX/PDF venv 分離,保留 requirements、模型 card、revision/hash 與 adapter/base 配對。
  5. 查詢報表應註明 DB 路徑、preferred 版本、日期、source_role、單位、NULL規則及人工範圍,避免舊 README 歷史數量被誤當現況。
  6. 維持唯讀查詢與寫入流程分離;批次 promotion/修正前做一致備份與還原試驗、idempotency、來源證據和負例測試。這是建議,本輪未執行備份還原或改變排程。
  7. Gateway 模型、heartbeat、scheduler、provider、LaunchAgent、服務與系統設定完全未改;未安裝套件、下載、啟動模型或發起大推論。

九、證據、重現與官方說明

本次只在同目錄產生本文件及 environment-evidence.json。JSON 含查核時間、白名單 status、模型尺寸/量化、manifest blob 存在性、adapter SHA256、兩庫 schema/計數/quick_check、preferred 唯一性與 fragment/sidecar 計數。

安全重現指令/方式(原始 status、agents list 等應留在記憶體篩選後再交付,不全貼):

sysctl -n hw.model machdep.cpu.brand_string hw.physicalcpu hw.logicalcpu hw.memsize
sw_vers
uname -sr; uname -m
df -k /
node --version; python3 --version; sqlite3 --version; openclaw --version
openclaw agents list --json
openclaw status --json
/Applications/Ollama.app/Contents/Resources/ollama --version
/Applications/Ollama.app/Contents/Resources/ollama list
/Applications/Ollama.app/Contents/Resources/ollama ps

DB 以 Python sqlite3.connect('file:<專案DB>?mode=ro', uri=True) 開啟,只查 SELECT count(*)、sqlite_master、PRAGMA quick_check 與明確來源狀態;preferred 以 PYTHONDONTWRITEBYTECODE=1 import 專案既有 read-only query 函式。套件版本用 importlib.metadata,不 import 模型/不觸發 GPU。

官方/上游參考(本輪架構讀取隨套件本機文件,未聲稱重新上網驗證每個連結):

未核實範圍:全磁碟所有模型/HF cache、所有歷史 adapter、遠端 provider SLA/資料條款與另行 API 健康測試、MLX 當下全進程 resident 狀態、完整模型 blob 重新 hash、GPU效能、重開機後自啟動、全量 PDF 座標重播、獨立人核品質、全量語義及備份還原。本文件不以任何一項未核實內容作成果宣稱。