精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

AI 智能體到底應該如何構建?分享 Github 上收獲 4k stars 的 12 條原則

人工智能
我們今天為大家帶來的文章,作者的觀點是:智能體本質上就是軟件,應該用嚴謹的軟件工程原則來構建,而非盲目追求“黑箱式”的復雜框架。文章從智能體的發展歷程出發,深入剖析了從有向圖到 DAG 編排工具,再到今天 AI 智能體的技術演進脈絡。隨后,作者系統性地提出了構建可靠 LLM 應用的12個核心原則。

1.AI Agent 是如何走到今天的

1.1 我的觀點僅供參考

無論您是智能體領域的新手,還是像我這樣固執的老兵,我都將試圖說服您摒棄對 AI Agent 的大部分固有認知,退一步,從第一性原理(first principles)出發重新思考它們。(如果你錯過了不久前 OpenAI 發布的內容,這里有個劇透預警:把更多智能體邏輯塞進 API 后面并非正解)

2.智能體本質上是軟件,讓我們簡要追溯其發展歷程

讓我們回溯智能體的發展脈絡。

2.1 60 年前

這個階段重點探討的是有向圖(DGs)及其無環版本 —— 有向無環圖(DAGs)。首先要指出的是...軟件本質上就是有向圖。這就是為什么我們過去常用流程圖表示程序的原因。

image.pngimage.png

2.2 20 年前

約 20 年前,DAG 編排工具開始流行。我們開始談論 Airflow[1]、Prefect[2] 等經典工具,以及它們的前輩,還有 dagster[3]、inggest[4]、windmill[5] 等新秀。這些編排工具沿用了相同的圖模式,同時增加了可觀測性(observability)、模塊化(modularity)、重試機制(retries)、管理界面(administration)等功能優勢。

image.pngimage.png

2.3 10-15 年前

當機器學習模型開始展現出實用價值時,我們開始看到融入 ML 模型的 DAG 工作流。一些典型的步驟可能包括“將此列中的文本匯總到一個新列中”或“按嚴重程度/情感對支持工單進行分類”。

image.pngimage.png

但歸根結底,這些軟件在很大程度上還是確定性軟件(deterministic software)。

2.4 智能體技術帶來的根本性變革

我并非第一個提出此觀點[6]的人,但當我開始研究智能體時,最深刻的領悟是:你可以徹底摒棄 DAG 架構。無需軟件工程師針對每個步驟和邊界條件進行編碼,只需賦予智能體一個目標和一組狀態轉移規則:

image.pngimage.png

讓 LLM 實時做出決策,找出路徑。

image.pngimage.png

這樣做的好處是可以減少代碼編寫量。你只需為 LLM 定義圖的"邊",由其自主推導"節點"。借此,系統可具備錯誤自恢復能力,大幅減少代碼量,甚至可能發現 LLM 獨創的問題解決方案。

2.5 智能體(Agents)的核心運行機制是一個循環體系

換個角度看,這是一個包含 3 個步驟的循環體系:

1)LLM 通過結構化 JSON 輸出確定工作流的下一步("工具調用")

2)由確定性代碼執行工具調用

3)將工具運行結果追加至上下文窗口

4)不斷循環直至判定下一步為"完成"狀態

image.pngimage.png

初始上下文僅是起始事件(可能是用戶消息、定時觸發任務或 webhook 等),然后我們要求 LLM 選擇下一步(工具)或判斷任務是否完成。

下面是一個多步驟示例:

image.pngimage.png

而生成的“materialized” DAG 結構示例如下:

image.pngimage.png

2.6 “循環往復,直至問題解決”模式的缺陷

該模式最顯著的弊端:

  • 當上下文窗口過長時,智能體會迷失方向,他們陷入反復嘗試同一種錯誤方法的循環
  • 字面意思就是這樣,僅此一項就足以使該方法失效

即使你沒有手動構建過智能體,在使用自動化編程工具時也應當遭遇過這種長上下文問題。系統往往在多次交互后陷入混亂,迫使您重啟對話。

我還想提出一個我經常聽到的觀點,你可能已深有體會:

即使模型支持的上下文窗口越來越大,精準、簡潔的提示詞始終能獲得更優的結果

與我交流過的多數開發者都放棄了"工具調用循環(tool calling loop)"方案,皆因發現超過 10-20 次交互后,LLM 便無法恢復任務狀態。即便智能體準確率達 90%,這仍與"可交付客戶使用"的標準相去甚遠。試想一個網頁應用若在 10% 的訪問中崩潰,會是一種怎樣的用戶體驗?

2.7 真正有效的方法 —— 微智能體(micro agents)

我在實際應用中觀察到一種比較常見的方法,使用智能體架構并將其嵌入到更宏觀的、更具確定性的有向無環圖(DAG)系統中。

image.pngimage.png

您可能會問:"為什么在這種情況下還要使用智能體?"我們稍后會詳細解釋。簡而言之,讓語言模型管理限定范圍明確的任務集合,可以輕松整合實時的人類反饋,并將這些反饋轉化為工作流步驟,而不會陷入上下文錯誤循環(即后文所提到的 factor 1、factor 3、factor 7)。

2.8 現實生活中的微智能體案例

下面這個示例展示了如何使用確定性代碼運行微智能體,處理部署過程中的人工介入步驟:

