5.Agents and tools
此文档由 学习AI的1000天 翻译制作(抖音,B站,YouTube)
邮箱: szqshan@gmail.com | 微信: szqshan
网址: www.xueai.org
==================================================
Agent 代表了从我们一直使用的结构化工作流的转变。虽然工作流在你明确知道完成任务所需的确切步骤时非常完美,但当你不确定这些步骤应该是什么时,Agent 就会发光发热。你不需要定义一个严格的序列,而是给 Claude 一个目标和一套工具,然后让它自己找出如何组合这些工具来实现目标。

这种灵活性使得智能体对于构建需要处理多样化、不可预测任务的应用程序非常有吸引力。你可以创建一次智能体,确保其运行良好,然后部署它来解决各种各样的问题。然而,这种灵活性在可靠性和成本方面存在权衡,我们稍后会进行探讨。
工具如何成就智能体
agents 的真正威力在于它们能够以意想不到的方式组合简单工具。考虑一套基本的日期时间工具:

- get_current_datetime - 获取当前日期和时间
- add_duration_to_datetime - 为给定日期添加时间
- set_reminder - 为特定时间创建提醒
这些工具单独看起来很简单,但Claude可以将它们串联起来处理令人惊讶的复杂请求:

对于"现在几点了?"这个问题,Claude 只需调用 get_current_datetime。但对于"11天后是星期几?",它会链式调用 get_current_datetime,然后调用 add_duration_to_datetime。而对于设置下周三的健身提醒,它可能会按顺序使用全部三个工具。
Claude 甚至能够识别何时需要更多信息。如果你问"我的90天保修期什么时候到期?",它知道在计算到期日期之前先询问你购买物品的时间。
工具应该是抽象的
构建有效agent的关键洞察是提供相对抽象的工具,而不是过度专业化的工具。Claude Code完美地展示了这一原则。

Claude Code 可以访问通用、灵活的工具,例如:
- bash - 运行任意命令
- read - 读取任意文件
- write - 创建任意文件
- edit - 修改文件
- glob - 查找文件
- grep - 搜索文件内容
值得注意的是,它没有像"重构代码"或"安装依赖项"这样的专门工具。相反,Claude 会找出如何使用基础工具来完成这些复杂任务。这种抽象化使其能够处理开发者从未明确规划过的无数编程场景。
最佳实践:可组合工具
在设计智能体时,应提供Claude可以创造性组合的工具。例如,一个社交媒体视频智能体可能包括:

- bash - 访问 FFMPEG 进行视频处理
- generate_image - 根据提示词生成图像
- text_to_speech - 将文本转换为音频
- post_media - 上传内容到社交平台
这个工具集既支持简单的工作流程(创建并发布视频),也支持更具交互性的体验,其中agent可能会先生成一个示例图像,获得用户批准后,再继续进行视频创建。

Agent 可以根据用户反馈和偏好调整其方法,这是刚性工作流程难以实现的。这种灵活性使得 Agent 在构建动态、用户响应式应用程序方面表现出强大的能力。
==================================================
此文档由 学习AI的1000天 翻译制作(抖音,B站,YouTube)
邮箱: szqshan@gmail.com | 微信: szqshan
网址: www.xueai.org