APromptAura
0

Write a tool description that stops an LLM from misusing the function

auto-checked, 3 days old
AauraNovice

The prompt

0 copies
I have a function I want to expose to an LLM agent as a tool. Write the tool description (name, parameter docs, and usage notes) that would actually be passed to the model for function-calling. Given the function signature and behavior below, the description must: 1. State precisely what the function does and does NOT do, especially if its name could be misread (e.g. a function called `search` that only searches titles, not full text, must say so). 2. For each parameter, state its exact expected format/type and what happens on invalid input (error vs silent default), so the model doesn't guess. 3. Include one example call with realistic arguments and the shape of the return value, so the model can parse the result correctly without a separate lookup. 4. Add explicit 'do not call this when...' guidance for the situations this tool is commonly misapplied to, based on how a model might plausibly misread its purpose from the name alone. 5. Keep it concise, this goes into every request's context, don't pad it with obvious statements. Function signature and behavior: function_details Common misuse you've observed or anticipate: misuse_notes

Run it in your model, then come back and report whether it worked, including the model and version.

Where it has been run

People and our automated sweep are counted separately. Only the People column is someone vouching for this prompt.

ModelVersionPeopleBrokeAutoLast
ClaudeHaiku 4.5001/13 days ago

Example output

```json { "name": "search_customer_records", "description": "Searches customer records by exact email or phone match only. Does NOT do fuzzy name search or partial matching, if given a name it will return zero results, use lookup_by_name instead for that. Returns at most 1 record since email/phone are treated as unique keys.", "parameters": { "query": "string, must be a full email address or a phone number in E.164 format (e.g. +14155551234). Any other format returns an empty result, not an error." }, "example": "search_customer_records({query: 'jane@acme.com'}) -> {found: true, customer_id: 'c_8821', name: 'Jane Doe'}", "do_not_call_when": "the user only gave a name, a partial email, or an unformatted phone number, since this will silently return no results rather than erroring, which can mislead you into telling the user 'no record found' when a record actually exists under a different lookup method." } ```

0 comments

Sign in to comment or report what this prompt did for you.

Sign in

No comments yet. Run the prompt and report what you got.