image.pngimage.png

  • 人工將 PR 合并到 GitHub 主分支
  • 使用確定性代碼將修改后的項目部署到預發布環境
  • 使用確定性代碼運行預發布環境的端到端(e2e)測試
  • 使用確定性代碼將初始上下文"將 SHA 4af9ec0 部署到生產環境"移交智能體進行生產環境的部署
  • 智能體調用 deploy_frontend_to_prod(4af9ec0)
  • 使用確定性代碼請求人工批準此操作
  • 人工拒絕操作并反饋"能否先部署后端部分?"
  • 智能體調用 deploy_backend_to_prod(4af9ec0)
  • 使用確定性代碼請求人工批準此操作
  • 人工批準進行操作
  • 使用確定性代碼執行后端部分的部署
  • 智能體調用 deploy_frontend_to_prod(4af9ec0)
  • 使用確定性代碼請求人工批準此操作
  • 人工批準進行操作
  • 使用確定性代碼執行前端部分的部署
  • 智能體判定任務成功完成,流程結束!
  • 使用確定性代碼運行生產環境的端到端測試
  • 確定性代碼任務完成后,若檢測到異常,則轉交回滾智能體進行故障審查,必要時執行版本回退

image.pngimage.png

這個示例基于我們為管理 Humanlayer 的部署流程而部署的一個開源智能體(OSS agent),以下是我上周與它的真實對話記錄:

image.pngimage.png

我們沒有讓這個智能體擁有過多的功能或復雜的職責。LLM 的核心價值在于解析人類的自然語言反饋,并提出更新的行動方案。我們盡可能避免讓它同時處理過多無關的任務或記憶冗長的歷史記錄,使 LLM 專注于 5-10 步的小型工作流。

這里有另一個更經典的客戶支持/ chatbot 示例[7]。

2.9 那么,智能體的本質究竟是什么?

prompt - 告訴 LLM 如何行動,以及它可以使用哪些“工具”。prompt 的輸出是一個 JSON 對象,用于描述工作流程中的下一步("工具調用"或"函數調用")。(factor 2)

switch 語句 - 根據 LLM 返回的 JSON 內容決定后續操作。(factor 8 的一部分)


累積的上下文 - 記錄已執行的操作步驟及其運行結果(factor 3)


for 循環 - 循環執行以下操作,直至大語言模型(LLM)返回終止信號(如標記為"Terminal"的工具調用或自然語言響應):將 switch 語句的執行結果加入上下文窗口,并讓 LLM 決定下一步動作。(factor 8)

image.pngimage.png

以“deploybot”為例,我們通過自主掌控流程邏輯和上下文積累,獲得了以下優勢:

  • 在 switch 語句和 for 循環中,我們可以隨時攔截控制流來暫停等待人工輸入,或等待長時間運行的任務完成
  • 我們能將上下文窗口輕松序列化存儲,實現「斷點續傳」式的任務暫停與恢復
  • 在 prompt 的設計中,我們可以優化任務指令的傳遞方式和“當前任務進度”的說明方式

3.factor 01:自然語言轉工具調用(Tool Calls)

智能體(agent)構建最常見的模式之一就是將自然語言轉換為結構化的工具調用。這是一種功能強大的模式,可以構建能夠推理任務并執行任務的智能體。

image.pngimage.png

這種模式的核心原理,就是實現從自然語言到結構化指令的精準轉換:

請為 Terri 生成 750 美元的贊助支付鏈接,用于支付二月份 AI 創客大會的贊助費用。

最終輸出一個結構化對象,用于描述 Stripe API 的調用參數,例如:

image.pngimage.png

注:實際場景中 Stripe API 的調用更為復雜。一個成熟的智能體需要先獲取客戶列表、產品目錄和價目表等數據,通過關聯 ID 構建有效請求參數 —— 當然,這些 ID 也可以直接預置在提示詞/上下文窗口中(本質上這兩種方式是相通的,下文將具體說明)。

后續可由確定性代碼接管該請求參數,并執行相應的業務邏輯。(更多細節將在 factor 3 中說明)

image.pngimage.png

請注意:完整版的智能體在接收到 API 的調用結果后,會通過循環處理機制最終返回類似這樣的信息:

已成功為 Terri 創建 750 美元的支付鏈接,用于贊助二月份 AI 創客見面會。鏈接如下:https://buy.stripe.com/test_1234567890

但本節將跳過該環節,將其保留至后續章節實現 —— 開發者可根據實際需求決定是否集成該功能。

4.factor 02:自主掌控提示詞

不要直接套用框架自動生成的提示詞。

image.pngimage.png

某些框架會提供這種‘黑箱式’方案:

image.pngimage.png

這種方案能幫你快速套用頂尖的提示詞模板上手,但后期很難精準調整或實施逆向工程,難以確保模型接收的指令完全符合預期。

相反,你要像對待核心業務代碼一樣對待提示詞:

image.pngimage.png

雖然上面這個示例是用 BAML 工具生成提示詞的,但其實你可以根據自己的需求選擇任何提示詞設計工具,甚至完全不需要借助工具,直接按照模板格式手動編寫提示詞也是可行的。

自主掌控提示詞的核心優勢:

  • 完全的控制權:可以精準定制 AI Agent 所需的指令,徹底擺脫“黑箱操作”的束縛
  • 可測試和可評估:像測試普通代碼一樣,為你的提示詞建立完整的測試評估體系
  • 快速迭代:根據實際使用效果,隨時靈活調整優化提示詞
  • 透明可控:清楚掌握 AI Agent 執行的具體指令內容,沒有隱藏邏輯
  • 角色突破:利用那些支持自定義用戶/助手角色設定的 API 接口 —— 比如 OpenAI 已棄用的舊版 'completions' 非對話型 API,甚至可以實現一些特殊的模型引導技巧

