我记得一个周末,我坐下来,确信自己终于可以构建一个像样的研究助理代理原型了。没什么特别的——只是能读取 PDF 文件、提取关键信息,或许还能回答一些后续问题而已。应该很简单,对吧?
相反,我花了将近两天的时间在文档不全的仓库、死掉的 GitHub 问题和含糊不清的博客文章之间来回切换。其中一个工具看起来有望成功,直到我意识到它已经八个月没有更新了。另一个工具需要启动四个不同的服务才能解析一个文档。到最后,我的“代理”几乎看不懂文件名,更不用说内容了。
但支撑我继续下去的不是挫败感,而是好奇。我想知道:实际建造者使用的工具有哪些?不是那些出现在光鲜亮丽的 VC 地图上的,而是那些你悄悄安装、放在你的堆栈里、并且真正使用的东西。那些不需要用三页 Notion 来解释的东西。
这次搜索让我找到了一套令人惊讶的开源库——这些工具轻量级、可靠,并且是专为开发人员设计的。
因此,如果您正在努力让代理真正发挥作用,那么这篇文章就适合您。
那么,您准备好构建 AI 代理了吗?
你可能会问:
- 人们用什么来构建语音代理?
- 最好的开源文档解析工具是什么?
- 我如何给我的代理提供内存而不用将矢量数据库粘贴到所有内容上?
本指南并非试图涵盖所有工具,这是有意为之。它精选了我实际使用过、保存过以及在构建真实代理原型时会用到的工具。这些工具并非那些在演示中看起来很酷或出现在所有宣传帖中的工具,而是那些帮助我从“想法”到“实际可用”且不会迷失方向的工具。
以下是堆栈,分为以下类别:
1. 构建和编排代理的框架
如果您是从头开始构建,请从这里开始。这些工具可以帮助您构建代理的逻辑——做什么、何时做以及如何处理工具。您可以将其视为将原始语言模型转化为更自主的模型的核心大脑。
2. 计算机和浏览器的使用
一旦你的代理能够规划,它就需要采取行动。此类别包含的工具可让你的代理点击按钮、输入字段、抓取数据,并像人类一样控制应用或网站。
3. 声音
如果您的座席需要说话或聆听,这些工具可以处理音频方面的问题——将语音转换为文本,然后再转换为文本。非常适合免提用例或语音优先的座席。有些工具甚至足以胜任实时对话。
4. 文档理解
现实世界中,大量数据以 PDF、扫描件或其他杂乱的格式存在。这些工具可以帮助您的客服人员真正阅读并理解这些数据内容——无论是发票、合同还是基于图像的文件。
5.记忆
为了超越一次性任务,你的代理需要记忆。这些库可以帮助它记住刚刚发生的事情、你之前告诉它的内容,甚至随着时间的推移构建一个长期档案。
6.测试与评估
事情难免会出错。这些工具可以帮助您在错误影响生产之前发现它们——通过运行场景、模拟交互以及检查代理的行为是否合理。
7. 监控和可观察性
代理上线后,您需要了解其运行情况和性能。这些工具可帮助您跟踪使用情况、调试问题并了解成本或延迟影响。
8.模拟
在将代理投入实际使用之前,请先在安全的沙盒环境中进行测试。模拟环境可让您在受控的环境中进行实验、优化决策逻辑并发现极端情况。
9.垂直代理
并非所有东西都需要从零开始构建。这些是专为特定任务(例如编码、研究或客户支持)构建的现成代理。您可以按原样运行它们,也可以根据您的工作流程进行自定义。
1. 构建和编排代理的框架
要构建真正能完成任务的代理,您需要一个坚实的基础——能够处理工作流、内存和工具集成,而不会变成一堆乱七八糟的脚本。这些框架为您的代理提供了理解目标、制定计划并执行所需的结构。
CrewAI——协调多个代理协同工作。非常适合需要协调和基于角色的行为的任务。
Agno——专注于记忆、工具使用和长期互动。非常适合需要记忆和适应能力的助手。
Camel——专为多代理协作、模拟和任务专业化而设计。
AutoGPT — 通过规划和执行循环自动化复杂的工作流程。最适合需要独立运行的代理。
AutoGen——让代理相互沟通以解决复杂问题。
SuperAGI——简化设置,快速构建和运送自主代理。
Superagent——一个灵活的开源工具包,用于创建自定义 AI 助手。
LangChain和LlamaIndex——用于管理内存、检索和工具链的首选工具。
2. Computer and Browser Use
一旦你的代理具备了思考能力,下一步就是帮助它行动。这意味着它能够像人类一样与计算机和网络交互——点击按钮、填写表单、浏览页面以及运行命令。这些工具弥合了推理和行动之间的差距,让你的代理能够在现实世界中运作。
Open Interpreter ——将自然语言翻译成机器上的可执行代码。想要移动文件或运行脚本?只需描述即可。
Self-Operating Computer ——让代理完全控制您的桌面环境,允许他们像人一样与您的操作系统进行交互。
Agent-S——一个灵活的框架,让 AI 代理像真实用户一样使用应用程序、工具和界面。
LaVague——使网络代理能够浏览网站、填写表格并实时做出决策——非常适合自动执行浏览器任务。
Playwright——跨浏览器自动化网页操作。方便测试或模拟用户流程。
Puppeteer——一款可靠的 Chrome 或 Firefox 控制工具。非常适合抓取和自动化前端行为。
3. 声音
语音是人类与 AI 代理交互最直观的方式之一。这些工具可以处理语音识别、语音合成和实时交互,让您的代理感觉更像人类。
Speech2Speech
Ultravox——顶级语音对语音模型,可流畅处理实时语音对话。快速响应。
Moshi——语音转语音任务的另一款强大选择。在实时语音交互方面表现可靠,但 Ultravox 在性能上更胜一筹。
Pipecat——用于构建语音代理的全栈框架。支持语音转文本、文本转语音,甚至基于视频的交互。
Speech2text
Whisper ——OpenAI 的语音转文本模型——非常适合跨多种语言的转录和语音识别。
Stable-ts — 一个更方便开发者使用的 Whisper 封装器。添加了时间戳和实时支持,非常适合用于对话代理。
说话人分类 3.1 — Pyannote 用于检测说话人何时说话的模型。这对于多说话人对话和会议式音频至关重要。
文本转语音
ChatTTS——迄今为止我发现的最好的模型。它速度快、稳定,并且适用于大多数生产环境。
ElevenLabs(商业版)——当质量比开源更重要时,这是您的首选。它提供高度自然的声音,并支持多种风格。
Cartesia (商业)——如果您正在寻找超越开放模型所能提供的富有表现力、高保真的语音合成,这是另一个强大的商业选择。
杂项工具
它们并不完全适合某一类别,但在构建或改进语音代理时非常有用。
Vocode — 用于构建语音驱动的 LLM 代理的工具包。它可以轻松地将语音输入/输出与语言模型连接起来。
语音实验室——用于测试和评估语音代理的框架。可用于输入正确的提示、语音角色或模型设置。
4. 文档理解
大多数有用的业务数据仍然以非结构化格式存在——PDF、扫描件、基于图像的报告。这些工具可以帮助您的客服人员读取、提取并理解这些杂乱的数据,而无需复杂的 OCR 流程。
Qwen2-VL——阿里巴巴强大的视觉语言模型。在混合图像和文本的文档任务上,其性能优于 GPT-4 和 Claude 3.5 Sonnet,非常适合处理复杂的现实世界格式。
DocOwl2 — 一个轻量级的多模态模型,无需OCR 即可理解文档。它快速、高效,并且能够从杂乱的输入中提取结构和含义,准确率极高。
5.记忆
如果没有记忆,客服人员就会陷入循环——把每一次互动都当成第一次。这些工具让他们能够回忆过去的对话,追踪他们的偏好,并建立连续性。这能让一个一次性的助手随着时间的推移变得更加有用。
Mem0 — 一个自我改进的记忆层,可让您的代理适应之前的交互。非常适合构建更加个性化和持久的 AI 体验。
Letta(原名 MemGPT) ——为 LLM 代理添加长期记忆和工具使用功能。可以将其视为需要记忆、推理和进化的代理的支架。
LangChain——包括即插即用的内存组件,用于跟踪对话历史和用户上下文——在构建需要在多个回合中保持接地的代理时非常方便。
6.测试与评估
当您的代理不再只是聊天——浏览网页、做出决策、大声说话——您需要了解他们如何处理特殊情况。这些工具可以帮助您测试代理在不同情况下的行为,及早发现错误,并追踪故障点。
eeVoice Lab——一个用于测试语音代理的综合框架,确保您的代理的语音识别和响应准确而自然。
AgentOps——一套用于跟踪和基准测试 AI 代理的工具,帮助您发现任何问题并在问题影响用户之前优化性能。
AgentBench——用于评估 LLM 代理在各种任务和环境中的表现的基准工具,从网页浏览到游戏,确保多功能性和有效性。
7. 监控和可观察性
为了确保您的 AI 代理能够大规模、顺畅高效地运行,您需要深入了解其性能和资源使用情况。这些工具能够提供必要的洞察,让您能够监控代理行为、优化资源,并在问题影响用户之前将其捕获。
openllmetry——使用 OpenTelemetry 为 LLM 应用程序提供端到端可观察性,让您清楚地了解代理性能,并帮助您快速排除故障和优化。
AgentOps——一款全面的监控工具,可跟踪代理的绩效、成本和基准,帮助您确保代理高效且在预算之内。
8.模拟
在部署之前模拟真实环境将带来翻天覆地的变化。这些工具可让您创建受控的虚拟空间,让您的代理能够在其中进行交互、学习和决策,而无需担心在真实环境中出现意外后果。
AgentVerse——支持在不同的应用程序和模拟中部署多个基于 LLM 的代理,确保在各种环境中有效运行。
Tau-Bench——一种基准测试工具,用于评估零售或航空等特定行业的代理与用户之间的交互,确保顺利处理特定领域的任务。
ChatArena——一个代理之间可以交互的多代理语言游戏环境,非常适合在安全、可控的空间中研究代理行为和改进沟通模式。
AI Town——一个虚拟环境,其中 AI 角色可以进行社交互动、测试决策并模拟真实世界场景,从而帮助微调代理行为。
生成代理——斯坦福大学的一个项目,专注于创建模拟复杂行为的类人代理,非常适合在社交环境中测试记忆和决策。
9.垂直代理
垂直代理是专门为解决特定问题或优化特定行业任务而设计的工具。虽然这类工具的生态系统正在不断发展,但以下是我个人使用过的一些特别有用的工具:
编码:
OpenHands——一个由人工智能驱动的软件开发代理平台,旨在自动化编码任务并加快开发过程。
aider——一种直接与您的终端集成的结对编程工具,提供 AI 副驾驶来协助您的编码环境。
GPT 工程师——使用自然语言构建应用程序;只需描述您想要的内容,AI 就会阐明并生成必要的代码。
屏幕截图到代码 ——使用 HTML、Tailwind、React 或 Vue 将屏幕截图转换为功能齐全的网站,非常适合快速将设计想法转化为实时代码。
研究:
GPT 研究员——自主代理,进行全面研究、分析数据并撰写报告,简化研究流程。
SQL:
Vanna — 使用自然语言查询与您的 SQL 数据库交互;不再需要复杂的 SQL 命令,只需提出问题,Vanna 就会检索数据。
小结
回顾我早期尝试开发研究助手的过程,我发现我把事情搞得太复杂了。最终,这个项目变得一团糟——过时的代码、不成熟的工具,甚至连PDF这种简单的文件都处理不顺畅。但矛盾的是,这正是我学到最多的地方。
关键不在于找到完美的工具,而在于坚持有效的方法,并保持简洁。那次失败让我明白,最可靠的代理是建立在务实、直接的技术栈上的,而不是追逐各种炫酷的新工具。
成功的代理开发并不需要重新发明轮子。
关键在于选择合适的工具,精心集成,并不断完善原型。无论您是要实现工作流程自动化、构建语音代理,还是解析文档,一个精心挑选的技术栈都能让整个流程更加顺畅高效。