以前要寫一個 AI agent,你得先學四種互不相干的東西:prompt 模板、tool schema、callback、workflow graph。NVIDIA 給的答案簡單到有點反高潮:寫一個 Python class 就好。

一句話結論:NVIDIA 開源的 NOOA 把一個 agent 收成一個 Python class(方法是能力、欄位是狀態、docstring 是提示詞),SWE-bench Verified 拿到 82.2%、token 只用大約一半;但它目前是 Apache 2.0 授權的 alpha 研究預覽,要跑就一定要關進沙箱。

截至 2026 年 8 月,PyPI 上的版本是 0.0.8(2026-07-30 發布),開發狀態標示為 Alpha。技術部落格於 2026-07-27 發表,8 月初才在中文圈被比較多人討論。

NOOA 到底是什麼?

NOOA 全名 NVIDIA-labs Object-Oriented Agents,是 NVIDIA Labs 開源的 agent 框架。它的主張只有一句:一個 agent 就是一個 Python class。

拆開來看是這樣對應的:方法(method)是這個 agent 會做的事,欄位(field)是它的狀態,docstring 就是提示詞,型別註記則是執行時會被強制檢查的合約。最關鍵的一條規則在最後:方法的內容如果只寫三個點 ...,執行時就交給 LLM 迴圈去完成;寫了正常程式碼,它就是一段普通、可預測的 Python。

from nooa import Agent

class SupportAgent(Agent):
    """You are a support agent."""

    # 狀態放在物件上,而且有型別
    order_db: OrderDB

    # 普通方法,就是 Python,結果可預測
    def is_refund_eligible(self, order: Order) -> bool:
        return order.delivered and order.days_since_delivery <= 30

    # 方法內容是 ... ,執行時交給 LLM
    async def triage(self, message: str, order: Order) -> Ticket:
        """Create a typed support ticket."""
        ...

官方快速上手教學裡有個小示範,我覺得比任何說明都清楚:把方法名稱從 analyze_feedback 改成 analyze_feedback_briefly,輸出就變短了。因為方法名稱、參數和 docstring 本身 就是提示詞,你不用另外維護一份 prompt。

為什麼「agent 是一個 class」會比較好用?

因為 agent 開發會變回一般的軟體開發。NVIDIA 自己的說法是:agent 從此可以被 diff、被 code review、寫單元測試、追蹤、版本控制、重構,而且人跟 AI coding agent 用的是同一套工具,跟你手上其他專案沒兩樣。

這件事的意義比聽起來大。目前多數 agent 專案的難處不在寫不出來,而在寫出來之後沒人搞得懂它為什麼這樣跑:提示詞散在 YAML 裡,工具定義在另一個檔,流程圖又是第三套語法,出事只能靠翻 log。把這些東西塞回同一個 class,至少你的 IDE 跟 git 能幫上忙。

NVIDIA 把整套設計歸納成六個「面向模型」的能力:

能力白話解釋
Typed I/O(型別化輸入輸出)呼叫有型別參數、回傳值會被驗證,不是一坨自由文字
Pass by reference(傳參考)模型直接操作活的 Python 物件,只看到有邊界的預覽,不是整包序列化倒進去
Code as action(用寫程式當動作)模型靠寫 Python 來行動,能用條件、迴圈、直接呼叫方法
Programmable loops(可程式化迴圈)調度迴圈就是普通 Python,開發者能改,模型自己也能改
Explicit object state(顯性物件狀態)狀態放在物件上,不是塞在對話紀錄裡靠模型自己記
Model-callable harness APIs脈絡區塊跟事件歷史是模型可以自己查、自己管的 API

82.2% 這個數字要怎麼看?

先講結論:數字很硬,但它證明的事情跟大部分人以為的不一樣。

在 SWE-bench Verified 上,NOOA 配 GPT-5.5 拿到 82.2%,高於投稿當時排行榜上的 79.2%;換成 Opus 4.6 是 79.8%。做到這件事的 agent 只有 253 行,而且沒有為了跑分寫任何 benchmark 專用提示詞。論文另外提到,同樣的模型下,這比 OpenHands v3 實作的 CodeAct 高出 11.4 分。

另外兩個場子也有數字。資安方面,CyberGym L1 解出 86.8%,是開源 agent 裡最高的,而且是在封鎖網路連線、每條軌跡都跑過一次規則式作弊檢查的條件下拿到的,所以不是靠上網查已公開的漏洞。一般推理方面,ARC-AGI-3 配 GPT-5.5 拿 50.2% 平均 RHAE,配 GPT-5.6-sol 拿到 85.1%,25 局裡有 19 局完整破關,每局成本壓在 20 美元以下。

但真正值得看的是成本欄,不是分數欄:

SWE-bench Verified分數每題模型呼叫每題 token
NOOA(GPT-5.5)82.2%29 次約 110 萬
對照 harness A78.2%66 次約 220 萬
對照 harness B78.6%29 次約 130 萬

