MarsDawn

Andrew Ng 自己幫四種設計模式的可預測程度排序

2024 年初,Andrew Ng 在 The Batch 用五篇文章介紹了四種 agentic 設計模式——reflection(反思)、tool use(使用工具)、planning(規劃)、multi-agent collaboration(多 agent 協作)——而且很少見地直接告訴讀者,這四種裡他覺得哪兩種比較可靠、哪兩種難以預測。

這幾篇文章主張什麼

〈四種 agent 設計模式,各自會交給你什麼文件〉已經完整談過這四種模式各自是什麼、當成我們自己的推論各自通常會交給你什麼文件,還有 Ng 自己對 planning 的評語,引自 Part 4:「while I can get the agentic design patterns of Reflection and Tool Use to work reliably and improve my applications’ performance, Planning is a less mature technology, and I find it hard to predict in advance what it will do」(Reflection 和 Tool Use 這兩種設計模式我都能讓它們穩定運作、提升應用程式的表現,但 Planning 還是比較不成熟的技術,我很難事先預測它會怎麼做)。這篇要補的,是那篇沒用到的另外兩封信裡同一個排序:Part 3,寫在 Part 4 之前一週,先講出了這個排序;Part 5,把排序延伸到 Part 4 沒提到的那一種模式——multi-agent collaboration。在介紹 tool use 的 Part 3 裡,他寫道:

“In future letters, I’ll describe the Planning and Multi-agent collaboration design patterns. They allow AI agents to do much more but are less mature, less predictable — albeit very exciting — technologies.”

(在接下來的信裡,我會介紹 Planning 和 Multi-agent collaboration 這兩種設計模式。它們能讓 AI agent 做到更多事,但也是比較不成熟、比較難預測的技術——雖然非常令人興奮。)

兩週後,他在系列最後一篇談 multi-agent collaboration 時,從另一個角度確認了同樣的排序:

“Like the design pattern of Planning, I find the output quality of multi-agent collaboration hard to predict, especially when allowing agents to interact freely and providing them with multiple tools. The more mature patterns of Reflection and Tool Use are more reliable.”

(就像 Planning 這個設計模式一樣,我發現 multi-agent collaboration 的輸出品質很難預測,尤其是讓 agent 之間自由互動、又給它們多種工具的時候。比較成熟的 Reflection 和 Tool Use 模式則可靠得多。)

他講的是這幾種模式對他自己應用程式表現的提升效果,不是在談應該多仔細審閱它們的產出——這個系列完全沒有主張要人工審閱,也沒有提到 MarsDawn 或推薦任何 Markdown 工具。

以下是我們的解讀,不是 Ng 的

Ng 的排序談的是開發者視角下的輸出品質和可預測性,但大致對應到每種模式留下的紀錄,從你的角度該花多少心力去查。他覺得比較可靠的 reflection 和 tool use,通常會交給你描述「已經做完的事」的東西——一份改過的草稿、一份跑了什麼的報告——所以拿裡面一個宣稱去對照真正的輸出,通常就能覆蓋大部分風險。他覺得難以預測的 planning 和 multi-agent collaboration,通常會交給你「事情發生之前」寫好的東西,或是分散在好幾個 agent 手上的好幾份檔案:一份還在等你點頭的計畫,或是還沒被實際執行驗證過的 agent 交接。照他自己的說法,這兩種正是「寫下來的東西」和「實際會發生的事」落差最大的地方——這也正是〈五分鐘審完一份 agent 計畫〉從 Chip Huyen 那篇文章裡引出的道理,在「為什麼要在執行前審」那一段:在事情跑之前抓到問題,是最便宜的時機。

MarsDawn 幫得上、幫不上的地方

MarsDawn 不知道一份檔案是 Ng 四種模式裡哪一種做出來的,也不會替任何東西按可預測程度排序,裡面也沒有 AI 模型——他排序背後暗示值得做的那些檢查,它不會替你做。它做的是讓檔案在你自己檢查的時候保持好讀:側邊欄(「顯示方式 ▸ 顯示側邊欄」,⌃⌘S)的「大綱」分頁看得出一份長計畫的架構;原始碼和排好的預覽並排(⌘2);multi-agent 交接的情況下,用「檔案 ▸ 打開資料夾⋯」(⇧⌘O)打開共用的資料夾,不同 agent 寫出新檔案時,大約一秒內就會出現在「檔案」分頁,清單上方也會標出 git 分支或工作樹,兩份不同 agent 寫的同名檔案就不會搞混。

試試看

MarsDawn 已在 Mac App Store 上架。免費的 marsdawn 命令列工具現在就能用:

brew install redtear1115/tap/marsdawn

它不需要 app 就能把 Markdown 輸出成 PDF。

命令列工具 · 買之前先看:MarsDawn 做不到的事

接下來

資料來源