星期五, 10月 03, 2025

Follow up to #4 Complex Constraints

1. AI may generate hardcoded programs.

Another animation of a search tree

animation of search tree

從程式碼結果推測基本上ChatGPT 先得到答案之後,硬編碼成Python,所以執行Python 會得到預期的結果。

程式是要幫我們探索可能性,詹姆士可以接艾蜜莉,但如果詹姆士飛機延遲了,沒辦法去接艾蜜莉,程式可以幫我們找出新的計畫,派別的人去接愛蜜莉,可是你的程式裡面,永遠只允許麥可去接艾蜜莉。

你的程式強制麥可必須接艾蜜莉。萬一麥可塞車在紐約,誰會去接艾蜜莉?程式不會探索其他可能性,例如詹姆士也可以去接啊。但這隻程式不會,永遠只會輸出一樣的答案。這樣的程式在工程上用處很小,因為無論環境怎麼變,答案都是固定的。

non-hardcoded example

Emily 可能被任何一個會開車的家人接走。

James 班機沒有延誤的話可以接艾蜜莉一起回家,但保留自己回家的可能性(例如四點降落,五點租車,只能自己回家,不能讓艾蜜莉一直等)。


2. 數據視覺化

You used the still template that was only a snapshot of a particular moment.

Use these dynamic templates to show the status update all the way down to the dinner served.


3. 分享 colab 記事本

colab 打不開,你沒有開啟分享。

參看以下 colab 分享:

1. 搶救感恩節晚餐大作戰講義 題目  

繳交範例 

Claude Python Colab Visualization,Python  Colab MIL Colab Viz

ChatGPT Python*, ColabVisualization


4. Dinner Operation / River Crossing Puzzles 推理答案可能會發生錯誤

錯誤為何發生?

當AI面對包含多個限制條件的複雜問題時,確實存在難度。在注意力機制(Attention mechanism)中,模型需要同時關注多個條件,並且每個注意力分配都是基於概率的。當條件數量增加時,要同時滿足所有條件的概率會顯著降低,這就像是連續投擲硬幣並期望全部正面朝上一樣——條件越多,全部滿足的概率越低。

這種情況下,模型可能會:

  • 忽略某些條件
  • 錯誤理解條件之間的關係
  • 在滿足一些條件的同時違反其他條件

如果您有一個包含多個複雜條件的問題需要解決,我建議將問題分解成較小的部分,逐步處理每個條件,這樣會更容易得到準確的解答。

了解 AI 的兩種運作模式 直覺vs.推理

1. 推理是把一件原本複雜的任務,拆解成一連串小型的步驟,就像煮一道菜,食譜會列出一串的步驟,讓你按部就班煮出來。這一連串拆解後的步驟,我們稱為思維鍊(Chain of Thought),因此當你使用推理模式的時候,會看到系統顯示每一個步驟在做的事。原本複雜的任務,經過拆解,每一個步驟可能就沒有原來糾纏在一起那麼難了。就像晚餐大作戰或是渡河問題原本LLM 光靠內容分析不容易解開,但是透過推理就有可能了。

2. 為什麼 ChatGPT 4o, 4.5(以及其他非推理型 LLM)不擅長規劃(如搶救晚餐大作戰)或是處理複雜多重限制條件的難題(如渡河問題)?

一般來說,規劃是一項複雜的認知任務,需要幾個關鍵能力:

  • 理解因果關係和時間關係
  • 維持連貫的長期目標
  • 適應不斷變化的環境
  • 管理資源和限制

如何處理這些錯誤

AI made several mistakes in the solution process. One way to get around this problem is turn on the reasoning mode. 我上課有特別強調要打開推理模式,建議打開使用。如果你的免費版Claude 無法啟用推理模式,建議改用其他AI 推理模型。

建議工具

使用 Claude Sonnet 4 推理模式(手動切換,免費用戶額定時間內只能使用三次)

使用 ChatGPT 5 推理模式(自動切換)

使用 Gemini 2.5 Pro 免費額度最高 1M tokens (永遠推理模式)

使用 Grok 4 推理模式(自動切換)


5. Solve Puzzle 2 Two tools, Two strategies 

ChatGPT 5 works 4/5. (Three claimed to use Python code execution. Therefore, is it true code was generated and then executed?)

*1 Reasoning

BFS xvalidator,  BFS*

*3 Reasoning,

*4 BFSvalidateviz,

*5 BFS


6. Solve Puzzle 2 如何檢查是否有錯

這題比較複雜,如何檢查你的答案是否正確

使用 validator+

Validator for puzzle 2

如果你希望驗證結果可輸出為app:

  1. 先進入 validator+
  2. 按下右上方 customize 鍵
  3. 接下來的操作步驟
  4. 結果輸出為app

如何製作 validator+ (從簡易版出發)


7. Solve Puzzle 1, Puzzle 2 視覺化

  • 方法二: 使用視覺化AI App
    1. 進入 visualizer
    2. 按下 customize
    3. 輸入你的文字計畫到Claude,執行 Claude
    4. Claude 會製作一個新的 visualizer,已經塞好你提供的計劃
    5. 發布(publish) 得到你的連結
    6. 得到專業的渡河計畫動畫

    (因為Claude不允許artifact產生新的artifact,所以多了一些步驟如上)

沒有留言: