Agent 學(xué)習(xí)手記(三):Agent開發(fā)流程

四、Agent 開發(fā)通用流程

基于實踐,通常會按照3個階段、10個環(huán)節(jié)開發(fā)一個具備生產(chǎn)機應(yīng)用、商業(yè)化能力的Agent。

①規(guī)劃階段。包括定義應(yīng)用場景、梳理業(yè)務(wù)流程和痛點、梳理功能定位和開發(fā)需求3個環(huán)節(jié)。

②設(shè)計階段。包括繪制運行流程圖、設(shè)置大模型及參數(shù)、設(shè)計提示詞、配置技能、設(shè)計用戶溝通頁面5個環(huán)節(jié)。

③上線階段。包括測試與調(diào)優(yōu)、發(fā)布2個環(huán)節(jié)。

1. 規(guī)劃 Agent

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

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

②Why。為什么要開發(fā)這個Agent?它能夠解決什么問題?與傳統(tǒng)業(yè)務(wù)流程相比,它的價值是什么?與直接使用大模型對話相比,它的價值是什么?

③How。這個Agent如何實現(xiàn)所定義的功能?

規(guī)劃Agent是開發(fā)Agent的底層思考,用以指導(dǎo)Agent的具體設(shè)計。

定義Agent的應(yīng)用場景

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

Agent是AI技術(shù)的場景化應(yīng)用,天然就帶有場景化的屬性。因此,在設(shè)計Agent之前,有必要對其應(yīng)用場景進(jìn)行定義。

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

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

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

梳理業(yè)務(wù)流程和分析痛點

要想實現(xiàn)Agent的功能,就需要針對Agent的應(yīng)用場景進(jìn)行業(yè)務(wù)流程分析,系統(tǒng)化梳理業(yè)務(wù)邏輯,并分析痛點,尋找Agent的獨特價值,以確保能夠有效地解決實際問題。

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

對于這樣的業(yè)務(wù)流程,可以識別出兩大痛點:

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

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

通過分析業(yè)務(wù)流程的環(huán)節(jié),我們可以從更細(xì)致的顆粒度理解 Agent 應(yīng)用場景下的業(yè)務(wù)邏輯,確保設(shè)計的 Agent 更貼近真實的業(yè)務(wù)流程,更好地消除用戶痛點,滿足用戶需求。

梳理 Agent 的功能定位和開發(fā)需求

在梳理業(yè)務(wù)流程和分析痛點的基礎(chǔ)上,我們要進(jìn)一步梳理出 Agent 的功能定位和開發(fā)需求,用于指導(dǎo) Agent 的具體設(shè)計。

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

例如, AI 投標(biāo)助手需要把人工閱讀投標(biāo)文件識別關(guān)鍵信息的流程,轉(zhuǎn)變?yōu)橛?AI 系統(tǒng)協(xié)助讀取招標(biāo)文件的流程。

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

2.設(shè)計 Agent?

在規(guī)劃 Agent 后,就可以使用 Agent 開發(fā)平臺開發(fā) Agent 了。

繪制Agent的運行流程圖

Agent 的運行流程圖對 Agent 執(zhí)行任務(wù)的節(jié)點、節(jié)點的類型、節(jié)點的邏輯關(guān)系、節(jié)點的先后次序等進(jìn)行圖形化呈現(xiàn),作用是讓開發(fā)者根據(jù) Agent 開發(fā)平臺的功能模塊,從整體做好 Agent 的結(jié)構(gòu)化布局和功能路徑規(guī)劃,確保后續(xù)開發(fā) Agent 的效率和 Agent 的可靠性。

?Agent 的運行流程圖就像一張設(shè)計圖,指導(dǎo)整個施工過程。繪制Agent運行流程圖有利于快速開發(fā)Agent。

設(shè)置大模型及參數(shù)

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

設(shè)置大模型主要包括大模型選型、設(shè)置大模型的參數(shù)兩個方面。

大模型選型是根據(jù) Agent 的任務(wù)需求和應(yīng)用場景,選擇合適的大模型廠商及具體的模型型號。

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

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

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

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

生成多樣性是非常重要的大文件模型參數(shù),它定義大模型的回復(fù)是更精確、更穩(wěn)定,還是更靈活、更有創(chuàng)意。通常而言,專業(yè)問答類、特定領(lǐng)域檢索類的 Agent ,要求大模型回答得更精確、更穩(wěn)定;聊天類、文案創(chuàng)作類 Agent ,要求大模型回答得更靈活、更有創(chuàng)意。

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

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

設(shè)計提示詞

提示詞是 Agent 調(diào)用大模型執(zhí)行任務(wù)的指令,是 Agent 規(guī)劃、思考能力的體現(xiàn)。在開發(fā) Agent 時,設(shè)計提示詞是很重要的環(huán)節(jié),扣子稱之為人設(shè)回復(fù)邏輯

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

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

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

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

配置 Agent 技能

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

設(shè)計用戶溝通頁面

前面環(huán)節(jié)已經(jīng)完成了Agent核心功能開發(fā),設(shè)計用戶溝通頁面是為了便于用戶快速理解、正確使用Agent。包括:設(shè)計開場白、引導(dǎo) / 預(yù)置問題、快捷指令、背景圖片、語音 / 數(shù)字人等。用戶溝通頁面不影響Agent的能力輸出和功能發(fā)揮。

3. 上線 Agent

測試與調(diào)優(yōu)

在上線 Agent 前,通常需要多次測試與調(diào)優(yōu)。

對話調(diào)優(yōu)是所有 Agent 開發(fā)平臺都具備的功能,即在發(fā)布 Agent 前,通過用戶對話測試 Agent 的回答效果,判斷 Agent 功能配置的有效性。

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

發(fā)布

在測試和調(diào)優(yōu)后,就進(jìn)入發(fā)布環(huán)節(jié)。

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

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

對于第三種方式,在發(fā)布完成后,還需要根據(jù)自身需要完成 API 調(diào)用配置。

五、開發(fā)Agent的策略

1. 懂場景和懂業(yè)務(wù),比懂AI技術(shù)更重要

Agent的本質(zhì)是基于特定場景結(jié)合AI技術(shù)再造業(yè)務(wù)流程。AI技術(shù)只有與業(yè)務(wù)緊密結(jié)合,才能真正發(fā)揮作用。

隨著人機交互頁面的簡化,精通業(yè)務(wù)的人可以零代碼規(guī)劃Agent,制作Demo,甚至完成全流程的Agent開發(fā)。

一個優(yōu)秀的Agent開發(fā)者,首先應(yīng)該是一名業(yè)務(wù)專家,其次才是掌握Agent開發(fā)工具使用方法的開發(fā)者。

Agent開發(fā)者一定要具有業(yè)務(wù)專家的思維,提高業(yè)務(wù)理解能力和設(shè)計能力,從應(yīng)用場景和業(yè)務(wù)分析視角規(guī)劃和設(shè)計Agent,從而提高Agent解決問題的效果。

2. 使用工具拓展能力,是Agent具有價值的關(guān)鍵

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

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

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

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

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

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

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

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

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,443評論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,530評論 3 416
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,407評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,981評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,759評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,204評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,263評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,415評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,955評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,650評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,892評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,675評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,967評論 2 374

推薦閱讀更多精彩內(nèi)容