Agents需要一個代碼解釋器 原創(chuàng)
作者 | Vasek Mlejnsky
編譯 | 言征
出品 | 51CTO技術(shù)棧(微信號:blog51cto)
構(gòu)建人工智能代理很難。你將與幻覺作斗爭,讓agents智商不掉線,并引導(dǎo)他們使用正確的工具。
不過,方法也不難,其中一種就是賦予代理代碼執(zhí)行能力。
以下是為什么你的人工智能代理應(yīng)該有一個代碼解釋器的一些原因。
一、額外技能
具有代碼解釋器的代理可以獲得諸如對CSV文件執(zhí)行統(tǒng)計(jì)分析或繪制圖表之類的功能。
當(dāng)你向不同的代理請求相同的東西時,很明顯,那些具有底層代碼解釋器的代理有多大的不同。如果不運(yùn)行代碼,幾乎不可能完成以下任務(wù):
- 分析NVIDIA的股票并預(yù)測其發(fā)展。
- 和人一起玩撲克游戲。
- 訂一張機(jī)票。
我們先來看一下Perplexity(一個沒有代碼解釋器的代理)如何處理數(shù)據(jù)分析任務(wù)。即使提供了數(shù)據(jù)文件,代理也無法完成任務(wù)——它所能做的最好的事情就是提供關(guān)于應(yīng)該運(yùn)行什么代碼的建議。
圖片
以下是帶有底層代碼解釋器的ChatGPT將如何處理相同的任務(wù)…
圖片
…還包括安裝新軟件包和生成圖表。
圖片
請注意,最終用戶不需要意識到應(yīng)用程序在幕后執(zhí)行編碼任務(wù),因?yàn)橹饕繕?biāo)(如“為我預(yù)訂航班”)通常不圍繞編碼。
二、復(fù)雜推理
大型語言模型(LLM)擅長生成文本,但難以進(jìn)行推理和復(fù)雜思考。
谷歌的團(tuán)隊(duì)對丹尼爾·卡尼曼的名著《思考,快與慢》進(jìn)行了有趣的類比。執(zhí)行代碼的能力使代理具有慢思考(努力、邏輯和計(jì)算)與快思考(直覺和自動)的能力,并通過代理在沒有代碼解釋器的情況下的行為來表示。
在他們的類比中,完全依賴LLM的代理可以被認(rèn)為是在沒有慢思考的情況下操作,即在沒有深入思考的情況下來快速生成文本。下面是一個例子,說明即使是簡單的任務(wù)也可能需要一些系統(tǒng),而不能憑直覺回答。
圖片
三、減少LLM幻覺
最近的一篇論文證實(shí),即使在給出推理提示的情況下,LLM也會對多步驟任務(wù)產(chǎn)生幻覺。作為論文研究結(jié)果的后續(xù),一位軟件工程師展示了使用代碼解釋器式LLM引擎如何成功地將幻覺減少一個數(shù)量級。他發(fā)現(xiàn),代碼解釋器可以將GPT-4幻覺率從<10%降低到<1%。
代碼解釋器可以處理上傳和下載,編寫代碼從源文件中查找數(shù)據(jù)并得出結(jié)論,而不是像更簡單的代理通常那樣自由推理。
對抗LLM幻覺的其他方法包括RAG、微調(diào)和增加LLM上下文窗口的大小。
四、自己測試代碼
另一個巨大的挑戰(zhàn)是LLM代碼的生成。當(dāng)代理不僅可以生成代碼,還可以在運(yùn)行代碼時,它就能夠測試自己輸出的功能并對其進(jìn)行迭代。
五、使用代碼解釋器構(gòu)建
作為圍繞LLM構(gòu)建的新生態(tài)系統(tǒng)的一部分,我們將看到代碼解釋器為更多的人工智能代理和應(yīng)用程序提供動力,在LLM中,代碼解釋器代表了代理大腦的關(guān)鍵部分。有關(guān)構(gòu)建的靈感,不妨參閱流行的開源產(chǎn)品,如Open Interpreter或AutoGen。
圖片
當(dāng)然,仍然有一些挑戰(zhàn)需要克服,例如找到一種安全和最佳的方式來運(yùn)行LLM生成的代碼,這可以通過在獨(dú)立的云環(huán)境中執(zhí)行進(jìn)程來解決。
?本文轉(zhuǎn)載自51CTO技術(shù)棧,作者:言征
