ML//agent//agent harness//tool interface

A tool interface is the part of an agent tool that the model actually sees (normally a name, a description, an input schema, examples, and previous outputs), and it decides whether the model selects and uses the tool correctly. When a program calls an API, its implementation and interface can be inspected separately; agent tools split the two even more sharply, since the implementation stays hidden from the model.


A tool interface is the part of an agent tool that the model actually sees (normally a name, a description, an input schema, examples, and previous outputs), and it decides whether the model selects and uses the tool correctly. When a program calls an API, its implementation and interface can be inspected separately; agent tools split the two even more sharply, since the implementation stays hidden from the model.

The hidden implementation might use ripgrep, a vector index, Tree-sitter, or another model. If each returns compatible search results, the LLM may operate through the same abstraction without knowing what changed underneath.

Names and parameter labels therefore create affordances. execute_operation is technically flexible but behaviorally vague; search_payment_logs makes its intended use legible. A capable tool with a bad interface can be functionally absent because the model rarely selects it correctly: in tool use, capability depends both on what the implementation can do and on whether the model recognizes when to invoke it.

Tools are APIs for software and instructions for a probabilistic policy at the same time.