# AI找到失敗訂單，金額卻少了？Context Mode兩千筆紀錄實測

- 網址：https://blog.valenvan.uk/posts/mksglu-context-mode.html
- 發布日期：2026-10-22
- 測試設備：Mac mini M4 Pro（12 核、64GB）
- 專案：mksglu/context-mode（https://github.com/mksglu/context-mode），NOASSERTION 授權
- 測試版本：npm context-mode 1.0.169；原始碼快照 a92cf6a77ac02971fb5fafe2155e5ee229491884
- 實測影片：https://www.youtube.com/shorts/R-D-VMz4_jQ

## 重點摘要

- 2000筆自製訂單原文96029 bytes，Context Mode中文搜尋回覆2082 bytes。
- 三個付款失敗編號都出現，但1837號的436元未出現在搜尋預覽。
- ctx_execute精確篩選取回3筆完整紀錄，包含第三筆436元。
- 搜尋不存在的REFUNDED回報No results found；本次未接模型或量測額度。
- **結論：** 搜尋取回3個編號仍截掉第三筆金額，精確篩選才取到3筆完整資料。
- **適合：** 本次驗證的是從2000筆文字定位與精確篩選的流程，適用性限此範圍。
- **不適合：** 本次沒有驗證一般聊天、完整模型對話、額度節省或跨對話記憶。

| 實測項目 | 結果 |
|---|---|
| 自製訂單 | 2000筆 |
| 原文字節數 | 96029 |
| 中文搜尋回覆字節數 | 2082 |
| 搜尋出現失敗編號 | 3/3 |
| 搜尋預覽第三筆436元 | 未出現 |
| 精確篩選 | 3筆完整 |
| 索引單次秒數 | 0.058 |
| 中文搜尋單次秒數 | 0.0272 |
| 精確篩選單次秒數 | 0.0258 |

假設你經營網路小店，客人反映已經付款，系統卻沒有確認。你想請電腦裡的AI助理找出付款失敗的訂單，先把需要處理的單列出來。問題是：紀錄很多，全部貼進對話會占空間；只看摘要，又怕最需要的金額被省略。這是本次設計的示意情境，不是真實客訴，也沒有使用任何客戶資料。

Context Mode提供接給AI助理使用的資料工具，可以先把文件建立索引，再按問題取回內容。這次測的是npm發布的1.0.169版，測試設備為Mac mini M4 Pro（12核、64GB）。沒有登入模型、沒有把私人訂閱或金鑰交給受測專案，也沒有驗證完整的AI對話流程。

## 先裝得起來，才談結果

直接在原始碼目錄執行npm install，約5.9秒後遇到讀取edgesOut的錯誤。這只能證明本次安裝失敗，不能認定每個使用者都會遇到。改用獨立資料夾安裝正式套件，11.5秒完成，新增141個套件。受測原始碼快照為a92cf6a77ac02971fb5fafe2155e5ee229491884；發布套件與原始碼快照不當成完全相同的版本。

```bash
mkdir cmtest
cd cmtest
npm init -y
npm install context-mode --no-audit --no-fund
```

這些是套件安裝步驟，還不是聊天網頁的一鍵外掛。不同AI助理的連接方式應依專案README設定。本次透過MCP客戶端直接呼叫工具，避免把「模型有沒有正確選工具」混進資料工具測試。

## 找到編號，不等於拿到完整金額

樣本是2000筆自行產生的訂單文字，共96029 bytes；只有0137、1000、1837三筆標記付款失敗，金額分別是236、599、436元。先用ctx_index建立索引，再用ctx_search搜尋「付款失敗」。這次索引約0.058秒，中文搜尋約0.0272秒；都是單次測量，不能視為所有電腦的速度保證。

![搜尋找到三個編號，但第三筆金額被截掉](https://blog.valenvan.uk/img/mksglu-context-mode-article_1.png)

搜尋回覆只有2082 bytes，約比原文少97.8%。三個編號都有出現，但第三筆變成省略號，436元沒有出現在回覆中。這是搜尋預覽被截短，不代表磁碟裡的原始資料消失。英文搜尋PAYMENT_FAILED也能定位三筆，卻同樣不能把預覽當成完整帳目。

| 實測項目 | 結果 |
|---|---|
| 自製訂單 | 2000筆，原文96029 bytes |
| 中文搜尋回覆 | 2082 bytes，3個失敗編號皆出現 |
| 第三筆金額 | 搜尋預覽沒有436元 |
| 精確篩選 | 3筆完整紀錄，包含436元 |
| 不存在的REFUNDED | 回報No results found |

## 要對帳，就把整筆紀錄取出來

接著改用ctx_execute執行明確的條件篩選，讀同一份文字，只保留含有「付款失敗」的整行。這不是要求AI猜遺失的數字，而是從原資料取回欄位。約0.0258秒取得三筆完整內容；再查不存在的退款詞，工具回報找不到，沒有自行補出退款訂單。

```bash
# 在同一份自製樣本上，可用這個指令獨立核對完整資料
python3 -c "from pathlib import Path; print('\n'.join(x for x in Path('/tmp/orders.txt').read_text().splitlines() if '付款失敗' in x))"
```

影片中的實際流程是透過ctx_execute執行JavaScript篩選；上方Python是供讀者核對的等價指令，未當成本次計時依據。

![精確篩選取回完整三筆紀錄](https://blog.valenvan.uk/img/mksglu-context-mode-article_2.png)

我會把它當作大量紀錄的取用工具考慮，但對帳時一定要求完整紀錄、欄位與來源。一般聊天不用為了這個特地安裝。本次沒有測模型回答品質、跨對話記憶、壓縮後恢復或真實額度，因此2082 bytes不能解讀成省下97.8%帳單，也不是讓模型變聰明的證據。

專案：[mksglu/context-mode](https://github.com/mksglu/context-mode)。受測套件標示Elastic-2.0授權，使用及再提供服務前請閱讀專案LICENSE條款。
