Claude With Amazon Bedrock
← 所有课程
课程 27Claude With Amazon Bedrock

Tool functions

摘要音频

本节课没有语音摘要。

学习笔记

🤖 学习笔记:工具(Tools)的应用

一、 核心目标与挑战

  • 目标: 训练 Claude 能够设置未来提醒(例如:“提醒我下周四的医生预约”)。
  • 实现方法: 通过实现一系列专门的工具(Tools)。
  • 需要解决的挑战(Tools 的必要性):
  • 时间精度问题: Claude 知道当前日期,但不能总是准确知道当前时间(只知道日期,不知道精确到小时/分钟的时间)。
  • 时间计算问题: Claude 在处理时间加法时(如“从 1974 年 1 月 13 日开始计算 379 天”)可能出错。
  • 功能缺失问题: Claude 本身没有内置设置未来提醒的机制或概念。

二、 解决方案:工具设计

  • 工具数量: 需要创建至少三个独立的工具来解决上述问题。
  • 工具功能列表:
  • getCurrentDate / getCurrentDateTime:获取当前的日期和时间。
  • addDurationToDate:将一个时间段(Duration)加到特定的日期时间上。
  • 提醒设置工具:最终负责执行提醒设置的工具。

三、 工具函数实现步骤

  • 实现流程:
  • 编写工具函数(Tool Function):这是一个纯 Python 函数,将在服务器端被自动调用。
  • (后续步骤)编写 JSON Schema 规范来描述该工具函数。
  • 当前重点: 实现 getCurrentDateTime 函数。
  • 输入参数: date format (日期格式),默认值通常为 %Y-%m-%d %H:%M:%S。
  • 输出: 返回当前格式化后的日期时间字符串。

四、 工具函数编写的最佳实践

  • 命名规范: 必须使用命名清晰、描述性强的参数(Well-named and descriptive arguments)。
  • 输入验证: 尽可能验证传入函数的输入参数,如果验证失败,应立即抛出错误(Raise an error)。
  • 示例: 如果位置参数为空字符串,应报错,因为无法获取未知位置的天气信息。

Takeaways

  • Claude 缺乏精确的时间和日期处理能力,以及设置未来提醒的内置机制。
  • 解决方案是通过创建一系列专门的工具(Tools)来弥补功能和时间计算上的缺失。
  • 关键工具函数包括获取当前日期时间(getCurrentDateTime)和将时间段加到日期上(addDurationToDate)。
  • 工具函数设计必须遵循最佳实践:参数命名清晰,并对输入进行严格的验证(验证失败应抛出错误)。
抽认卡 8 张卡片
问题
点击显示 · ←/→
答案
点击翻回
导出到 Anki (.tsv) ↓
知识检测 0 题

No quiz for this lesson yet.