-
Notifications
You must be signed in to change notification settings - Fork 55
Description
Users are currently confused about how tool calling, requirement checking, and sampling are handled. This confusion is justified: we do not document the lifecycle and in many cases there are ambiguous semantics (at best).
We need to more carefully define the lifecycle of a sampling procedure. While doing so, we should account for the relationship between requirement checking and tool calling. When a tool is called, it should be possible to specify expected post-conditions for either the environment or the output of the tool.
Once this work is complete, we should rewrite the tool calling portion of the tutorial to contain a mini-tutorial on mellaic tool use (decomposing, checking preconditions, checking postconditions, etc.
And we should also do some "batteries-included" tool use stuff:
- MCP
- web_agent
- computer_use
- code_interpreter wasm (Harmonize with feat: Add Python code verifiers for Mellea-generated code #171)
- code_interpreter repair strategies -- e.g., fix missing imports
- generic tool repair strategies for arg precond and result postcond requirement types.