DruckFin

ChipAgents 訪談:Agentic AI 如何徹底改變 EDA 與晶片設計流程

2025 年 6 月 11 日 - Semiconductor Engineering 專訪 ChipAgents

理解從 LLM 到 Agentic AI 的轉變

Ann Mutschler:我是 Semiconductor Engineering 的資深執行編輯 Ann Mutschler。今天我與 ChipAgents 的 Mahir Arora 在此討論 Agentic AI(代理式 AI)。Mahir,感謝您今天撥冗參與。能否請您解釋一下什麼是 Agentic AI,以及它對晶片設計師而言意味著什麼?

Mahir Arora:大型語言模型(LLM)是一項極新的技術,而 AI Agents(AI 代理)則是更晚近的技術。這兩者都尚未完全滲透到 EDA(電子設計自動化)領域。要真正談論 AI Agents 與 LLM 之間的差異,我們必須回溯到 LLM 的本質,以及它們在硬體領域的一些缺陷,之後我們才能探討 AI Agents 如何最終改善硬體設計工程師與驗證團隊的工作流程。我想大多數從業人員對 LLM 都不陌生,每個人都用過類似 ChatGPT 的工具來撰寫電子郵件等內容。

[視覺說明:Mahir 站在白板前,上面繪製了圖表,解釋了大型語言模型的運作機制以及 Agentic AI 的迭代回饋迴圈。]

Mahir Arora:我在白板上寫了一些內容,基本解釋了 LLM 與 AI Agents 的核心概念。我的字跡可能有點潦草,請見諒。LLM 的核心概念在於執行所謂的「自迴歸 Token 預測」(autoregressive token prediction)或「自迴歸序列建模」。其具體含義相當直觀:如果你有一個強大的 LLM,例如 GPT-4o,你可以向它提出一個問題,例如「2 加 2 等於多少?」。這會被轉換為 Token(詞元)。具體的 Token 化方法並不重要,重要的是輸入內容會被拆解成 LLM 能理解的部分。輸入這些內容後,你還可以提供一些前導語,例如「2 加 2 的答案是」。LLM 的基本訓練目標就是填補最後的這個空白 Token。在結尾處有一個類似遮罩(mask)的未知數,它們被訓練去嘗試預測這個 Token。

Mahir Arora:具體來說,從數學角度看,LLM 做的是預測機率分佈。給定所有先前的輸入 Token,我們試圖預測未知數的值。由於輸出結果會是一個機率分佈,且我們使用的是擅長此類 Token 預測任務的強大 LLM,對於「2 加 2」的問題,它會強烈建議輸出為 4。在我白板上的範例中,顯示 4 的機率約為 99%,5 的機率為 1%,而輸出如「馬達加斯加」(Madagascar)這種隨機單字(在多語言 LLM 中可能是任何語言的隨機詞彙)的機率則為十億分之一。這種方式對於回答這種預設格式的單一問題非常有效,但如果我們想要的遠不止於「填空」呢?