分數高 4 分,token 少一半。換句話說,模型沒換,換的是包在模型外面那層。

要提醒的是,這些是 NVIDIA 自己發布的評測結果,對照組是投稿當時的公開成績。他們把程式碼、資料和評測方法都放出來讓人複現,這點比多數廠商大方,但它終究不是第三方獨立評測,看的時候心裡有個底就好。

為什麼可以省掉一半 token?

關鍵在「傳參考」這一條,而它解掉的是一個很多人天天在痛、卻很少被當成主要問題的東西:脈絡壓縮。

一般 harness 的做法是,工具回傳什麼,就把什麼序列化成文字塞進脈絡窗。查一次資料庫回來三千行,這三千行就佔住你的窗口,而且每一輪都要再帶一次。NOOA 反過來:工具結果變成執行環境裡一個活的 Python 變數,模型只看到型別正確、有長度上限的預覽(真實型別、真實長度、頭尾樣本),完整的值留在 REPL 裡等著被下一行程式碼用掉。

結果是解 SWE-bench 時根本不需要做脈絡壓縮:中位數的 session 尖峰只用到 2.2 萬到 7.2 萬 prompt token,而窗口有 20 萬到 40 萬。因為不用中途摘要,對話紀錄可以一路只增不改,前綴快取從頭命中到尾,省下來的錢是複利的。

我認為這是整份報告裡最值得抄的一招。就算你完全不打算用 NOOA,「別把工具結果倒進脈絡窗、改成留在執行環境裡傳參考」這個想法,套在你現有的任何 agent 上都會有效。

記憶體那部分做了什麼?

NOOA 有一個長期記憶子系統,設計上跟常見做法相反:它不是背景自動跑摘要,而是由 agent 自己動手寫、自己查、自己更正,記憶變成它工作的一部分;跟當下這一輪有關的記憶則會自動浮上來。

每筆記錄帶型別、重要性和標籤,記錄之間用「支持」「矛盾」「衍生自」這類具名關係串起來,所以整個記憶體是一張知識圖,不是一條流水帳。背景另外有一道反思程序,負責合併重複、把相關的連起來、把一段經歷提煉成心得、把過期的清掉。

兩個實務上的好處值得記:全部東西存在一個人看得懂的 SQLite 檔裡,可以直接打開檢查、備份、code review;多個 agent 可以共用同一份記憶而各自保有所有權。效果方面,在 ARC-AGI-3 上,這套記憶體比用檔案做筆記的同一個 agent 高出 11.8 分 RHAE。

如果你對「agent 怎麼跨 session 記住事情」這條線有興趣,我們前幾天也寫過 LoopX 這個讓 agent 長跑不忘記目標的開源內核,兩者解的是同一類問題,切法不一樣。

跟 LangGraph、CrewAI 這些差在哪?

差在你要先接受哪一種世界觀。

框架核心比喻你主要在寫什麼比較適合
NOOAagent 是一個物件Python class:方法、欄位、docstring想把 agent 當一般程式碼來測試和版控的人
LangGraphagent 是一張狀態圖節點、邊、狀態轉移流程分支多、要明確控制走向的場景
CrewAIagent 是一組角色分工角色、任務、協作規則多角色協作、想快速把團隊比喻搬進來

三者沒有誰淘汰誰。NVIDIA 自己也把話講清楚了:NOOA 是一個開放的實驗場,不是現有 harness 的替代品。如果你的專案已經跑在 LangGraph 上而且沒出事,沒有理由為了這篇文章重寫。

但如果你正要開新的,或者被現有那套的除錯體驗折磨過,NOOA 的方向值得認真花一個下午試試。順帶一提,同一個星期還有 Y Combinator 開源的 QM 和 Cloudflare 的 agent 執行環境,大家不約而同都在做同一件事:不再比模型,改比怎麼包住模型。

怎麼裝、怎麼寫第一個 agent?

裝起來大概三分鐘,前提是你的 Python 是 3.12 或 3.13(目前不支援 3.14)。

  1. 裝核心套件:pip install nooa,或用 uv:uv add nooa。
  2. 按需要加子套件:nooa-cli(指令列、軌跡檢視器、評測執行器)、nooa-memory(長期記憶)、nooa-bench(評測 agent)。也可以寫成 uv add "nooa[cli,memory]" 一次裝好。
  3. 選模型:走 LiteLLM,所以雲端和本地都行。設好 ANTHROPIC_API_KEY 或 OPENAI_API_KEY 就能用;想完全離線就接 Ollama 或 vLLM,不需要金鑰。
  4. 寫第一個 class:繼承 Agent,方法內容留 ...,簽章定合約、docstring 當提示詞。
  5. 打開軌跡檢視器:uv run nooa start-dev,瀏覽器開 localhost:5001。每一次模型呼叫、每一段程式碼執行都預設被追蹤,父子關係也留著。檢視器沒開的話追蹤就自動關掉,不用改設定。

