Agent 學習手記(三):Agent開發流程

四、Agent 開發通用流程

基于實踐,通常會按照3個階段、10個環節開發一個具備生產機應用、商業化能力的Agent。

①規劃階段。包括定義應用場景、梳理業務流程和痛點、梳理功能定位和開發需求3個環節。

②設計階段。包括繪制運行流程圖、設置大模型及參數、設計提示詞、配置技能、設計用戶溝通頁面5個環節。

③上線階段。包括測試與調優、發布2個環節。

1. 規劃 Agent

規劃Agent的階段如同項目立項的可研分析與評估,需要回答以下問題:

①What。這是一個什么樣的Agent?它的使用場景是什么?它的用戶是誰?它能做什么?

②Why。為什么要開發這個Agent?它能夠解決什么問題?與傳統業務流程相比,它的價值是什么?與直接使用大模型對話相比,它的價值是什么?

③How。這個Agent如何實現所定義的功能?

規劃Agent是開發Agent的底層思考,用以指導Agent的具體設計。

定義Agent的應用場景

場景,指的是一個特定的空間、時間或情境,包含了某種活動、事件或行為的發生。定義應用場景的主要目的是提高對特定用戶、特定生活或工作情境問題的處理能力,提高產品或服務滿意度。

Agent是AI技術的場景化應用,天然就帶有場景化的屬性。因此,在設計Agent之前,有必要對其應用場景進行定義。

定義Agent的應用場景通常包括確定Agent的用戶群體、Agent的用途、Agent的價值等要素。

比如,AI 投標助手,是一個檢索并生成投標文件的關鍵信息的 Agent ,其用戶群體是企業中負責投標的市場部門、商務部門的員工,或參與投標工作的技術部門的員工。該 Agent 的用途是快速閱讀用戶上傳的招標文件,給用戶生成準確、全面、結構化的招標文件的關鍵信息,并準確回答用戶關于招標文件的各種問題。該 Agent 的價值是節省人工閱讀長達幾十頁招標文件的時間成本,并方便招標文件的關鍵信息在不同人員間準確、全面傳遞,減少人工檢索信息的缺漏和傳遞的偏差。

可以看出,定義 Agent 的應用場景是對規劃 Agent 中" What "的回答。一個高質量的 Agent ,應該有明確且具體的用戶群體、有效且精準的用途。更重要的是, Agent 要能夠具有獨特價值。例如 AI 投標助手的獨特價值是相對于傳統人工信息檢索、傳遞的低效率、信息衰減而言的,通過長文檔理解能力,減少人工閱讀和查找招標文件的工作量。

梳理業務流程和分析痛點

要想實現Agent的功能,就需要針對Agent的應用場景進行業務流程分析,系統化梳理業務邏輯,并分析痛點,尋找Agent的獨特價值,以確保能夠有效地解決實際問題。

還是以AI 投標助手為例,基于其應用場景,可以梳理出如下常規的業務流程:① 購買并獲取招標文件;② 把招標文件分發給商務、業務相關人員;③ 標記與解讀招標文件的關鍵信息;④ 制定投標策略;⑤ 分模塊制作投標文件;⑥ 審核標書;⑦ 投標。?

對于這樣的業務流程,可以識別出兩大痛點:

痛點一,信息查找費時費力。要從冗長的招標文件中找到關鍵信息(如開標時間和地點、投標人資格要求、投標保證金、最高限價、付款條件、投標文件組成、評分規則、合同條款等)需要花費大量的人工時間,并且要足夠耐心和仔細。

痛點二,信息在傳遞時容易丟失。制作一份投標文件,通常需要多方協作完成,例如技術人員負責制定技術方案,商務人員負責提供資質、業績等信息,報價人員負責測算價格,審核人員對照招標評審要點審核投標文件等。招標文件的關鍵信息在不同崗位間傳遞,在這個過程中,很容易出現信息丟失、理解偏差等風險,導致投標文件作廢或者得分不佳,影響中標。

通過分析業務流程的環節,我們可以從更細致的顆粒度理解 Agent 應用場景下的業務邏輯,確保設計的 Agent 更貼近真實的業務流程,更好地消除用戶痛點,滿足用戶需求。

梳理 Agent 的功能定位和開發需求

在梳理業務流程和分析痛點的基礎上,我們要進一步梳理出 Agent 的功能定位和開發需求,用于指導 Agent 的具體設計。

梳理 Agent 的功能定位和開發需求要圍繞 Agent 的能力實現展開,包括 Agent 是否需要通過配置專有知識庫增強特定領域的大模型輸出能力, Agent 執行的任務是否需要通過工作流分解為多個子任務, Agent 是否需要調用插件獲得拓展能力。

例如, AI 投標助手需要把人工閱讀投標文件識別關鍵信息的流程,轉變為由 AI 系統協助讀取招標文件的流程。