請記住:提示詞(prompts)是連接你的業務邏輯與大語言模型的主要接口。

完全掌控提示詞,才能提供生產級 AI Agent 所需的靈活性和提示詞控制能力。

雖然沒人能斷言什么是最佳提示詞,但有一點很明確 —— 你需要的是能自由嘗試各種可能性。

5.factor 03:自主掌控上下文窗口

與大語言模型交互時,上下文傳遞不必拘泥于標準消息格式。

在智能體(agent)中,每次向 LLM 提供輸入的實質是:“這是目前情況,接下來該干嘛?”

一切皆上下文工程。大語言模型本質上是無狀態函數(stateless functions)[8],只負責將輸入轉化為輸出。想要獲得優質輸出,就必須提供優質輸入。

構建優質上下文需包含以下要素:

  • 提示詞與指令:給模型的明確操作指引
  • 外部數據源:檢索到的文檔或知識(例如使用 RAG 技術)
  • 歷史狀態:過往的工具調用記錄、執行結果等操作痕跡
  • 記憶系統:有關聯但獨立的對話/事件歷史記錄(Memory)
  • 輸出結構化指令:規定模型返回數據的格式規范

image.pngimage.png

本指南聚焦如何最大限度挖掘現有模型的潛力,以下內容不在討論范圍內:

  • 調整模型參數(如 temperature、top_p、frequency_penalty、presence_penalty 等)
  • 訓練自定義的生成模型(completion models)或嵌入模型
  • 對現有模型進行微調

在此重申:雖然無法斷言最佳的上下文傳遞方式,但我知道你希望能夠靈活地嘗試各種方式。

4.1 標準上下文格式與自定義上下文格式

大多數 LLM 客戶端采用如下這種標準消息格式:

image.pngimage.png

雖然這種格式適用于大多數場景,但若想極致壓榨現有 LLM 的性能,就必須以最高效的 token 利用率和注意力分配機制來傳遞上下文。

若希望突破基于消息的標準格式限制,您可以創建專為你個人的應用場景優化的上下文組織形式。例如,通過自定義數據結構將相關內容整合,根據實際需求打包或拆分到一個或多個用戶、系統、助手或工具消息中(具體組合視業務邏輯而定)。

以下示例演示了如何將完整的上下文信息封裝于單條用戶消息中:

image.pngimage.png

雖然模型可能通過你提供的工具定義自動推導后續操作步驟,但我們仍建議在提示詞模板中明確聲明任務目標 —— 主動說明需求始終是更穩妥的做法。

4.2 code example

我們可以采用如下方式構建:

image.pngimage.png

上下文窗口示例

下面是使用這種方法后上下文窗口的樣子:

初始的 Slack 請求:

image.pngimage.png

列出 Git 標簽后:

image.pngimage.png

錯誤發生與恢復后:

image.pngimage.png

此時你的下一步可能是:

image.pngimage.png

image.pngimage.png

上文那些 XML 格式的內容僅是一個參考示例 —— 您可以根據實際業務需求,自定義最合適的數據結構。通過靈活嘗試不同的上下文組織形式、存儲內容和輸入大模型的內容,最終輸出質量會顯著提升。

自主控制上下文窗口的好處:

  • 信息密度:以最適配 LLM 認知的方式組織信息
  • 錯誤處理:采用有助于 LLM 自主恢復的格式記錄錯誤信息(已修復的錯誤和失敗調用可從上下文中移除)
  • 安全性:主動過濾敏感數據,精準控制輸入內容
  • 靈活性:根據使用情況持續優化調整上下文格式
  • token 效率:優化上下文格式,提高 token 效率與模型理解能力

上下文可包含: 提示詞(prompts)、指令(instructions)、RAG 文檔(RAG documents)、交互歷史(history)、工具調用記錄(tool calls)、記憶(memory)

請記住,上下文窗口是你與 LLM 交互的主要界面,其結構設計與信息呈現方式將直接決定智能體的效能。

示例 - 信息密度優化(相同的語義信息,更少的 token 消耗量):

image.pngimage.png

雖然無法預知最優方案,但必須確保系統具備無限試錯的可能性——任何可能的嘗試路徑都應向你開放。

6.factor 04:「工具」本質上只是 LLM 生成的結構化輸出

「工具」無需進行復雜設計。其本質是大語言模型生成的結構化輸出,用于觸發確定性代碼的執行。

image.pngimage.png

以 CreateIssue 和 SearchIssues 這兩個工具為例,讓大模型(LLM)“調用工具”,本質上就是讓它輸出一個可解析的 JSON 對象,該對象對應我們要執行的具體工具操作。

這種模式很簡單:

1)LLM 生成結構化的 JSON 輸出

2)使用確定性代碼執行對應操作(如調用外部 API)

3)捕獲執行結果并反饋到上下文中

這種設計實現了 LLM 決策邏輯與應用程序執行邏輯的清晰分離 —— LLM 負責決定『做什么』,而你的代碼掌控『怎么做』。即便 LLM 調用了某個工具,具體執行方式也不必每次都嚴格對應單一函數。

如果你還記得前文提及的 switch 語句。

image.pngimage.png

