我算比較資深的 Agent 開發(fā)者:ChatGPT中,用量最大的 Plugin 和用量最大的華人捏的 Bot,可能都是我做的。
之前寫過一篇實操教程:《保姆級教程:Coze 打工你躺平》,今天想從 Agent 的發(fā)展脈絡(luò),來更深入談?wù)劇?/span>
不做詞義追源,僅從大眾角度,這個事兒是去年初開始的,也就是 2023 年 2-3 月。標(biāo)志性事件包括:
AutoGPT 等開源項目的發(fā)布,這是第一批基于自然語言的 AI 自動化實踐:你告訴它一個任務(wù),它就會通過自然語言的自我對話,將這個任務(wù)進(jìn)行拆分、規(guī)劃并實現(xiàn)。
斯坦福小鎮(zhèn)一類的項目實踐:給予不同的 Bot 以不同的人格,搭配記憶窗口,讓它們之間相互對話。
發(fā)表于 2 月的論文《Toolformer: 大模型可以教自己使用工具》,以及 OpenAI 在 3 月底發(fā)布的插件計劃:這意味著,大模型從原來的“思想家”,通過對外部工具的使用,變成了實干家。
《AI 學(xué)會使用工具了》
2023年2月14日,報道自賽博禪心
時至今日,對于 Agent 是什么,可能還沒有一個標(biāo)準(zhǔn)的定義。
一個常見的觀點是,Agent 是一種讓 AI 以類似人的工作和思考方式,來完成一系列的任務(wù)。一個 Agent 可以是一個 Bot,也可以是多個 Bot 的協(xié)同。就像是職場里,簡單的工作獨立完成,復(fù)雜的工作協(xié)作完成一樣。
對于每個 Bot 來說,可能會包括:
一個大腦:判斷和規(guī)劃行為,這里通常用 GPT-4或同水平的 LLM;
眼睛和手:確認(rèn)信息和使用外部工具,一般是各種插件/action/api;
工作紀(jì)要:儲存已經(jīng)發(fā)生的事,通常的媒介是上下文窗口,或者數(shù)據(jù)庫;
行為SOP:明確這個 Agent 的身份、任務(wù)、目標(biāo)和機(jī)制。這個 SOP 可能是用戶給的,也可能是由其它 Bot 給出的。
再具象一點,這里我從 GPTs 里截了個圖:
對于 GPTs,通常被認(rèn)為是由 OpenAI 設(shè)計的簡化版的 Agent。默認(rèn)情況下,只能進(jìn)行單 Bot 交互:
一個大腦:在 ChatGPT GPT Store 里,GPT-4 是唯一可選的 LLM;
眼睛和手:可以在 Capabilities 里勾選由 OpenAI 提供的第一方能力,也可以通過Actions 來拓展更多的外部能力;
工作紀(jì)要:一般來說就是對話記錄,GPTs 可以回顧之前的對話;
行為SOP:存放在 Description, Instructions 以及 Knowledge 里。
以 OpenAI 為例,我們看看 Agent 是如何一步步演進(jìn)的。
去年 3 月底,OpenAI 宣布了插件計劃,并在 5 月上線了插件商店,這也標(biāo)志了 OpenAI 揭開 Agent 戰(zhàn)局的第一步。
在當(dāng)時 OpenAI 給開發(fā)者發(fā)送的指引中,給了這樣的 Todo:
第一步:開發(fā)接口,來定義 ChatGPT 可以調(diào)用的功能。接口可以是新開發(fā)的,也可以是改造現(xiàn)有的
第二步:寫一份文檔,給 ChatGPT 來看,讓它知道什么時候去調(diào)用接口。當(dāng)然,這里要遵循一定的格式,然后用自然語言來寫。
如果你做過 OpenAI API 的開發(fā),可能會覺得這個文檔有些熟悉,這不就是 Fuction Call 嗎?
沒錯,在 2023 年 6 月 13 日,OpenAI 發(fā)布了 Function Call 模式,讓大模型可以來調(diào)用外部工具,用的就是非常類似的方案。
再往后,OpenAI 的相關(guān)工作人員做了一系列的 Research,關(guān)于 Agent 的最佳實踐。同時的,也發(fā)布了 Custom Instruction 指令的相關(guān)功能。
之后,ChatGPT 推出了 All Tools 功能。也就是回答用戶問題時,不再需要用戶自主的來選擇工具,這可以視作是“自動版的Plugin”,覆蓋了三款官方工具:Browsing, Advanced Data Analysis 和 DALL·E。
時間推移,在2023 年 11 月 6 日的時候,在 OpenAI 開發(fā)者大會上,Sam Altman 宣布了 GPTs,這通常被認(rèn)為是 OpenAI 推出了其第一個正式版的 AI Agent。在最初的版本中,包括以下功能
允許用戶創(chuàng)建多個 Bot,自定義它們的身份和回答風(fēng)格。并且這些 Bot 可以分享
Bot 可以自有使用三款官方工具:Browsing, Advanced Data Analysis 和 DALL·E
Bot 也可以通過 Action 的方式(類似 API 的東西),去調(diào)用任何的外部能力
Bot 可以有自己的數(shù)據(jù)空間,允許用戶對這些數(shù)據(jù)進(jìn)行 QA。比如在《我剛弄個賊實用的GPTs》中,我上傳了 OpenAI 的開發(fā)文檔,幫助開發(fā)者快速生成 OpenAI 的調(diào)用代碼
同時,在11月06日的時候,OpenAI 也更新了幾個影響深遠(yuǎn)的接口:
Function Calling:更新多參數(shù)生成功能,可以讓一輪對話完成多項任務(wù)
JSON Mode:讓 API 通過 JSON,而非文字,來做出回應(yīng)
Seed:設(shè)定隨機(jī)值,提高一致性
Assistants API & Code Interpreter:可以理解為把 ChatGPT 的 Bot,搬到了 API 里
Retrieval:簡易化知識庫構(gòu)建
在最近 GPTs 體系上線了 GPT Store,有些媒體稱其為 OpenAI 的 App Store 時刻,但其實并不相同。在 GPT Store 里,用戶可以搜索和使用為各項任務(wù)所開發(fā)的 GPTs。
緊隨 GPT Store 上線的,還有 @GPTs 功能,也就是在任何的對話中,你都可以手動的讓某個 GPTs 接管這個對話內(nèi)容,做出更好的輸出。
值得一提的是,由于 GPT Store 沒有開放支付入口,所以目前幾乎所有的 GPTs 都是免費的。對此,OpenAI 也承諾了會給頭部開發(fā)者提供激勵:《GPTs 商店,要發(fā)錢了?。?!》。
之前和 OpenAI 的相關(guān)負(fù)責(zé)人聊過,ChatGPT 的主要定位是“開箱即用的消費級產(chǎn)品”。那這里,自然給“較為復(fù)雜的生產(chǎn)級產(chǎn)品”留下了生態(tài)空間。這里,我們也來探討下這類產(chǎn)品。
主要的 AI 玩家都會對這方面有所涉足,也各有側(cè)重。比如來傳統(tǒng)大廠自字節(jié)扣子/coze,百度的靈境矩陣,也比如來自 AI 初創(chuàng)公司的 Dify 等等。
以扣子為例,對比與 GPTs Store,主要的體感區(qū)別包括:
免費,至少目前是完全免費的
有數(shù)十個官方插件,對比與 GPTs 里只有3個
可以用類似低代碼的方式,構(gòu)建Workflow,并被 Bot 調(diào)用
可以將捏好的 Bot 發(fā)布到其它平臺(比如飛書,公眾號),同時支持 API
其中后兩條極為核心。
一個設(shè)計良好的 Agent 可以提供極大的生產(chǎn)力,并創(chuàng)造極高的價值。
前幾天大火的 Devin,被稱為“第一位由 AI 擔(dān)任的軟件工程師”,它可以自主的去學(xué)會如何使用不熟悉的技術(shù),自主的生成代碼、調(diào)試bug和部署應(yīng)用。
Agent 也可以替代現(xiàn)有的很多軟件工具,去完成工作中繁瑣的任務(wù)。舉個例子,我正打算開一個專欄,叫做“乘風(fēng)破浪的少年們”,去講述和記錄那些在這次 AI 浪潮中,登上世界舞臺的中國人,用對話的形式。類似這種:《奧特曼專訪:關(guān)于 GPT-5、Sora、Ilya、Q*、AGI、外星人等等一切》。
這里對我來講的一個很大挑戰(zhàn):我需要整理大量的文字稿,并且把它排版出來,這并不輕松,也很占時間。我希望有一個 Agent 來幫我做這件事情。
昨天下午,我和 Owen(沉浸式翻譯的作者)去參加了一個 Hackathon,現(xiàn)場有了靈感,并梳理出了這個 Agent 的思路:
第一步:將對話音頻文件,通過 AI(比如whisper)轉(zhuǎn)化成文字稿
第二步:將文字稿用 AI 轉(zhuǎn)化成 QA 問答對,以 json/csv 的方式儲存