Skip to main content

Be precise

The more precise the query, the better the answer. A vague query finds the general area. A specific one finds the passage you want. Describe what you want, and include every detail that changes which passage is right: the subject, the people, the period, the kind of thing (a policy, a table, a number). Write it as a description or as a question; both work. Length is not the goal. Add the words that change the answer, and leave out the words that only describe your task. The same request for one company, made clearer one step at a time:

The fields

Improve a result one change at a time

Change one thing, compare, then change the next. Two changes at once hide which one helped.
1

Add the detail that is missing

When the answer is close but not right, the query is missing a detail that would decide it: the people, the period, the kind of thing. executive pay becomes total compensation of each named executive officer for 2025.
2

Read the title, the date and the section

title says which document answered, date which year, and citation.section where in the document the passage sits. The right section with a weak excerpt calls for a more specific query. The wrong document calls for a filter.
3

Use the company's own word

Companies name the same practice differently: clawback and recoupment, special committee and ad hoc committee, relative TSR and rTSR. When a query returns nothing useful, send the other name as a second request.
4

Add a filter only to exclude

A filter is a constraint, not a preference. Send filters.identifiers or filters.date when a passage from outside it would be wrong. A preference for a company or a year goes in the query text.
5

Raise the limit last

More documents do not make the first ones better. Raise limit when the task needs more documents, not to find a passage the query missed.

Request shapes by task

When a model writes the queries

An agent that calls Search writes vague queries unless its tool definition says otherwise. Put the rules in the parameter descriptions, make the identifiers required, and have it make one call per item.
Have the agent read warnings before it concludes. no_documents means there was nothing to search for those companies in that window, not that the answer is no. text is the passage as written in the document and may be quoted as such. citation.link opens the document at the passage, highlighted. Keep citation.document, citation.date and citation.section with the quotation: together they identify the document, its date and the place in it.

Keep a reference set of queries

Record about ten queries that stand for the real work. Run them all after every change to a prompt or a tool definition, so a gain on one query is not paid for by three others. Store each response’s search_id with its query. When a passage is wrong or missing, the id lets us reproduce the case exactly.

Common mistakes

When another endpoint fits

Filings

The list of a company’s filings, or a whole filing and its items, rather than the part that answers a question.