注:關于“plain prompting" vs. "tool calling" vs. "JSON mode”的性能權衡已有諸多討論。在此附上相關資源鏈接(參見《Prompting vs JSON Mode vs Function Calling vs Constrained Generation vs SAP》[9]、《When should I use function calling, structured outputs, or JSON mode?》[10]及《OpenAI JSON vs Function Calling》[11]),此處不展開論述。

所謂的"下一步操作"未必只是簡單地"運行一個純函數并返回結果"。當你把"工具調用"單純視為模型輸出的一段 JSON 指令(用于描述確定性代碼該執行什么)時,就能解鎖極大的靈活性。結合 factor 08 ,這種設計將帶來更強大的可能性。

7.factor 05:執行狀態與業務狀態的統一

即便在 AI 領域之外,許多基礎設施系統也試圖將“執行狀態”與“業務狀態”分離。對 AI 應用而言,這種分離可能涉及復雜的抽象機制來追蹤當前步驟、下一步驟、等待狀態、重試次數等。這種分離帶來的復雜性可能是值得的,但對你的使用場景而言可能是過度設計。

你可以自行決定什么最適合你的應用。但不要認為必須將這兩者分開管理。

更清晰的定義:

  • 執行狀態(Execution state):當前步驟、下一步驟、等待狀態、重試次數等
  • 業務狀態(Business state):智能體工作流中已發生的事件(如 OpenAI 消息列表、工具調用及結果列表等)

如果可能,盡量簡化 —— 盡可能將它們統一起來。

image.pngimage.png

實際上,你可以通過工程化設計,直接從上下文窗口推斷所有執行狀態。多數情況下,執行狀態(當前步驟、等待狀態等)不過是已發生事件的元數據(metadata)。

當然,有些內容無法放入上下文窗口(如會話 ID、密碼上下文等),但你的目標應該是盡量減少這類例外。通過遵循 factor 3,你可以精準控制哪些信息真正輸入給 LLM。

該方法具有以下優勢:

  • 簡潔性:所有狀態只有一個真實來源
  • 序列化:工作流可輕松實現序列化/反序列化
  • 調試便捷:完整的歷史記錄一目了然
  • 擴展靈活:僅需新增事件類型即可擴展新的狀態
  • 斷點續傳:通過加載工作流可從任意節點恢復執行
  • 流程復刻(Forking):可以在任何時間點復制工作流子集至新上下文/狀態ID,實現在工作流的復刻(fork)
  • 人機交互和可觀測性:工作流可輕松轉換為 Markdown 文檔或可視化 Web 界面

8.factor 06:通過簡單的 API 實現啟動/暫停/恢復

智能體的本質是程序,其生命周期管理應符合我們對常規程序的預期 —— 能夠便捷地啟動、查詢、恢復和終止。

image.pngimage.png

需確保終端用戶、應用程序、業務管道及其他智能體均可通過輕量級 API 接口快速部署新智能體實例。

智能體及其編排的確定性代碼須具備長時操作自暫停能力。

需支持通過 Webhook 等外部觸發器實現智能體斷點續執,且無需深度對接智能體編排系統。

factor 6 與 factor 5 和 factor 8 存在較強的關聯,但可獨立實現。

需特別注意,多數現有的 AI 編排系統雖支持暫停恢復功能,但在『工具選定』與『工具執行』兩個狀態節點之間的臨界區間,多數系統無法保持狀態持久化能力(詳見 factor 7 和 factor 11 的技術解析)。

9.factor 07:通過工具調用實現人機協同

默認情況下,LLM API 在生成模型響應時,首先會面臨一個關鍵的、高風險的詞元選擇:是返回純文本內容,還是返回結構化數據?

image.pngimage.png

系統將大量決策權重放在首個詞元的選擇上。例如在查詢“東京天氣”時,首個詞元可能是:

"東京"

而在 fetch_weather(獲取天氣)功能中,則可能是表示 JSON 對象開頭的特殊詞元。

|JSON>

更優方案是讓大語言模型始終輸出 JSON 結構化數據,然后通過自然語言詞元(如 request_human_input 或 done_for_now)來聲明意圖,而不是使用像 check_weather_in_city 這樣的"標準"工具。

需特別注意:此方案可能不會直接提升系統性能指標,但必須通過持續實驗驗證 —— 工程師應保留嘗試非常規手段的自由度,這是獲得最優解的必經之路。

image.pngimage.png

后續,您可能會收到來自處理 Slack、電子郵件、短信或其他事件的系統的 webhook 通知。

image.pngimage.png

上文整合了 factor 3、4、5、8 的方案特征。

若采用 factor 3 中的類 XML 格式,那么經過數次交互后,上下文窗口可能會是這樣的:

image.pngimage.png

優勢亮點:

  • 清晰的指令:針對不同人機交互場景的工具設計,可大幅提升大語言模型(LLM)輸出的精準度。
  • 內循環與外循環機制:該機制使智能體工作流突破傳統 ChatGPT 式交互框架,支持逆向流程觸發 —— 控制流與上下文初始化可由智能體主動發起至用戶(例如:通過定時任務或事件自動激活的智能體服務)。
  • 多用戶協同:依托結構化事件機制,可高效追蹤并協調多用戶輸入數據流。
  • 多智能體協作:通過輕量級抽象層設計,快速擴展智能體間的請求與響應能力
  • 持久化運行:結合 factor 6 的啟停控制能力,可構建高穩定、可觀測的多角色持久化工作流。

有關外循環智能體(Outer Loop Agents)的更多信息,請點擊此處[12]。

image.pngimage.png

