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