Mahir Arora:為了做到這一點,我們進入了自迴歸序列建模。Auto 指的是「自我」,regressive 指的是「回歸」,這就是為什麼它被稱為自迴歸。其理念是,如果我希望 LLM 為我填寫整個函數、輸出整頁文字、整篇文章,甚至是整個程式碼庫,我需要它重複執行建模潛在輸出分佈的過程,且要執行非常多次。在白板上,我為模型輸入了函數「add」以及開括號的 Token。現在我面臨與之前相同的問題:必須預測這個我稱為「mask」的缺失 Token。輸出有幾種可能性,例如輸出「num1」或「a」。每個輸出都會被分配一個機率。真正的魔法在於採樣(sampling)。基於這個機率分佈,我們可以採樣出一個潛在的輸出 Token。例如,我們可以採樣出「num1」或「a」。假設我們採樣出「a」,現在我們將這個「a」放回輸入端,並再次重複該過程。在第二步中,我們有了「function add, (a」,問題再次重複。我們可以將其直接回饋,以自迴歸方式建模下一個序列。

自我反思與回饋迴圈的力量

Ann Mutschler:我還想問您關於「自我反思」(self-reflection)的問題。這在其中扮演什麼角色?

Mahir Arora:這是一個很好的問題。要談論自我反思,我們必須談談當這個過程經過 n 次重複後會發生什麼。經過 n 次重複後,我們得到了完整的輸出,看起來可能像是「function add, a, b, return a plus b」,然後它會預測一個停止 Token 來結束自迴歸過程。你會注意到,當我做出決定(即選擇將 a 作為輸出)時,我必須承擔該決定的後果。當我稍後在序列中返回內容時,我不能突然改變主意。我必須說「return a plus b」,而不能說「return num1 plus num2」。基本上,過去的決定可以影響未來的決定,但反之則不然。如果我在採樣過程中犯了錯怎麼辦?如果我輸出的不是 a,而是一個閉括號呢?那麼我就卡住了。我本質上會輸出錯誤的內容。資訊無法向反方向流動。你如何讓未來的決定去影響過去的決定?這直接導致了自我反思、精煉與自我修正的需求。這就是我們接下來要探討的內容,也是我們開始討論 Agentic AI 的切入點。

Mahir Arora:關於 Agents,首先必須理解它們是建立在 LLM 之上的。它們是源自 LLM 的技術,但 Agentic AI 是一個完整的流程,而不僅僅是單次使用 LLM。要談論 Agents、自我修正以及它們如何從根本上解決這個問題,我們需要先鋪陳一下背景。

Ann Mutschler:您能詳細說明一下什麼是 Agents 嗎?

Mahir Arora:當然。要精確理解什麼是 Agents,必須明白 Agentic AI 是一個流程,而非單次使用 LLM。你會發現 Agents 實際上是與搜尋過程以及最重要的「回饋機制」相結合的 LLM。它們利用回饋來自我修正、自我穩定,並在 LLM 通常會失敗的地方執行任務並取得成功。讓我們透過一個實例來說明。使用 Agentic 流程時,你可以將整個任務作為輸入提供給 Agent。例如,我想編寫一個 Verilog 模組,像是一個非同步 FIFO。該模組的細節並不重要,重要的是我們將經歷多個回合(turns)。

[視覺說明:Mahir 指向白板,上面說明了包含來自編譯器、Lint 工具、測試平台與波形圖回饋的多回合 Agentic 流程。]

Mahir Arora:在第一回合中,Agent 會呼叫 LLM 來產生潛在輸出。它會為我產生一個 SystemVerilog 檔案 fifo.sv,其中包含該模組。但我們仍然面臨之前提到的自迴歸建模問題,這些問題在第一回合中顯現出來。Agent 可能設定了一組輸入接腳並做了決定,但稍後它可能使用了新的輸入。它可能在某處未定義線路(wire),但現在卻想使用該線路。它該怎麼辦?如果它只是個 LLM,它會輸出這段程式碼並交給你,你嘗試編譯執行後會失敗,故事就結束了。這不是我們想要的。我們實際上需要的是反思與回饋。第一回合後,接下來發生的是回饋。回饋可以以多種形式出現:來自編譯器、Lint 工具或測試平台。斷言(assertions)可能失敗,測試可能失敗,或者日誌中可能出現暗示錯誤的難解輸出,包括波形輸出。所有這些都是 Agentic 流程會檢查的輸出。你將這些回饋回饋給 Agent。Agent 會在先前輸出的背景下檢查這些資訊,並綜合判斷出問題所在。它會進行除錯,找出修復流程的方法,然後重複執行。我們進入第二回合,它修復了這些問題,之後可能還會得到更多回饋。例如,還有更多測試失敗,或者波形與我們預期的黃金參考模型(golden reference model)不一致。Agent 會持續進行修復。最終目標不是只得到一次嘗試產生模組的實例,而是擁有一個透過回饋流程進行自我修正與自我穩定的系統,最終產生一個可運作且正確的實作。

EDA 中的 AI Agents 與 Verilog-Eval 基準測試

Ann Mutschler:Agents 將如何出現在 EDA 工具中?

Mahir Arora:這是一個很好的問題。在 ChipAgents,我們開發了一款專為 EDA 設計的產品,將 Agents 作為日常 EDA 流程的一部分。它們出現的具體方式涵蓋了各種使用案例。關於 Agents,有一點非常重要:LLM 在硬體領域的效能與 Agents 在硬體領域的效能有著巨大差異。有一個名為 Verilog-Eval 的常用基準測試,由 Nvidia 建立。你會發現,當你在這些基準測試中使用標準 LLM(任務是從自然語言描述轉換為功能性的 Verilog 模組輸出)時,效能非常糟糕。你可以使用像 GPT-4o 這樣在 Python 軟體任務中表現極佳的強大語言模型,但它在 Verilog 任務上表現極差,準確率僅約 50%。50% 的準確率非常糟糕,這是不及格的分數,我們不希望使用這樣的技術。但事實證明,一旦你開始將 LLM 包裝在 Agentic 流程中,效能就會大幅提升。準確率開始接近 80% 到 90% 的範圍。我在此描述的系統代表了這些流程的最簡形式,但你還可以做很多改進。最終,我們可以將效能推升至 99% 或 99.7% 的水準。透過使用 Agents,我們最終填補了這些基準測試的空白。雖然 LLM 本身無法做到這一點,但 Agents 可以。

Mahir Arora:這解釋了為什麼 LLM 沒有出現在硬體工程師的日常流程中,因為標準 LLM 不夠可靠,無法用於工程師感興趣的任務。然而,AI Agents 足夠可靠,足以應用於這些情況。我們目前看到客戶使用 AI Agents 最常見的方式是進行「快速原型設計」。如果你是一名設計工程師,你會想探索多種微架構決策,並評估它們的功率、效能與面積(PPA)。你想找到帕累托前沿(Pareto frontier)並選擇最適合你使用案例的一個。但建立這些實驗需要投入大量精力。你必須處理建置腳本、建置工具與模擬工具,還必須將你的模組與現有的測試設備整合。Agents 在這方面表現出色。你可以將微架構描述提供給 Agent,它會自主從你的儲存庫、文件、規格與其他模態中收集資訊。它會提取這些資訊並制定長期執行計畫。它會利用我們討論過的自我修正與自我穩定機制來處理模組實作,確保模組的高品質,然後它還會處理繁重的整合工作。它會進行設定,使其與你現有的所有基礎設施保持一致,執行測試,從日誌中提取資訊,然後向你報告。

簡化驗證與系統分析

Ann Mutschler:Mahir,您稍早提到了驗證,這是每個驗證與設計團隊面臨的一大挑戰。AI Agents 將如何在其中發揮作用?

Mahir Arora:這是一個很好的問題。在驗證方面,驗證之所以困難,是因為我們感興趣的晶片複雜度呈指數級增長。我們現在處理的是數兆個電晶體,單一系統單晶片(SoC)上就有數十億個,整個系統中則有數兆個。你該如何駕馭並維護這種複雜度?驗證工程師面臨的最大問題是,他們必須對所驗證的子系統建立全面的心理模型。你不僅是在驗證一個模組,而是在一次驗證整個子系統,甚至可能是 SoC 的很大一部分。你首先該如何提取所有這些資訊?雖然人類很難閱讀數萬甚至數十萬行程式碼,但這是 AI Agents 非常擅長的工作。你可以為 AI Agent 設定一個開放式任務,例如弄清楚資料如何在複雜系統中流動。該 Agent 會制定一個分層的長期計畫來尋找這些資訊。它會在所有不同的位置進行搜尋,即使在某個位置沒找到資訊,它也會自我修正計畫。它會利用收集到的資訊來找出其他搜尋點,將所有資訊匯總,並向你解釋資料如何在系統中流動。從那一刻起,既然你知道了資料如何在系統中流動,你就能更清楚地知道該如何進行驗證、需要考慮哪些邊角案例(edge cases),以及需要提供什麼激勵(stimulus)給系統。

對設計與驗證團隊的日常影響

Ann Mutschler:這對當今的設計與驗證工程師意味著什麼?他們的日常工作會看到什麼變化?

Mahir Arora:更廣泛地說,這對團隊影響深遠。AI Agents 在工作負載過重的人手中效果極佳。如果你在設計端,你的主要任務可能是組裝某種微架構。如果你在驗證端,則是制定驗證計畫,並試圖找出如何智慧地引導系統進入所有這些有趣的條件、約束與邊角案例。但你同時還有許多額外任務。你必須設定測試平台、設定工具,並將你的測試計畫以例如 UVM 的形式寫出來,這需要編寫大量的 UVM 序列。有了 AI Agents,你可以在背景非同步地分派所有這些任務。你可以讓 AI Agents 同時執行所有這些任務。

Mahir Arora:對於驗證工程師來說,我們今天經常看到的流程是,他們會將現有的驗證計畫與現有的測試平台(可能來自前一代處理器)提供給 Agent,並要求它根據驗證計畫中指定的內容,以新的序列或功能來擴充測試平台。這將使小型團隊感覺像是一個龐大的團隊,這非常令人興奮。我們自己是一家新創公司,我們與許多新創公司以及大型企業合作。小型團隊將從 AI Agents 的使用中感受到巨大的力量倍增效應。突然間,幾位資深工程師會感覺自己像是一個由多位初級工程師支援的資深工程師團隊,這將會非常令人振奮。

加速初級工程師的入職培訓

Ann Mutschler:我還想問關於初級工程師的問題。這如何幫助他們更快上手?

Mahir Arora:這是一個很好的問題。培訓新人的最大問題在於有海量的程式碼需要處理。他們必須對程式碼庫建立心理模型,才能弄清楚如何開始擴充或驗證它。對人類而言,理解所有內容的位置是一項極其艱鉅的任務。我們只有人類大小的眼球,閱讀速度也像人類一樣。得益於 LLM 的底層技術,LLM 與 AI Agents 可以並行處理資訊,閱讀速度遠超人類。因此,你可以詢問 Agent 系統究竟是如何運作的,並讓它執行諸如繪製特定資料路徑的區塊圖等任務。AI Agents 可以出發尋找所需的所有必要資訊,並為你產生文件。這是我們看到客戶非常普遍的做法。這對於引導新進工程師確實有很大幫助,確保他們對處理器與大型系統的運作方式有紮實的心理模型。

解決 IP 安全性與運算限制

Ann Mutschler:安全性是 AI 的一個問題。這對 AI Agents 與 ChipAgents 來說情況如何?

Mahir Arora:安全性始終是一個重要的議題。每個人的 IP(智慧財產權)都至關重要。如何在利用 AI Agents 帶來巨大生產力提升的同時,維護 IP 安全?這絕對取決於企業與客戶,因為如果你真的想使用 AI Agents,就必須使用大量運算資源。最好的 AI Agents 使用最好的、最大的基礎模型,並在大量的 Agent 訓練資料上進行微調,這些都需要非常強大的伺服器。有些組織手邊有閒置的運算能力可用於 Agentic AI,但也有企業需要轉向雲端,租用大型 GPU 伺服器的時間。

Mahir Arora:對於 ChipAgents 而言,我們服務各種不同的客戶。有些客戶更習慣使用我們在雲端上的部署,由我們採購 GPU 時間。我們為他們執行推論,並保證所有資料在傳輸中與靜態儲存時皆經過加密,或者僅在記憶體中短暫處理後即傳回給他們。對於許多不同類型的客戶(包括上市公司)來說,這是一個很好的折衷方案。有些非常大型的公司有非常特殊的限制,他們通常會要求我們部署到他們自己的雲端中。例如,我們經常前往擁有 AWS 帳號的客戶那裡,他們會在短時間內提供我們存取權限,以便我們為他們進行所有設定,讓他們能在內部使用。

Ann Mutschler:Mahir,感謝您的所有解釋。

Mahir Arora:非常感謝您的時間。

免責聲明: 本文僅供參考,不構成投資建議或買賣、持有任何證券的推薦。 我們的分析師對企業事件提供詳細報導,但也可能出錯,請務必進行您自己的自行評估與研究。 文中所表達的觀點和意見不一定反映 DruckFin 的立場。 我們未獨立核實本文所使用的所有資訊,其中可能包含錯誤或遺漏。 在做出任何投資決定之前,請諮詢合格的財務顧問。 DruckFin 及其關係企業對因依賴此內容而產生的任何損失不承擔任何責任。 完整條款請見我們的使用條款