與 factor 11 完美結合 —— 隨時隨地觸發,滿足用戶需求。

10.factor 08:掌控你的控制流

如果你能掌握你的控制流,就可以實現更靈活、強大的功能。

image.pngimage.png

根據具體應用場景構建專屬控制邏輯,精準匹配業務場景。當特定類型的工具調用需要中斷循環等待人工響應或長時任務(如訓練流水線)時,您可設計靈活的中斷機制。建議集成以下自定義功能:

  • 工具調用結果的摘要與緩存
  • 使用 LLM 對結構化輸出進行校驗、評估
  • 上下文窗口壓縮或其他內存管理方案
  • 全鏈路日志追蹤與性能監控
  • 客戶端速率限制策略
  • 持久化的休眠/暫停/事件等待機制

下方示例展示了三種典型的控制流模式:

  • request_clarification:模型請求補充信息時,中斷當前循環流程,等待人工響應
  • fetch_git_tags:當模型請求 Git 標簽列表時,系統會實時獲取標簽數據并更新上下文,直接將結果反饋給模型
  • deploy_backend:模型發起后端部署請求時,因涉及高風險操作,中斷流程等待人工審核確認

image.pngimage.png

這種模式允許你根據需要中斷和恢復智能體的工作流程,從而創建更自然的對話和工作流。

舉個例子,我對所有 AI 框架的首要功能需求就是:正在工作的智能體能夠中斷操作并在之后恢復運行,特別是在工具選擇和工具調用之間的時刻。

如果缺乏這種可恢復性/精細控制能力,就無法在工具調用執行前進行審核(review/approve),這意味著您被迫只能選擇以下方案:

1)在等待長時間任務完成時,將任務及其上下文狀態(變量、堆棧等)保留在內存中(類似while...sleep),如果進程中斷則必須從頭開始

2)限制智能體只能執行低風險、低影響的調用,如研究和摘要

3)允許智能體執行更重要、更有用的操作,然后只能祈禱它不會搞砸

您可能會注意到,這一點與 factor 5 及 factor 6 密切相關,但也可以獨立實現。

11.factor 09:將錯誤信息壓縮至上下文窗口

這一點雖然簡短,但值得一提。智能體的優勢之一在于“自我修復”——對于短任務,大語言模型(LLM)可能會調用某個失敗的工具。優秀的 LLM 通常能夠讀取錯誤信息或 Stack Trace 信息,并在后續工具調用中調整策略。

大多數框架已實現這一功能,但你也可以只做到這一點,而無需實現其他 11 個 factor。例如:

image.pngimage.png

你可能需要為特定的工具調用實現一個錯誤計數器(errorCounter),將單個工具的重試次數限制在 ~ 3次以內,或者根據實際需求調整業務邏輯。

image.pngimage.png

當連續錯誤次數達到某個閾值時,無論是模型自主決策還是通過預編程規則強制接管控制流,都可以選擇升級至人工處理。

優勢:

  • 自我修復能力:大語言模型能夠解讀錯誤信息,并在后續工具調用中自動調整執行策略
  • 持久運行機制:單一工具調用失敗不會導致系統中斷,智能體程序可持續執行任務

需要提醒的是,智能體過度依賴這種自我修復機制時,可能導致智能體在錯誤處理過程中無法有效突破現有邏輯框架,出現反復報錯的情況。

此時,factor 8 和 factor 3 就派上用場了 —— 你不必直接把原始錯誤丟回給系統,而是重構錯誤表達方式、從上下文窗口移除冗余的歷史記錄,避免干擾后續決策,或者采用其他有效的確定性策略(只要能確保智能體程序回歸正軌)。

防范陷入錯誤循環的最核心策略,是遵循 factor 10。

12.factor 10:小型化、功能聚焦的智能體

與其構建試圖包辦一切的大型智能體,不如開發專注于某一單一功能的小型智能體。智能體只是一個更大的、主要由確定性因素決定的系統中的基礎組件之一。

image.pngimage.png

這里的關鍵之處在于大語言模型(LLM)的局限性:任務越龐大復雜,所需任務步驟就越多,就意味著需要更長的上下文窗口。隨著上下文增長,大語言模型更容易迷失方向或偏離重點。通過將智能體的功能限定在特定領域(3-10 個步驟,最多 20 個任務步驟),我們可以保持上下文窗口的可管理性,確保大語言模型的高效運行。

小型化、功能聚焦的智能體的優勢:

1)可管理的上下文:更小的上下文窗口意味著更優的大語言模型表現

2)職責明確:每個智能體都有清晰的功能邊界和設計目標

3)可靠性更高:在復雜的工作流程中迷失方向的可能性更低

4)更易于測試:更簡單地測試和驗證特定功能

5)調試優化:問題發生時更容易定位和修復

12.1 如果 LLM 變得更聰明了呢?

如果大語言模型的智能程度足夠高,能處理 100+ 步驟的工作流,我們還需要這種設計嗎?

tl;dr:需要。雖然智能體和大模型進步后可能自然而然地擁有處理更長上下文的能力,這意味著能處理更多更大的 DAG。但采用小型化、功能聚焦的架構設計,既能確保你在第一時間獲得可靠的結果,又為未來大模型的上下文窗口擴容時逐步擴展智能體范圍做好準備。(如果你重構過大型的確定性代碼庫,此刻應該會心一笑)

image.pngimage.png

有意識地確定智能體的規模/范圍,并且只在能夠保證質量的情況下擴展,這是關鍵所在。正如 NotebookLM 開發團隊所言[13]:

