載入中

我們將建立一個實用的專案,教導 Claude 如何為未來的日期設定提醒。這乍聽之下可能很簡單,但它揭示了幾個有趣的挑戰,我們將使用自訂工具來解決這些挑戰。

目標是進行這樣的對話:您告訴 Claude「幫我設定一個看醫生的提醒,時間是下週四」,而 Claude 回應「好的,我會提醒您」。為了實現這一點,我們需要理解為什麼這實際上比看起來更困難。

為什麼這具有挑戰性

Claude 對日期和時間有一些內建的知識,但它也有一些重大的限制:

  • Claude 可能知道目前的日期,但不知道確切的時間
  • Claude 並不總是能很好地處理基於時間的加法運算,尤其是在展望未來許多天的情況下
  • Claude 不知道如何設定提醒!

這些限制意味著,即使是像「設定一個 24 小時後的提醒」這樣簡單的請求也會變得有問題。如果不知道目前的時間,Claude 就不知道「24 小時後」實際上意味著什麼。而且即使它能夠計算出正確的日期,它也沒有任何機制可以實際建立提醒。

我們需要的工具

為了解決這些問題,我們將建立三個協同運作的自訂工具:

取得目前的日期時間

這是我們的起始工具——它讓 Claude 能夠存取目前的日期和確切的時間。這解決了 Claude 不知道「現在」實際上是什麼時候的問題。

將持續時間加到日期時間

這個工具處理將時間段加到日期上的數學運算。我們不依賴 Claude 正確計算「從 1973 年 1 月 13 日起算 379 天後是什麼日期」,而是給它一個可靠的工具,能夠準確處理這些計算。

設定提醒

最後,我們需要一種方法讓 Claude 能夠實際建立提醒。這個工具將提供 Claude 所缺乏的機制,用於設定未來的通知。

我們將逐一實作這些工具,從日期時間工具開始,以了解工具呼叫的運作方式,然後逐步建構更複雜的功能。到最後,Claude 將能夠處理關於設定提醒的自然語言請求,並將其轉換為實際排定的通知。