一文了解人工智能代理的開(kāi)源堆棧
我記得一個(gè)周末,我坐下來(lái),確信自己終于可以構(gòu)建一個(gè)像樣的研究助理代理原型了。沒(méi)什么特別的——只是能讀取 PDF 文件、提取關(guān)鍵信息,或許還能回答一些后續(xù)問(wèn)題而已。應(yīng)該很簡(jiǎn)單,對(duì)吧?
相反,我花了將近兩天的時(shí)間在文檔不全的倉(cāng)庫(kù)、死掉的 GitHub 問(wèn)題和含糊不清的博客文章之間來(lái)回切換。其中一個(gè)工具看起來(lái)有望成功,直到我意識(shí)到它已經(jīng)八個(gè)月沒(méi)有更新了。另一個(gè)工具需要啟動(dòng)四個(gè)不同的服務(wù)才能解析一個(gè)文檔。到最后,我的“代理”幾乎看不懂文件名,更不用說(shuō)內(nèi)容了。
但支撐我繼續(xù)下去的不是挫敗感,而是好奇。我想知道:實(shí)際建造者使用的工具有哪些?不是那些出現(xiàn)在光鮮亮麗的 VC 地圖上的,而是那些你悄悄安裝、放在你的堆棧里、并且真正使用的東西。那些不需要用三頁(yè) Notion 來(lái)解釋的東西。
這次搜索讓我找到了一套令人驚訝的開(kāi)源庫(kù)——這些工具輕量級(jí)、可靠,并且是專為開(kāi)發(fā)人員設(shè)計(jì)的。
因此,如果您正在努力讓代理真正發(fā)揮作用,那么這篇文章就適合您。
那么,您準(zhǔn)備好構(gòu)建 AI 代理了嗎?
你可能會(huì)問(wèn):
- 人們用什么來(lái)構(gòu)建語(yǔ)音代理?
- 最好的開(kāi)源文檔解析工具是什么?
- 我如何給我的代理提供內(nèi)存而不用將矢量數(shù)據(jù)庫(kù)粘貼到所有內(nèi)容上?
本指南并非試圖涵蓋所有工具,這是有意為之。它精選了我實(shí)際使用過(guò)、保存過(guò)以及在構(gòu)建真實(shí)代理原型時(shí)會(huì)用到的工具。這些工具并非那些在演示中看起來(lái)很酷或出現(xiàn)在所有宣傳帖中的工具,而是那些幫助我從“想法”到“實(shí)際可用”且不會(huì)迷失方向的工具。
以下是堆棧,分為以下類別:
1. 構(gòu)建和編排代理的框架
如果您是從頭開(kāi)始構(gòu)建,請(qǐng)從這里開(kāi)始。這些工具可以幫助您構(gòu)建代理的邏輯——做什么、何時(shí)做以及如何處理工具。您可以將其視為將原始語(yǔ)言模型轉(zhuǎn)化為更自主的模型的核心大腦。
2. 計(jì)算機(jī)和瀏覽器的使用
一旦你的代理能夠規(guī)劃,它就需要采取行動(dòng)。此類別包含的工具可讓你的代理點(diǎn)擊按鈕、輸入字段、抓取數(shù)據(jù),并像人類一樣控制應(yīng)用或網(wǎng)站。
3. 聲音
如果您的座席需要說(shuō)話或聆聽(tīng),這些工具可以處理音頻方面的問(wèn)題——將語(yǔ)音轉(zhuǎn)換為文本,然后再轉(zhuǎn)換為文本。非常適合免提用例或語(yǔ)音優(yōu)先的座席。有些工具甚至足以勝任實(shí)時(shí)對(duì)話。
4. 文檔理解
現(xiàn)實(shí)世界中,大量數(shù)據(jù)以 PDF、掃描件或其他雜亂的格式存在。這些工具可以幫助您的客服人員真正閱讀并理解這些數(shù)據(jù)內(nèi)容——無(wú)論是發(fā)票、合同還是基于圖像的文件。
5.記憶
為了超越一次性任務(wù),你的代理需要記憶。這些庫(kù)可以幫助它記住剛剛發(fā)生的事情、你之前告訴它的內(nèi)容,甚至隨著時(shí)間的推移構(gòu)建一個(gè)長(zhǎng)期檔案。
6.測(cè)試與評(píng)估
事情難免會(huì)出錯(cuò)。這些工具可以幫助您在錯(cuò)誤影響生產(chǎn)之前發(fā)現(xiàn)它們——通過(guò)運(yùn)行場(chǎng)景、模擬交互以及檢查代理的行為是否合理。
7. 監(jiān)控和可觀察性
代理上線后,您需要了解其運(yùn)行情況和性能。這些工具可幫助您跟蹤使用情況、調(diào)試問(wèn)題并了解成本或延遲影響。
8.模擬
在將代理投入實(shí)際使用之前,請(qǐng)先在安全的沙盒環(huán)境中進(jìn)行測(cè)試。模擬環(huán)境可讓您在受控的環(huán)境中進(jìn)行實(shí)驗(yàn)、優(yōu)化決策邏輯并發(fā)現(xiàn)極端情況。
9.垂直代理
并非所有東西都需要從零開(kāi)始構(gòu)建。這些是專為特定任務(wù)(例如編碼、研究或客戶支持)構(gòu)建的現(xiàn)成代理。您可以按原樣運(yùn)行它們,也可以根據(jù)您的工作流程進(jìn)行自定義。
1. 構(gòu)建和編排代理的框架
要構(gòu)建真正能完成任務(wù)的代理,您需要一個(gè)堅(jiān)實(shí)的基礎(chǔ)——能夠處理工作流、內(nèi)存和工具集成,而不會(huì)變成一堆亂七八糟的腳本。這些框架為您的代理提供了理解目標(biāo)、制定計(jì)劃并執(zhí)行所需的結(jié)構(gòu)。
CrewAI——協(xié)調(diào)多個(gè)代理協(xié)同工作。非常適合需要協(xié)調(diào)和基于角色的行為的任務(wù)。
Agno——專注于記憶、工具使用和長(zhǎng)期互動(dòng)。非常適合需要記憶和適應(yīng)能力的助手。
Camel——專為多代理協(xié)作、模擬和任務(wù)專業(yè)化而設(shè)計(jì)。
AutoGPT — 通過(guò)規(guī)劃和執(zhí)行循環(huán)自動(dòng)化復(fù)雜的工作流程。最適合需要獨(dú)立運(yùn)行的代理。
AutoGen——讓代理相互溝通以解決復(fù)雜問(wèn)題。
SuperAGI——簡(jiǎn)化設(shè)置,快速構(gòu)建和運(yùn)送自主代理。
Superagent——一個(gè)靈活的開(kāi)源工具包,用于創(chuàng)建自定義 AI 助手。
LangChain和LlamaIndex——用于管理內(nèi)存、檢索和工具鏈的首選工具。
2. Computer and Browser Use
一旦你的代理具備了思考能力,下一步就是幫助它行動(dòng)。這意味著它能夠像人類一樣與計(jì)算機(jī)和網(wǎng)絡(luò)交互——點(diǎn)擊按鈕、填寫(xiě)表單、瀏覽頁(yè)面以及運(yùn)行命令。這些工具彌合了推理和行動(dòng)之間的差距,讓你的代理能夠在現(xiàn)實(shí)世界中運(yùn)作。
Open Interpreter ——將自然語(yǔ)言翻譯成機(jī)器上的可執(zhí)行代碼。想要移動(dòng)文件或運(yùn)行腳本?只需描述即可。
Self-Operating Computer ——讓代理完全控制您的桌面環(huán)境,允許他們像人一樣與您的操作系統(tǒng)進(jìn)行交互。
Agent-S——一個(gè)靈活的框架,讓 AI 代理像真實(shí)用戶一樣使用應(yīng)用程序、工具和界面。
LaVague——使網(wǎng)絡(luò)代理能夠?yàn)g覽網(wǎng)站、填寫(xiě)表格并實(shí)時(shí)做出決策——非常適合自動(dòng)執(zhí)行瀏覽器任務(wù)。
Playwright——跨瀏覽器自動(dòng)化網(wǎng)頁(yè)操作。方便測(cè)試或模擬用戶流程。
Puppeteer——一款可靠的 Chrome 或 Firefox 控制工具。非常適合抓取和自動(dòng)化前端行為。
3. 聲音
語(yǔ)音是人類與 AI 代理交互最直觀的方式之一。這些工具可以處理語(yǔ)音識(shí)別、語(yǔ)音合成和實(shí)時(shí)交互,讓您的代理感覺(jué)更像人類。
Speech2Speech
Ultravox——頂級(jí)語(yǔ)音對(duì)語(yǔ)音模型,可流暢處理實(shí)時(shí)語(yǔ)音對(duì)話??焖夙憫?yīng)。
Moshi——語(yǔ)音轉(zhuǎn)語(yǔ)音任務(wù)的另一款強(qiáng)大選擇。在實(shí)時(shí)語(yǔ)音交互方面表現(xiàn)可靠,但 Ultravox 在性能上更勝一籌。
Pipecat——用于構(gòu)建語(yǔ)音代理的全??蚣?。支持語(yǔ)音轉(zhuǎn)文本、文本轉(zhuǎn)語(yǔ)音,甚至基于視頻的交互。
Speech2text
Whisper ——OpenAI 的語(yǔ)音轉(zhuǎn)文本模型——非常適合跨多種語(yǔ)言的轉(zhuǎn)錄和語(yǔ)音識(shí)別。
Stable-ts — 一個(gè)更方便開(kāi)發(fā)者使用的 Whisper 封裝器。添加了時(shí)間戳和實(shí)時(shí)支持,非常適合用于對(duì)話代理。
說(shuō)話人分類 3.1 — Pyannote 用于檢測(cè)說(shuō)話人何時(shí)說(shuō)話的模型。這對(duì)于多說(shuō)話人對(duì)話和會(huì)議式音頻至關(guān)重要。
文本轉(zhuǎn)語(yǔ)音
ChatTTS——迄今為止我發(fā)現(xiàn)的最好的模型。它速度快、穩(wěn)定,并且適用于大多數(shù)生產(chǎn)環(huán)境。
ElevenLabs(商業(yè)版)——當(dāng)質(zhì)量比開(kāi)源更重要時(shí),這是您的首選。它提供高度自然的聲音,并支持多種風(fēng)格。
Cartesia (商業(yè))——如果您正在尋找超越開(kāi)放模型所能提供的富有表現(xiàn)力、高保真的語(yǔ)音合成,這是另一個(gè)強(qiáng)大的商業(yè)選擇。
雜項(xiàng)工具
它們并不完全適合某一類別,但在構(gòu)建或改進(jìn)語(yǔ)音代理時(shí)非常有用。
Vocode — 用于構(gòu)建語(yǔ)音驅(qū)動(dòng)的 LLM 代理的工具包。它可以輕松地將語(yǔ)音輸入/輸出與語(yǔ)言模型連接起來(lái)。
語(yǔ)音實(shí)驗(yàn)室——用于測(cè)試和評(píng)估語(yǔ)音代理的框架??捎糜谳斎胝_的提示、語(yǔ)音角色或模型設(shè)置。
4. 文檔理解
大多數(shù)有用的業(yè)務(wù)數(shù)據(jù)仍然以非結(jié)構(gòu)化格式存在——PDF、掃描件、基于圖像的報(bào)告。這些工具可以幫助您的客服人員讀取、提取并理解這些雜亂的數(shù)據(jù),而無(wú)需復(fù)雜的 OCR 流程。
Qwen2-VL——阿里巴巴強(qiáng)大的視覺(jué)語(yǔ)言模型。在混合圖像和文本的文檔任務(wù)上,其性能優(yōu)于 GPT-4 和 Claude 3.5 Sonnet,非常適合處理復(fù)雜的現(xiàn)實(shí)世界格式。
DocOwl2 — 一個(gè)輕量級(jí)的多模態(tài)模型,無(wú)需OCR 即可理解文檔。它快速、高效,并且能夠從雜亂的輸入中提取結(jié)構(gòu)和含義,準(zhǔn)確率極高。
5.記憶
如果沒(méi)有記憶,客服人員就會(huì)陷入循環(huán)——把每一次互動(dòng)都當(dāng)成第一次。這些工具讓他們能夠回憶過(guò)去的對(duì)話,追蹤他們的偏好,并建立連續(xù)性。這能讓一個(gè)一次性的助手隨著時(shí)間的推移變得更加有用。
Mem0 — 一個(gè)自我改進(jìn)的記憶層,可讓您的代理適應(yīng)之前的交互。非常適合構(gòu)建更加個(gè)性化和持久的 AI 體驗(yàn)。
Letta(原名 MemGPT) ——為 LLM 代理添加長(zhǎng)期記憶和工具使用功能??梢詫⑵湟暈樾枰洃?、推理和進(jìn)化的代理的支架。
LangChain——包括即插即用的內(nèi)存組件,用于跟蹤對(duì)話歷史和用戶上下文——在構(gòu)建需要在多個(gè)回合中保持接地的代理時(shí)非常方便。
6.測(cè)試與評(píng)估
當(dāng)您的代理不再只是聊天——瀏覽網(wǎng)頁(yè)、做出決策、大聲說(shuō)話——您需要了解他們?nèi)绾翁幚硖厥馇闆r。這些工具可以幫助您測(cè)試代理在不同情況下的行為,及早發(fā)現(xiàn)錯(cuò)誤,并追蹤故障點(diǎn)。
eeVoice Lab——一個(gè)用于測(cè)試語(yǔ)音代理的綜合框架,確保您的代理的語(yǔ)音識(shí)別和響應(yīng)準(zhǔn)確而自然。
AgentOps——一套用于跟蹤和基準(zhǔn)測(cè)試 AI 代理的工具,幫助您發(fā)現(xiàn)任何問(wèn)題并在問(wèn)題影響用戶之前優(yōu)化性能。
AgentBench——用于評(píng)估 LLM 代理在各種任務(wù)和環(huán)境中的表現(xiàn)的基準(zhǔn)工具,從網(wǎng)頁(yè)瀏覽到游戲,確保多功能性和有效性。
7. 監(jiān)控和可觀察性
為了確保您的 AI 代理能夠大規(guī)模、順暢高效地運(yùn)行,您需要深入了解其性能和資源使用情況。這些工具能夠提供必要的洞察,讓您能夠監(jiān)控代理行為、優(yōu)化資源,并在問(wèn)題影響用戶之前將其捕獲。
openllmetry——使用 OpenTelemetry 為 LLM 應(yīng)用程序提供端到端可觀察性,讓您清楚地了解代理性能,并幫助您快速排除故障和優(yōu)化。
AgentOps——一款全面的監(jiān)控工具,可跟蹤代理的績(jī)效、成本和基準(zhǔn),幫助您確保代理高效且在預(yù)算之內(nèi)。
8.模擬
在部署之前模擬真實(shí)環(huán)境將帶來(lái)翻天覆地的變化。這些工具可讓您創(chuàng)建受控的虛擬空間,讓您的代理能夠在其中進(jìn)行交互、學(xué)習(xí)和決策,而無(wú)需擔(dān)心在真實(shí)環(huán)境中出現(xiàn)意外后果。
AgentVerse——支持在不同的應(yīng)用程序和模擬中部署多個(gè)基于 LLM 的代理,確保在各種環(huán)境中有效運(yùn)行。
Tau-Bench——一種基準(zhǔn)測(cè)試工具,用于評(píng)估零售或航空等特定行業(yè)的代理與用戶之間的交互,確保順利處理特定領(lǐng)域的任務(wù)。
ChatArena——一個(gè)代理之間可以交互的多代理語(yǔ)言游戲環(huán)境,非常適合在安全、可控的空間中研究代理行為和改進(jìn)溝通模式。
AI Town——一個(gè)虛擬環(huán)境,其中 AI 角色可以進(jìn)行社交互動(dòng)、測(cè)試決策并模擬真實(shí)世界場(chǎng)景,從而幫助微調(diào)代理行為。
生成代理——斯坦福大學(xué)的一個(gè)項(xiàng)目,專注于創(chuàng)建模擬復(fù)雜行為的類人代理,非常適合在社交環(huán)境中測(cè)試記憶和決策。
9.垂直代理
垂直代理是專門為解決特定問(wèn)題或優(yōu)化特定行業(yè)任務(wù)而設(shè)計(jì)的工具。雖然這類工具的生態(tài)系統(tǒng)正在不斷發(fā)展,但以下是我個(gè)人使用過(guò)的一些特別有用的工具:
編碼:
OpenHands——一個(gè)由人工智能驅(qū)動(dòng)的軟件開(kāi)發(fā)代理平臺(tái),旨在自動(dòng)化編碼任務(wù)并加快開(kāi)發(fā)過(guò)程。
aider——一種直接與您的終端集成的結(jié)對(duì)編程工具,提供 AI 副駕駛來(lái)協(xié)助您的編碼環(huán)境。
GPT 工程師——使用自然語(yǔ)言構(gòu)建應(yīng)用程序;只需描述您想要的內(nèi)容,AI 就會(huì)闡明并生成必要的代碼。
屏幕截圖到代碼 ——使用 HTML、Tailwind、React 或 Vue 將屏幕截圖轉(zhuǎn)換為功能齊全的網(wǎng)站,非常適合快速將設(shè)計(jì)想法轉(zhuǎn)化為實(shí)時(shí)代碼。
研究:
GPT 研究員——自主代理,進(jìn)行全面研究、分析數(shù)據(jù)并撰寫(xiě)報(bào)告,簡(jiǎn)化研究流程。
SQL:
Vanna — 使用自然語(yǔ)言查詢與您的 SQL 數(shù)據(jù)庫(kù)交互;不再需要復(fù)雜的 SQL 命令,只需提出問(wèn)題,Vanna 就會(huì)檢索數(shù)據(jù)。
小結(jié)
回顧我早期嘗試開(kāi)發(fā)研究助手的過(guò)程,我發(fā)現(xiàn)我把事情搞得太復(fù)雜了。最終,這個(gè)項(xiàng)目變得一團(tuán)糟——過(guò)時(shí)的代碼、不成熟的工具,甚至連PDF這種簡(jiǎn)單的文件都處理不順暢。但矛盾的是,這正是我學(xué)到最多的地方。
關(guān)鍵不在于找到完美的工具,而在于堅(jiān)持有效的方法,并保持簡(jiǎn)潔。那次失敗讓我明白,最可靠的代理是建立在務(wù)實(shí)、直接的技術(shù)棧上的,而不是追逐各種炫酷的新工具。
成功的代理開(kāi)發(fā)并不需要重新發(fā)明輪子。
關(guān)鍵在于選擇合適的工具,精心集成,并不斷完善原型。無(wú)論您是要實(shí)現(xiàn)工作流程自動(dòng)化、構(gòu)建語(yǔ)音代理,還是解析文檔,一個(gè)精心挑選的技術(shù)棧都能讓整個(gè)流程更加順暢高效。