第 95 页 / 共 100 页 / 飞书修订版 6

5.Agents and tools

此文档由 学习AI的1000天 翻译制作(抖音,B站,YouTube)

邮箱: szqshan@gmail.com | 微信: szqshan
网址: www.xueai.org

==================================================

Agent 代表了从我们一直使用的结构化工作流的转变。虽然工作流在你明确知道完成任务所需的确切步骤时非常完美,但当你不确定这些步骤应该是什么时,Agent 就会发光发热。你不需要定义一个严格的序列,而是给 Claude 一个目标和一套工具,然后让它自己找出如何组合这些工具来实现目标。

image1.jpeg

这种灵活性使得智能体对于构建需要处理多样化、不可预测任务的应用程序非常有吸引力。你可以创建一次智能体,确保其运行良好,然后部署它来解决各种各样的问题。然而,这种灵活性在可靠性和成本方面存在权衡,我们稍后会进行探讨。

工具如何成就智能体

agents 的真正威力在于它们能够以意想不到的方式组合简单工具。考虑一套基本的日期时间工具:

image2.jpeg
  • get_current_datetime - 获取当前日期和时间
  • add_duration_to_datetime - 为给定日期添加时间
  • set_reminder - 为特定时间创建提醒

这些工具单独看起来很简单,但Claude可以将它们串联起来处理令人惊讶的复杂请求:

image3.jpeg

对于"现在几点了?"这个问题,Claude 只需调用 get_current_datetime。但对于"11天后是星期几?",它会链式调用 get_current_datetime,然后调用 add_duration_to_datetime。而对于设置下周三的健身提醒,它可能会按顺序使用全部三个工具。

Claude 甚至能够识别何时需要更多信息。如果你问"我的90天保修期什么时候到期?",它知道在计算到期日期之前先询问你购买物品的时间。

工具应该是抽象的

构建有效agent的关键洞察是提供相对抽象的工具,而不是过度专业化的工具。Claude Code完美地展示了这一原则。

image4.jpeg

Claude Code 可以访问通用、灵活的工具,例如:

  • bash - 运行任意命令
  • read - 读取任意文件
  • write - 创建任意文件
  • edit - 修改文件
  • glob - 查找文件
  • grep - 搜索文件内容

值得注意的是,它没有像"重构代码"或"安装依赖项"这样的专门工具。相反,Claude 会找出如何使用基础工具来完成这些复杂任务。这种抽象化使其能够处理开发者从未明确规划过的无数编程场景。

最佳实践:可组合工具

在设计智能体时,应提供Claude可以创造性组合的工具。例如,一个社交媒体视频智能体可能包括:

image5.jpeg
  • bash - 访问 FFMPEG 进行视频处理
  • generate_image - 根据提示词生成图像
  • text_to_speech - 将文本转换为音频
  • post_media - 上传内容到社交平台

这个工具集既支持简单的工作流程(创建并发布视频),也支持更具交互性的体验,其中agent可能会先生成一个示例图像,获得用户批准后,再继续进行视频创建。

image6.jpeg

Agent 可以根据用户反馈和偏好调整其方法,这是刚性工作流程难以实现的。这种灵活性使得 Agent 在构建动态、用户响应式应用程序方面表现出强大的能力。

==================================================



此文档由 学习AI的1000天 翻译制作(抖音,B站,YouTube)
邮箱: szqshan@gmail.com | 微信: szqshan
网址: www.xueai.org