"在 AI 開發中,那些最驚艷的突破時刻往往發生在我將將觸及模型能力邊界的時候"

無論這個能力邊界在哪里,如果你能找到邊界并始終如一地把握住它,你就能打造出驚艷的用戶體驗。這個領域有很多技術護城河可以構建,但一如既往,這需要嚴謹的工程實踐。

13.factor 11:智能體系統支持多入口觸發,且響應與觸發渠道保持一致

當您已落實 factor 6 和 factor 7 后,便可無縫集成本原則方案。

image.pngimage.png

支持用戶通過 Slack、郵件、短信等任意渠道喚醒智能體,并確保響應始終在原對話流中完成。

優勢:

  • 滿足用戶需求:打造擬人化的 AI 應用體驗,讓用戶感受如真人協作或至少達到數字同事般的自然交互
  • 外循環智能體:支持非人工觸發(系統事件/定時任務/故障告警等),可自主運行5-90分鐘,關鍵決策節點自動請求人工介入(需審批/獲取反饋/請求協助)
  • 高風險操作授權機制:通過快速人工復核機制,可授權智能體執行高風險操作(如外發郵件、生產數據更新等)。明確、標準化的管控體系既保障操作可追溯,又能提升智能體執行復雜任務的可靠性。

14.factor 12:將智能體設計為符合“無狀態歸約器”模式

image.pngimage.png

image.pngimage.png

文中多次強調“沒人知道什么是最佳實踐,但必須保留試錯自由”。你最近在 AI Agent 項目中做過哪些不符常規但有效的技術決策?

文中鏈接

[1]https://airflow.apache.org/

[2]https://www.prefect.io/

[3]https://dagster.io/

[4]https://www.inngest.com/

[5]https://www.windmill.dev/

[6]https://youtu.be/Dc99-zTMyMg?si=bcT0hIwWij2mR-40&t=73

[7]https://x.com/chainlit_io/status/1858613325921480922

[8]https://thedataexchange.media/baml-revolution-in-ai-engineering/

[9]https://www.boundaryml.com/blog/schema-aligned-parsing

[10]https://www.vellum.ai/blog/when-should-i-use-function-calling-structured-outputs-or-json-mode#:~:text=We+don%27t+recommend+using+JSON,always+use+Structured+Outputs+instead

[11]https://docs.llamaindex.ai/en/stable/examples/llm/openai_json_vs_function_calling/

[12]https://theouterloop.substack.com/p/openais-realtime-api-is-a-step-towards

[13]https://open.substack.com/pub/swyx/p/notebooklm?selectinotallow=08e1187c-cfee-4c63-93c9-71216640a5f8&utm_campaign=post-share-selection&utm_medium=web

原文鏈接:https://github.com/humanlayer/12-factor-agents

責任編輯:武曉燕 來源: BaihaiI DP
相關推薦

2025-05-06 08:23:56

Llama 4AutoGenAI智能體

2017-08-07 15:43:42

2020-01-06 12:30:59

顯示器Windows 10Windows

2015-07-01 13:48:04

華曦達

2013-01-06 13:35:30

2025-10-11 09:35:05

2019-10-30 10:27:41

GitHub代碼開發者

2025-11-06 01:44:00

2018-07-06 14:55:47

智能

2018-07-04 16:07:37

智能

2025-05-28 18:04:20

2025-07-28 01:33:00

2024-10-14 08:59:11

智能體驅動AI導購人工智能

2025-10-09 11:36:57

2023-09-25 07:33:55

固態硬盤4K讀寫

2025-05-08 07:54:24

2025-04-07 02:00:00

2022-07-27 14:47:01

開源項目

2023-06-20 16:17:40

人工智能

2021-12-22 23:28:04

區塊鏈人工智能技術
點贊
收藏

51CTO技術棧公眾號