經過梳理,其功能定位和開發需求包括:①配置知識庫,掌握招投標專業知識,熟悉各類招投標項目的文件結構、術語、內容、關鍵信息等。②大模型需要具備長文檔理解和輸出能力,一份招標文件長達幾十頁甚至上百頁,必須選擇合適的大模型和 token 參數(輸入和輸出的文字長度)。③ Agent 的任務流程較短,不需要使用工作流。④ Agent 需要具備閱讀和檢索用戶上傳的文檔(通常是 pdf 、 doc 、圖片等格式的)的技能,需要配置相關功能插件。④輸出的結果要有極高的準確性和全面性,需要防止大模型出現"幻覺"。

2.設計 Agent?

在規劃 Agent 后,就可以使用 Agent 開發平臺開發 Agent 了。

繪制Agent的運行流程圖

Agent 的運行流程圖對 Agent 執行任務的節點、節點的類型、節點的邏輯關系、節點的先后次序等進行圖形化呈現,作用是讓開發者根據 Agent 開發平臺的功能模塊,從整體做好 Agent 的結構化布局和功能路徑規劃,確保后續開發 Agent 的效率和 Agent 的可靠性。

?Agent 的運行流程圖就像一張設計圖,指導整個施工過程。繪制Agent運行流程圖有利于快速開發Agent。

設置大模型及參數

大模型是 Agent 的大腦,無工作流模式的 Agent 通常只會使用單一的大模型進行思考和回答,工作流模式的 Agent 則可能會多次使用不同的大模型。

設置大模型主要包括大模型選型、設置大模型的參數兩個方面。

大模型選型是根據 Agent 的任務需求和應用場景,選擇合適的大模型廠商及具體的模型型號。

不同的大模型在處理不同的任務時會存在性能差異。一些大模型也推出了不同上下文長度的模型產品。例如,扣子的豆包模型分為豆包. Function call 模型32K(指模型一次能夠處理32,000 token 的文。 token 是文本中最小的語義單元,一個 token 通常等于1~1.8個漢字)和豆包角色扮演模型32K, Kimi 模型分為 Kimi (8K)、 Kimi (32K)、 Kimi (128K)。

要想快速了解大模型的回答效果,可以使用扣子的模型廣場功能,進行模型 PK ,以便選用合適的大模型。

最大回復長度則要根據輸入模型的文本長度和模型輸出的文本長度來判斷,8K、32K模型可以滿足一般的問答對話任務,但對于長文檔的理解和輸出任務,如閱讀報告、撰寫小說等,則需要選擇32K、128K等處理長上下文的模型。

設置大模型的參數一般包括生成多樣性、輸入及輸出設置。

生成多樣性是非常重要的大文件模型參數,它定義大模型的回復是更精確、更穩定,還是更靈活、更有創意。通常而言,專業問答類、特定領域檢索類的 Agent ,要求大模型回答得更精確、更穩定;聊天類、文案創作類 Agent ,要求大模型回答得更靈活、更有創意。

輸入設置主要是對上下文對話輪數的設置。開發者需要合理設置大模型的最大回復長度,特別是對有長文本輸出需求的 Agent ,如創作長文檔、撰寫報告類的 Agent ,需要預測文本長度。

隨著 Agent 開發平臺開始收費,選擇大模型需要考慮經濟性問題。合理地設置這些參數,既能確保大模型的效果,也能減少不必要的token消耗。

設計提示詞

提示詞是 Agent 調用大模型執行任務的指令,是 Agent 規劃、思考能力的體現。在開發 Agent 時,設計提示詞是很重要的環節,扣子稱之為人設回復邏輯

單 Agent 模式下的提示詞設計和工作流模式下的提示詞設計有所不同。

在單 Agent 模式下,通常只有一個提示詞, Agent 要靠這個提示詞來調用大模型、各類插件、知識庫、數據庫等功能模塊,并按照預定義的格式輸出結果。單 Agent 模式下的提示詞,就像一個系統規劃師。因此,撰寫單 Agent 模式下的提示詞一般會比撰寫工作流模式下的提示詞更復雜,難度更大,要求更高。

在工作流模式下,只有大模型節點才需要提示詞。提示詞的功能是調用大模型執行所在節點的任務。與單 Agent 模式下的提示詞指揮全局有所不同,工作流模式下的提示詞只在其所在的節點起作用,不影響其他節點運行。如果一個工作流中有多個大模型,就需要配置多個提示詞,每個提示詞都只會匹配各自節點的大模型。

無論在哪種模式下,設計提示詞的方法和技巧都是通用的。不同場景的 Agent ,在提示詞結構上有所差異,如角色扮演類 Agent 的提示詞包括人設/角色、性格特點、語言特點、行為方式、限制/注意事項,工具類 Agent 的提示詞包括人設/角色、技能、知識、限制/注意事項,圖像創作類 Agent 的提示詞包括人設/角色、詳細描述、風格、色彩、情感表達、技能、限制/注意事項。

