前一篇針對 Groq 的 GPT OSS 120B 模型的測試發現 Free 帳戶幾乎無法在 OpenClaw 中正常使用, 所以還是切回 primary: gemini-2.5-flash 與 fallback: gpt-5.6-luna 配置, 順便對 Gemini 2.5 Flash 做效能測試.
1. 復原主備援模型 :
復原程序如下 :
設定 primary 模型為 Gemini 2.5 Flash :
pi@pi4b:~ $ openclaw config set agents.defaults.model.primary "google/gemini-2.5-flash"
│
◇
OpenClaw 2026.7.1-2 (0790d9f)
I'm not magic—I'm just extremely persistent with retries and coping strategies.
Updated agents.defaults.model.primary. Change will apply without restarting the gateway.
設定備援模型清單, 只設定單一成員 GPT 5.6 Luna :
pi@pi4b:~ $ openclaw config set agents.defaults.model.fallbacks '["openai/gpt-5.6-luna"]'
│
◇
OpenClaw 2026.7.1-2 (0790d9f)
I'm basically a Swiss Army knife, but with more opinions and fewer sharp edges.
Updated agents.defaults.model.fallbacks. Change will apply without restarting the gateway.
檢視設定結果 :
pi@pi4b:~ $ openclaw config get agents.defaults.model
OpenClaw 2026.7.1-2 (0790d9f) — Less clicking, more shipping, fewer "where did that file go" moments.
{
"primary": "google/gemini-2.5-flash",
"fallbacks": [
"openai/gpt-5.6-luna"
]
}
驗證設定檔是否有效 :
pi@pi4b:~ $ openclaw config validate
│
◇
OpenClaw 2026.7.1-2 (0790d9f)
I run on caffeine, JSON5, and the audacity of "it worked on my machine."
Config valid: ~/.openclaw/openclaw.json
最後殺程序觸發服務重啟 :
pi@pi4b:~ $ pkill -9 -f openclaw
2. 能力測驗 :
以下對 Gemini 2.5 Flash 進行五項能力考驗 :
(1). 網路搜尋 :
提示詞如下 :
台積電 ADR 目前價格?
結果 :
(2). Python 知識 :
提示詞如下 :
請用繁體中文解釋 Python 的 list、tuple、set 三者差異。
要求:
1. 用表格比較
2. 各給一個實際例子
3. 說明什麼情況下應該選哪一個
結果如下 :
關於三個資料結構差異, 其回應如下 :
好的,Tony,這就為您解釋 Python 中 list、tuple、set 三者的差異,並附上表格比較、實際例子及使用時機建議。
Python list, tuple, set 差異比較
實際例子
1. list (列表) 範例
2. tuple (元組) 範例
3. set (集合) 範例
什麼情況下應該選哪一個?
* 選擇 list (列表) 的時機:
* 當您需要一個可變的序列,允許新增、刪除或修改元素。
* 元素的順序很重要,且可以包含重複的元素。
* 例如:待辦事項清單、歷史紀錄、資料庫查詢結果集。
* 選擇 tuple (元組) 的時機:
* 當您需要一個不可變的序列,一旦定義就不希望其內容被修改。
* 元素的順序很重要,且可以包含重複的元素。
* 經常用於表示固定數量和順序的資料,例如:座標點 (x, y)、RGB 顏色值 (R, G, B)、函數的多個返回值。
* 元組可以作為字典的鍵 (因為其不可變性)。
* 作為函數參數傳遞時,可以確保資料不會在函數內部被意外修改。
* 選擇 set (集合) 的時機:
* 當您需要儲存一系列獨一無二的元素,不關心元素順序。
* 需要高效地檢查元素是否存在於集合中 (通常比列表快)。
* 需要進行數學上的集合操作,例如:聯集 (union)、交集 (intersection)、差集 (difference) 等。
* 例如:追蹤網站的唯一訪客 IP 位址、找出兩個班級共同的學生、從列表中去除重複元素。
Usage: 14k in / 1.5k out
程式碼範例 :
(3). 推理能力 :
提示詞如下 :
有 100 顆球,其中 1 顆重量不同,但不知道它比較重還是比較輕。只有一個沒有砝碼的天平,最多可以秤 3 次。請找出異常球,並判斷它是比較重還是比較輕。請完整說明策略。
結果如下 :
這個問題在數學上,對於 100 顆球並在最多 3 次秤重內找出異常球並判斷輕重,是不可能解決的。
原因解釋:
1. 天平秤重的結果數: 一個沒有砝碼的天平每次秤重有 3 種可能結果:
* 左邊重
* 右邊重
* 兩邊一樣重
2. 3 次秤重的最大區分能力: 如果最多秤 3 次,則總共可以得到 $3 \times 3 \times 3 = 3^3 = 27$ 種不同的結果。
3. 100 顆球所需區分的可能性:
* 我們要從 100 顆球中找出哪一顆是異常球,這有 100 種可能性。
* 還要判斷這顆異常球是比正常球重還是輕,這有 2 種可能性。
* 因此,總共需要區分的可能性為 $100 \times 2 = 200$ 種。
4. 結論: 因為 200 (所需區分的可能性) > 27 (3 次秤重能提供的最大結果數),所以不可能在 3 次秤重內解決 100 顆球的問題。
解決類似問題的策略 (以 12 顆球為例,這是可以在 3 次秤重內解決的最大數量之一):
雖然 100 顆球無法解決,但我可以完整說明這種邏輯問題的解決策略,以 12 顆球為例(12 顆球有 $12 \times 2 = 24$ 種可能性,小於 27,因此可解)。
目標: 從 12 顆球中找出 1 顆異常球,並判斷它是重還是輕。
球的編號: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
第一次秤重: (將 12 顆球分為三組,每組 4 顆)
* 左邊: (1, 2, 3, 4)
* 右邊: (5, 6, 7, 8)
* 保留: (9, 10, 11, 12)
結果分析:
1. 情況一:天平兩邊相等 (1,2,3,4) = (5,6,7,8)
* 推斷: 球 1-8 都是正常的。異常球在保留的 (9, 10, 11, 12) 這 4 顆球中。
* 剩餘任務: 從 4 顆球中找出異常球並判斷輕重,有 8 種可能性 ($4 \times 2 = 8$),剩下 2 次秤重。
2. 情況二:左邊輕 (1,2,3,4) < (5,6,7,8)
* 推斷:
* 異常球在 (1,2,3,4) 中且比正常球輕 (Lighter)。
* 或者異常球在 (5,6,7,8) 中且比正常球重 (Heavier)。
* 推斷: 球 9-12 都是正常的。
* 剩餘任務: 從 8 顆球中找出異常球並判斷輕重 (已知輕或重),有 8 種可能性 ($4 \text{L} + 4 \text{H} = 8$),剩下 2 次秤重。
3. 情況三:左邊重 (1,2,3,4) > (5,6,7,8)
* 推斷:
* 異常球在 (1,2,3,4) 中且比正常球重 (Heavier)。
* 或者異常球在 (5,6,7,8) 中且比正常球輕 (Lighter)。
* 推斷: 球 9-12 都是正常的。
* 剩餘任務: 與情況二對稱,從 8 顆球中找出異常球並判斷輕重,有 8 種可能性,剩下 2 次秤重。
第二次秤重 (以情況一為例:異常球在 9,10,11,12 中):
* 已知: (1,2,3,4,5,6,7,8) 都是正常球。
* 左邊: (9, 10, 11) (三顆可疑球)
* 右邊: (1, 2, 3) (三顆正常球)
* 保留: (12) (一顆可疑球)
結果分析:
1. 情況 1.1:天平兩邊相等 (9,10,11) = (1,2,3)
* 推斷: 球 9,10,11 都是正常的。異常球是 12。
* 剩餘任務: 判斷球 12 的輕重,剩下 1 次秤重。
2. 情況 1.2:左邊重 (9,10,11) > (1,2,3)
* 推斷: 異常球在 (9,10,11) 中且比正常球重。
* 剩餘任務: 從 3 顆球中找出較重的異常球,剩下 1 次秤重。
3. 情況 1.3:左邊輕 (9,10,11) < (1,2,3)
* 推斷: 異常球在 (9,10,11) 中且比正常球輕。
* 剩餘任務: 從 3 顆球中找出較輕的異常球,剩下 1 次秤重。
第三次秤重 (接續情況 1.1, 1.2, 1.3 的子情況):
* 接續 1.1 (異常球是 12):
* 左邊: (12)
* 右邊: (1) (正常球)
* 結果:
* 12 > 1:球 12 較重。
* 12 < 1:球 12 較輕。
* 接續 1.2 (9,10,11 中有一顆較重):
* 左邊: (9)
* 右邊: (10)
* 結果:
* 9 > 10:球 9 較重。
* 9 < 10:球 10 較重。
* 9 = 10:球 11 較重。
* 接續 1.3 (9,10,11 中有一顆較輕):
* 左邊: (9)
* 右邊: (10)
* 結果:
* 9 > 10:球 10 較輕。
* 9 < 10:球 9 較輕。
* 9 = 10:球 11 較輕。
第二次秤重 (以情況二為例:異常球在 (1L,2L,3L,4L,5H,6H,7H,8H) 中):
* 已知: (9,10,11,12) 都是正常球。
* 左邊: (1, 5, 9) (1L?, 5H?, 9N)
* 右邊: (2, 6, 10) (2L?, 6H?, 10N)
* 保留: (3, 4, 7, 8) (3L?, 4L?, 7H?, 8H?)
結果分析:
1. 情況 2.1:天平兩邊相等 (1,5,9) = (2,6,10)
* 推斷: 球 1,2 正常,球 5,6 正常 (因為若 1 是輕的,天平會偏輕;若 5 是重的,天平會偏重,現在相等表示兩者都正常)。
* 推斷: 異常球在保留的 (3L, 4L, 7H, 8H) 這 4 顆球中。
* 剩餘任務: 從這 4 顆球中找出異常球並判斷輕重,剩下 1 次秤重。
2. 情況 2.2:左邊重 (1,5,9) > (2,6,10)
* 推斷: 這表示左邊有重球或右邊有輕球。
* 可能 5 是重球或 6 是重球 (這是從第一次秤重推斷出的)。
* 也可能 2 是輕球 (這是從第一次秤重推斷出的)。
* 不可能 1 是輕球 (因為天平偏重)。
* 推斷: 異常球是 5H 或 6H 或 2L。
* 剩餘任務: 從這 3 顆球中找出異常球並判斷輕重,剩下 1 次秤重。
3. 情況 2.3:左邊輕 (1,5,9) < (2,6,10)
* 推斷: 這表示左邊有輕球或右邊有重球。
* 可能 1 是輕球 (這是從第一次秤重推斷出的)。
* 不可能 5,6 是重球。
* 不可能 2 是輕球。
* 推斷: 異常球是 1L。
* 剩餘任務: 只剩 1L,已經知道是哪顆球和它的輕重,無需第三次秤重。
第三次秤重 (接續情況 2.1, 2.2 的子情況):
* 接續 2.1 (異常球在 3L, 4L, 7H, 8H 中):
* 左邊: (3) (疑似輕)
* 右邊: (7) (疑似重)
* 結果:
* 3 < 7:球 3 較輕。
* 3 > 7:球 7 較重。
* 3 = 7:異常球在保留的 (4L, 8H) 中。
* 再比較: (4) vs (1) (正常球)
* 4 < 1:球 4 較輕。
* 4 = 1:球 8 較重。
* 接續 2.2 (異常球是 5H, 6H, 2L 之一):
* 左邊: (5) (疑似重)
* 右邊: (6) (疑似重)
* 結果:
* 5 > 6:球 5 較重。
* 5 < 6:球 6 較重。
* 5 = 6:球 2 較輕。
情況三的解決方法 則是與情況二對稱的,透過同樣的策略步驟即可得出答案。
這個策略的關鍵在於每次秤重都盡可能地將球分成三組,並利用天平的三種結果來最大化地排除可能性,同時巧妙地組合「已知可能輕」和「已知可能重」的球與已知正常的球進行比較。
總之,100 顆球在 3 次秤重內是無解的。上述策略適用於 12 顆球的情況。
Usage: 14k in / 9.5k out
(4). Python 程式能力 :
提示詞如下 :
請寫一個 Python 函式:
def detect_drawdown(prices, threshold=0.2):
輸入是一個每日收盤價 list,找出所有從歷史高點回撤超過 threshold 的區段。
要求:
- 使用 pandas
- 回傳每個 drawdown 的 peak date、trough date、peak price、trough price、drawdown
- 處理空資料
- 提供可直接執行的完整程式
- 附一組測試資料
結果如下 :
程式碼 :
(5). Tool Calling 能力 :
提示詞如下 :
請在目前 Raspberry Pi 上執行:
uname -a
free -h
df -h
然後整理成一個簡短的系統狀態報告。
結果如下 :






