免费观看国产精品视频| 91色视频在线导航| 成人乱码一区二区三区av| 中文字幕av一区二区三区佐山爱| 国产欧美日韩另类视频免费观看| 成人午夜在线观看| 一级片免费网址| 人人狠狠综合久久亚洲婷| 欧美一区二区三区在线观看视频| 水蜜桃色314在线观看| 黄色av免费在线观看| 久草在线在线精品观看| 97在线视频免费| 人人艹在线视频| 欧美一区 二区| 欧美二区三区的天堂| 欧美 日韩 亚洲 一区| 日韩毛片久久久| 99在线精品一区二区三区| 国产日韩欧美成人| 婷婷激情五月网| 你懂的成人av| 色婷婷久久av| 欧美老熟妇乱大交xxxxx| 亚洲一区电影| 91麻豆精品91久久久久久清纯 | 极品白嫩丰满美女无套| 日韩有码欧美| 日本精品一区二区三区四区的功能| 加勒比海盗1在线观看免费国语版| 色资源在线观看| 国产成人午夜电影网| 国产精品日韩av| 久久国产黄色片| 亚洲美女色禁图| 久久成人这里只有精品| 美国美女黄色片| 网友自拍一区| 精品久久人人做人人爽| 欧美一级小视频| 激情亚洲小说| 91久久精品一区二区| 久艹视频在线免费观看| 欧美女同一区| 一区二区三区在线视频观看 | wwwwxxxx国产| 日韩高清在线免费观看| 亚洲第一区中文99精品| 中国特级黄色片| 亚洲国产欧美在线观看| 欧美喷潮久久久xxxxx| 黄色av免费在线播放| 黑人精品一区| 色偷偷成人一区二区三区91| 能在线观看的av| 韩国成人漫画| 欧洲日韩一区二区三区| 丰满少妇在线观看| jizz免费一区二区三区| 欧美日韩一本到| 日韩av片专区| 欧美电影在线观看一区| 欧美成人伊人久久综合网| 亚洲v在线观看| 麻豆成人入口| 亚洲欧美一区二区三区情侣bbw | 亚洲天堂伊人网| 精品国产不卡一区二区| 日韩精品中文字幕在线一区| 久久无码专区国产精品s| 国产成人高清精品免费5388| 亚洲精品国产精品乱码不99按摩 | 久久久久中文字幕亚洲精品| 欧美午夜网站| 亚洲国产欧美久久| 欧美熟妇激情一区二区三区| 欧洲激情视频| 伦伦影院午夜日韩欧美限制| 欧美精品xxxxx| a91a精品视频在线观看| 国产成人精品久久| 国产老妇伦国产熟女老妇视频| 蜜桃精品在线观看| 国产 高清 精品 在线 a| 五月婷婷在线观看视频| 久久精品视频一区| 992tv成人免费观看| 538在线视频| 欧美日韩中字一区| 成年人看片网站| 国产a久久精品一区二区三区| 中文字幕无线精品亚洲乱码一区| tube国产麻豆| 久久精品伊人| 亚洲一区二区三区视频| 亚洲欧美日韩免费| 亚洲特级片在线| 国产91在线视频观看| 欧美一级做a| 亚洲激情 国产| 日日碰狠狠添天天爽| 激情av一区| 国产97色在线| 亚洲AV无码一区二区三区性| 国产亚洲va综合人人澡精品| 精品一区二区三区毛片| 户外露出一区二区三区| 欧美成人aa大片| 亚洲图片第一页| 中文欧美日韩| 成人在线播放av| 男人av在线| 亚洲一区二区中文在线| 欧美一级特黄a| 欧美成人午夜77777| 萌白酱国产一区二区| 国产精品sm调教免费专区| 岛国精品一区二区| 中文字幕第一页亚洲| 日韩免费福利视频| 精品爽片免费看久久| 精品无码黑人又粗又大又长| 激情六月婷婷久久| 日韩中文字幕一区二区| 亚洲美女尤物影院| 亚洲风情亚aⅴ在线发布| 日韩三级久久久| 免费观看在线色综合| 蜜桃成人免费视频| а√在线天堂官网| 精品奇米国产一区二区三区| 任我爽在线视频| 蓝色福利精品导航| 日本午夜精品一区二区三区| 日韩激情电影| 日韩国产中文字幕| 亚洲男人第一av| 成人免费视频国产在线观看| 影音先锋成人资源网站| 永久免费观看精品视频| 日韩中文字幕在线看| 啪啪小视频网站| 国产亚洲短视频| 又色又爽又高潮免费视频国产| 欧美顶级毛片在线播放| 97国产精品视频人人做人人爱| 日批免费在线观看| 亚洲第一成年网| 国产激情视频网站| 亚洲一区二区网站| 欧美不卡在线一区二区三区| 91久久国产综合久久91猫猫| 亚洲欧美日韩久久久久久| 福利网址在线观看| 日本一区二区三区免费乱视频| 欧美日韩怡红院| 日本久久一二三四| 成人免费视频网址| 天天干在线视频论坛| 欧美岛国在线观看| 日韩少妇高潮抽搐| 2022国产精品视频| 久久黄色免费看| 久久国产成人午夜av影院宅| 成人做爰www免费看视频网站| 久草资源在线观看| 欧美va天堂va视频va在线| 色网站在线播放| 国产偷国产偷亚洲高清人白洁| www黄色在线| 亚洲精品久久久| 国产精品视频免费一区| 92国产精品| 精品国内自产拍在线观看| 99国产精品一区二区三区| 亚洲午夜视频在线观看| 鲁大师私人影院在线观看| 免费在线看一区| 超碰超碰超碰超碰超碰| 欧美男人操女人视频| 国产精品高潮粉嫩av| 精品国产丝袜高跟鞋| 亚洲成人精品久久| 日本黄色中文字幕| 伊人性伊人情综合网| 亚洲第一页av| 九色|91porny| 精品无码一区二区三区在线| 成人亚洲一区| 国产精品久久久久久久久婷婷 | 欧美精品精品一区| 国产一级二级三级视频| 久久男人中文字幕资源站| 永久免费的av网站| 在线观看不卡| 中文字幕一区综合| 人妖一区二区三区| 国产综合香蕉五月婷在线| 成入视频在线观看| 一级做a爰片久久毛片美女图片| 99草在线视频| 日本电影亚洲天堂一区| 精品深夜av无码一区二区老年| 国产色一区二区| 亚洲の无码国产の无码步美| 国产在线视视频有精品| 日韩一级片播放| 亚洲精品欧美| 麻豆映画在线观看| 成人精品天堂一区二区三区| 国产原创精品| 久久久久久久久成人| 国产成人精品电影久久久| av2020不卡| 久久视频免费在线播放| 成人在线高清视频| 日韩激情在线视频| 亚洲精品成av人片天堂无码| 欧美日韩三级在线| 无码人妻熟妇av又粗又大| 亚洲一二三四久久| www.99re7| 亚洲三级理论片| 九一在线免费观看| 久久久久久久性| 久久人妻一区二区| 成人国产精品免费网站| 捷克做爰xxxⅹ性视频| 日av在线不卡| 无码人妻丰满熟妇区毛片| 国产亚洲精品bv在线观看| 免费人成在线观看视频播放| 一区二区三区午夜视频| 亚洲国产精品综合| 欧美特黄一级大片| 日韩欧美精品在线不卡| 国产一区二区精品福利地址| 欧美国产视频在线观看| 亚洲精品进入| 日韩av高清在线播放| 国产一区二区观看| 日韩成人在线资源| 不卡一区2区| 色综合电影网| 色天天综合网| 国产精品jizz在线观看老狼| 日韩理论在线| 一区二区三区四区免费视频| 成人一区不卡| 麻豆中文字幕在线观看| 999国产精品| 四虎影院一区二区| 亚洲精品2区| 久久久久久久久影视| 国一区二区在线观看| 天堂8在线天堂资源bt| 伊人久久成人| 黄色片一级视频| 日本不卡视频在线观看| 牛夜精品久久久久久久| 精品一区二区久久| 香蕉视频1024| 91视视频在线观看入口直接观看www | 亚洲综合av在线播放| 狠狠色丁香婷综合久久| 青娱乐精品在线| jiyouzz国产精品久久| 少妇精品一区二区三区| 欧美高清在线一区| 国产天堂av在线| 亚洲h精品动漫在线观看| 国产成人亚洲欧洲在线| 91黄色免费版| 国产三级第一页| 亚洲成人亚洲激情| 国产在线播放av| 欧美超级免费视 在线| 123区在线| 国产精品啪视频| 视频二区欧美| 色爱区成人综合网| 欧美成人一品| 999香蕉视频| 国产一区二区三区免费看| 精品无码国产一区二区三区51安| 久久九九久久九九| 蜜臀久久精品久久久用户群体| 精品福利视频导航| 一本到在线视频| 亚洲国产精品va在线看黑人动漫 | 亚洲国产精品精华液2区45| 欧美日韩三级在线观看| 色婷婷精品大在线视频| 国产精选久久久| 国产香蕉精品视频一区二区三区| 羞羞视频在线免费国产| 国产mv久久久| 97久久精品| 亚洲一二三区在线| 国产一区二区三区久久| 久久精品一卡二卡| 久久久精品中文字幕麻豆发布| 麻豆明星ai换脸视频| 日韩欧美精品在线观看| 亚洲第一天堂影院| 中文字幕日韩av电影| a国产在线视频| 91色琪琪电影亚洲精品久久| 精品高清久久| 免费看日本毛片| 国产69精品一区二区亚洲孕妇| 极品人妻videosss人妻| 午夜精品一区二区三区电影天堂| 国产精品欧美激情在线| 亚洲天堂色网站| 少妇淫片在线影院| αv一区二区三区| 国产精品99一区二区三| 国产自偷自偷免费一区| 26uuu色噜噜精品一区二区| 妺妺窝人体色www聚色窝仙踪| 欧美艳星brazzers| 你懂的免费在线观看视频网站| 久久免费精品视频| 999久久久精品一区二区| 中文字幕一区二区三区最新| 蜜臀av性久久久久蜜臀aⅴ四虎| 国精产品一区一区三区免费视频| 偷偷要91色婷婷| 蜜桃av中文字幕| 欧美国产日韩一区二区在线观看| 日韩专区视频| 综合久久国产| 精品亚洲国内自在自线福利| 欧洲av一区二区三区| 欧美日韩亚洲精品一区二区三区| 色婷婷av一区二区三区之e本道| 欧美日本中文字幕| 亚洲91网站| 免费网站永久免费观看| 国产精品1区2区| 久久国产露脸精品国产| 日韩精品一区二区三区在线观看 | 91成人在线观看喷潮| 日本一区视频| 国产999在线观看| 国产精品欧美三级在线观看| 99久久久无码国产精品6| 久久久99久久| 中国老头性行为xxxx| 亚洲最大中文字幕| 欧美日韩伦理一区二区| 一区二区三区在线视频111| 激情久久五月天| 国产精品 欧美激情| 欧美成人伊人久久综合网| www.51av欧美视频| 欧美黄色直播| 青青国产91久久久久久| 青青操在线视频观看| 欧美一区二区久久| 黄色在线看片| 久久青青草原一区二区| 日韩二区三区四区| 久久久精品少妇| 亚洲精品在线观看视频| 黄色在线网站噜噜噜| 四虎永久在线精品免费一区二区| 美日韩一级片在线观看| 久久久久久久久久99| 日韩成人在线播放| 国产福利亚洲| 337p亚洲精品色噜噜狠狠p| www.色精品| 精人妻无码一区二区三区| 久久久国产成人精品| 欧美精品国产白浆久久久久| 亚洲免费av一区二区三区| 亚洲欧美偷拍卡通变态| 色屁屁草草影院ccyycom| 国产精品久久av| 国产一区二区三区自拍| 玖玖爱在线观看| 91精品国产欧美一区二区| zzzwww在线看片免费| 亚洲韩国在线| 成人黄色在线视频| 中文字幕一区二区三区免费看 | 亚洲精品一区二区三| 国产精品12区| 国产一区免费看| 欧美激情18p| 日韩精品永久网址| 超碰男人的天堂| 91精品国产综合久久久蜜臀粉嫩| 2018av在线| 国产又大又长又粗又黄| 久久伊人中文字幕| 精品国产999久久久免费| 国产成人精品免高潮在线观看 |