配置 Agent 技能

配置 Agent 技能是讓 Agent 掌握使用各類工具的能力,從而實現 Agent 的能力擴展。包括:配置插件/ API 、工作流、知識庫、數據庫、變量、卡片等。

設計用戶溝通頁面

前面環節已經完成了Agent核心功能開發,設計用戶溝通頁面是為了便于用戶快速理解、正確使用Agent。包括:設計開場白、引導 / 預置問題、快捷指令、背景圖片、語音 / 數字人等。用戶溝通頁面不影響Agent的能力輸出和功能發揮。

3. 上線 Agent

測試與調優

在上線 Agent 前,通常需要多次測試與調優。

對話調優是所有 Agent 開發平臺都具備的功能,即在發布 Agent 前,通過用戶對話測試 Agent 的回答效果,判斷 Agent 功能配置的有效性。

但是對于復雜工作流的 Agent ,僅通過對話輸入和 Agent 結果輸出,很難識別和發現 Agent 內部運行過程中存在問題的環節,修正難度較大。所以,扣子平臺提供了調試臺功能。調試詳情包括:耗時、調用樹 / 火焰圖、節點詳情、輸入、輸出等信息。

發布

在測試和調優后,就進入發布環節。

Agent 一般有3種發布和使用方式:一是發布到 Agent 開發平臺的智能體商店中使用;二是發布到微信、抖音、飛書等第三方社交或工具平臺中使用;三是通過 API 發布,這樣可以通過 API 調用把 Agent 集成到其他產品或服務中使用。

第一種和第二種方式操作起來非常簡單,單擊 Agent 開發平臺的"發布"按鈕,勾選相關的發布平臺(也稱為發布渠道),經過審核后就可以上線使用了。

對于第三種方式,在發布完成后,還需要根據自身需要完成 API 調用配置。

五、開發Agent的策略

1. 懂場景和懂業務,比懂AI技術更重要

Agent的本質是基于特定場景結合AI技術再造業務流程。AI技術只有與業務緊密結合,才能真正發揮作用。

隨著人機交互頁面的簡化,精通業務的人可以零代碼規劃Agent,制作Demo,甚至完成全流程的Agent開發。

一個優秀的Agent開發者,首先應該是一名業務專家,其次才是掌握Agent開發工具使用方法的開發者。

Agent開發者一定要具有業務專家的思維,提高業務理解能力和設計能力,從應用場景和業務分析視角規劃和設計Agent,從而提高Agent解決問題的效果。

2. 使用工具拓展能力,是Agent具有價值的關鍵

Agent = 大模型 ×(規劃+記憶+使用工具+行動)。要想評估一個Agent的功能是否強大,可以看它在這些方面的配置情況。

如果一個角色聊天類Agent沒有配置知識庫,沒有使用插件,也沒有工作流、數據庫、記憶等,僅僅設計了提示詞,那么它的能力和大模型生成不會有很大差別。

3. 堅持小而美,聚焦特定的應用場景和功能

Agent 是針對特定的應用場景的輕應用,可以和 RPA(機器人流程自動化)結合。 Agent 可以通過 API 接入日常軟件,也可以和其他 Agent 協作。因此, Agent 開發者應該堅持小而美的理念,從最小顆粒度的應用場景和功能入手,定義 Agent 的應用場景,設計 Agent 。

應用場景越具體,用戶越聚焦, Agent 的實現路徑就越明確,其落地性就越強、價值就越大。反之,如果我們用開發軟件的思維,劃定了復雜而廣泛的應用場景和功能,那么很可能導致在技術上無法實現 Agent ,或者其穩定性不佳。

4. 把Agent當成助手,而不是一個完全托管的解決方案

無論是 AI 技術,還是 Agent 的發展,目前都處于探索階段。我們離 AGI(通用人工智能)還有一段距離。 Agent 在智能化、自動化、多功能化、性能穩定性等方面都需要提升。

作為 Agent 開發者,我們必須清楚地認識到這一點,對 Agent 過于理想化的想法,可能會給 Agent 的開發,或者 Agent 的應用推廣帶來困難和風險。另外, Agent 作為 AI 工具,它的設計初衷是輔助人類,提高效率,而不是取代人類的決策。

因此,在使用 Agent 時,我們應該將其視為一個助手,而不是一個完全托管的解決方案。用戶需要對 Agent 輸出的內容進行判斷、篩選、加工,而不是盲目地接受和直接使用。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,533評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,055評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,365評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,561評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,346評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,889評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,978評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,118評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,637評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,558評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,739評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,246評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,980評論 3 346
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,619評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,347評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,702評論 2 370

推薦閱讀更多精彩內容