
探索未来:我在构建自主 AI 代理及其对技术影响的旅程
Prompt: 设想一个视觉上引人注目的概念,它捕捉了个人进入 AI 代理框架的旅程。想象一个人类剪影沿着一条由相互连接的数字彩色点组成的、发光的路径行走,通往一个未来主义的城市。在路径的每一侧,代表机器学习算法和代理架构的抽象形状都以柔和的霓虹蓝光脉动。在背景中,微弱的代码线条形成一个微妙的透明覆盖层,暗示着持续的发现和迭代。整体情绪应该感觉具有前瞻性、充满活力和灵感。
我一直在深入研究 AI 代理有一段时间了,看到我们取得了多么大的进步真是令人惊叹。作为一名开发人员,我早期使用大型语言模型 (LLM) 的经验主要涉及回答问题、跟进和多次“调整”以获得我想要的结果的聊天机器人。但今天的 AI 代理是一个全新的领域,它们是自主工具,可以代表您计划、决策和执行任务,例如,OpenAI 刚刚发布了他们的 flavour,YCombinator 的新一批产品目前只专注于这个领域。无论是自动化工作流程还是与各种 API 集成,我都对这些系统所蕴含的潜力感到兴奋。
什么是 AI 代理?
对我来说,AI 代理是一个不仅处理自然语言,而且采取独立行动的软件实体,这就是它有可能成为一个数万亿美元的产业的原因,类似于互联网在其首次繁荣时的情况。我可以描述一个高层次的目标,代理将把它分解成子任务,与外部工具(如 API、数据库或 Web 服务)交互,甚至从其结果中学习。这种模块化方法——通常涉及用于输入处理、规划、行动执行和稳健的错误处理的组件——意味着更少的手动步骤和更多的时间来解决实际问题。
一些技术见解
在实践中,构建 AI 代理需要:
- 模块化架构:将系统划分为诸如提示处理器、决策者和行动执行者等部分。
- 错误和安全管理:确保流畅的数据流和安全的 API 交互。
- 类型安全:利用 PydanticAI 等工具验证配置和数据结构可以增强稳健性。
我已经尝试了所有流行的框架来构建 AI 代理,所以您不必这样做,它们在某些方面很棒,但显然这是一个不断变化的目标,所以我三思而后行才评论每个框架的缺点,因为考虑到行业的变化速度,事情可能会迅速变化。
但简而言之,
这些框架中的每一个都提供了独特的优势和挑战。选择正确的框架取决于特定的项目需求、现有的基础设施以及灵活性和复杂性之间的期望平衡。
Ps: 我在这里包含了我正在构建的一个框架,我认为这是公平的,因为我正在对其他框架进行评分。
我的经验和挑战
在我最近的项目中,我结合了多个框架来构建代理,这些代理可以处理从财务数据检索到编排多代理协作的所有事情。例如,我构建的一个系统允许一个代理执行 Web 搜索,而另一个代理处理来自各种 API 的数据。开源工具加速了开发,并使我能够自定义行为,以满足我的需求。
也就是说,也存在挑战。管理模块之间的数据流、确保稳健的错误处理以及在与多个 API 交互时维护安全性都是持续关注的问题。这些挑战直接影响着我如何设计和迭代 aho。
虽然这些框架很棒,但我需要一些适合我个人工作流程的东西,以实现繁琐工作的自动化。这就是我从头开始构建自己的 AI 代理的原因——结合这些框架的最佳部分,并根据我的特定需求进行定制。我称之为“aho”。
Aho 旨在处理诸如以下任务:
- 电子邮件解析:自动从电子邮件中提取可操作的项目。
- 日历管理:通过与日历 API 集成来安排会议。
- 数据检索:自动化 Web 搜索并为例行报告获取数据。
- 任务优先级:管理个人提醒并根据紧急程度对任务进行优先级排序。
在毛利语 (Te Reo Māori) 中,“aho”的意思是弦或绳——代表连接和编织我们 AI 系统不同组件的线。就像一位大师级的编织者创造错综复杂的图案一样,AHO 框架可以帮助您以优雅和精确的方式编排 AI 代理。
使用 AI 代理改变了我对当下时刻的看法。当然,有一个工程问题需要解决,但像 LangChain、LangGraph、CrewAI、Microsoft Semantic Kernel、Microsoft AutoGen、Smolagents、AutoGPT 和新兴的 Pydantic AI Agent Framework 这样的开源框架提供了丰富的功能、经验教训和架构决策。
我根据自己的经验,结合了这些框架的精华,以简化我的繁琐工作以及我自己的个人工具集,尽管它仍在开发中。
如果您是一位希望尝试或部署 AI 代理的开发人员,我鼓励您探索这些框架,并考虑构建自己的定制解决方案,在逆向过程中学习和构建东西很有趣。