第一次試的話,我的建議是先別碰記憶體和沙箱,就寫一個只有兩三個方法的小 class,把軌跡檢視器打開,看清楚它到底送了什麼給模型。這個框架的價值有一半在「你看得見它在幹嘛」,跳過這步就浪費了。

有什麼坑?誰現在還不該用?

這段請不要跳過,因為最大的坑是 NVIDIA 自己講的,講得比多數使用者還直接。

第一,它會執行 LLM 寫出來的程式碼。官方原話是:模型生成的程式碼可能做出危險或非預期的動作,包括把私人資料送去不受控的地方、刪檔案、改動它自己的執行環境。

第二,內建的檢查擋不住有心要跑出來的程式碼。NOOA 有 AST 靜態檢查和模組黑名單,但官方明講那是縱深防禦,不是圍堵邊界:open() 就能存取任意檔案,importlib 能直接從路徑載入模組,反射還能摸到其餘的部分。真正的邊界是作業系統層級的隔離,也就是容器、虛擬機,或 NVIDIA 自己的 OpenShell。翻成白話:不要在你的主力機器上裸跑。

第三,版本號是 0.0.8,開發狀態寫著 Alpha,官方定位是研究預覽。API 隨時會變,粗糙的地方官方也承認會有。要放進生產環境的話,現在還太早。

所以:想在週末動手玩、或者想把「傳參考」這招偷回自己專案的人,非常適合現在就看;負責上線系統、需要穩定 API 的人,可以先觀望幾個版本。

有什麼替代方案?

  • 想要成熟穩定、社群大:LangGraph 或 CrewAI,文件和踩坑紀錄都比較齊全。
  • 只是想要一個能幹活的 coding agent,不想自己組:直接用現成的終端 agent 就好,不需要框架。
  • 需求是「多人一起指揮同一個 agent」:看 Y Combinator 的 QM,那是為協作場景設計的。
  • 只想解掉 token 太貴的問題:不用換框架,先把工具結果改成傳參考、別序列化進脈絡窗,這一招單獨用就有效。

常見問題

NOOA 免費嗎?

框架本身是 Apache 2.0 授權,免費開源,商用也可以。真正的成本在你呼叫的模型 API;想完全不花錢就接 Ollama 或 vLLM 跑本地模型。

只會寫一點 Python,學得動嗎?

會寫 class 就有機會。你需要看得懂型別註記和 async,但不需要先讀完任何 agent 理論。相對地,如果你完全沒寫過 Python,這個框架的優勢對你就不存在,先從現成工具開始比較實際。

綁 NVIDIA 顯示卡或 Nemotron 模型嗎?

不綁。它走 LiteLLM,官方範例直接示範接 Anthropic、OpenAI、Ollama 和 vLLM,本身是模型無關的。

可以直接放進生產環境嗎?

現在不建議。版本 0.0.8、狀態 Alpha、官方自稱研究預覽,而且執行模型生成的程式碼一定要搭配容器或虛擬機隔離。要用在正式系統,等 API 穩下來再說。

結論:值得花一個下午,但別急著搬家

NOOA 最有意思的地方,不是 82.2% 這個分數,而是它讓「換 harness」這件事有了價格標籤:同一個 GPT-5.5,換個包裝,分數多 4 分、token 少一半。這等於在說,現在拖住 agent 的往往不是模型不夠聰明,是外面那層寫得不好。

至於「一個 Python class 就是一個 agent」會不會變成大家的預設寫法,我不確定,0.0.8 的東西講這個太早。但我會裝來玩,而且不管最後用不用它,傳參考那一招我一定會偷。

資料來源:NVIDIA 技術部落格、技術報告 arXiv:2607.20709、GitHub 專案頁、PyPI。

免責聲明:本文為技術工具介紹,非投資建議。文中數據截至 2026 年 8 月,開源專案版本與 API 變動頻繁,實際情況請以官方文件為準。執行 AI 生成的程式碼具有實際風險,請務必在隔離環境中操作。

加入 Mr. Slash 免費社群
第一時間收到交易所獨家優惠、AI 工具推薦、和市場分析更新
立即加入 Telegram 社群

關於Mr. Slash

「Mr. Slash 的系統性人生」,創立於 2024年,由 Mr. Slash 本人及專業編輯團隊經營的財經內容平台。

我們的宗旨是透過投資、財經、自動化與新興科技等領域的深入解說與應用,幫助讀者打造穩定的被動收入系統。內容涵蓋加密貨幣、股息資產、量化工具、平台分潤等實用策略,協助你用更聰明的方法配置資金、累積資產,走在財務自由的路上,少走冤枉路。

若為商業合作邀稿,將會清楚標註「不代表本站立場」。

商業合作

如果您有任何關於我們團隊或網站內容的疑問或建議,歡迎您前往IG 私訊 @slash.Capital聯繫我們,謝謝!

發佈留言

相關文章

最新文章

簡

探索更多來自 Mr. Slash 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

繼續閱讀

Join Mr. Slash