You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a three-in-one for the "types" of external requirements as I see them:
External Emacs packages (e.g. mu4e).
External system binaries (e.g. ripgrep).
External authentication (e.g. Brave Search API).
I'd like to agree on a sensible framework for handling these. The main issue is that having standard checks within the tool bodies may not be a great UX, because those errors will only be caught at tool-call-time, and thus exposed to the model instead of the user.
However, since we simply expose tools as symbols with the variable value containing the spec, we can't check these requirements when adding a tool either.
Furthermore, there is a difference between synchronous and asynchronous tools here: errors within a synchronous tool will be forwarded to the model, whereas errors within an asynchronous tool will be bubbled up to the user, and the tool call will hang forever.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
This is a three-in-one for the "types" of external requirements as I see them:
I'd like to agree on a sensible framework for handling these. The main issue is that having standard checks within the tool bodies may not be a great UX, because those errors will only be caught at tool-call-time, and thus exposed to the model instead of the user.
However, since we simply expose tools as symbols with the variable value containing the spec, we can't check these requirements when adding a tool either.
Furthermore, there is a difference between synchronous and asynchronous tools here: errors within a synchronous tool will be forwarded to the model, whereas errors within an asynchronous tool will be bubbled up to the user, and the tool call will hang forever.
How should we handle this?
Beta Was this translation helpful? Give feedback.
All reactions