Recipe: Look up a concept (the right way)
Agents reach for dictionary.define_word for everything — including “self-inductance,” “Lenz law,” “electromagnetic induction.” A dictionary is for English vocabulary, not technical concepts. This recipe is the decision tree.
Tools used: define_word, wikipedia_search, wikipedia_get_summary, get_concept (OpenAlex), search_works (OpenAlex).
Calls: 1–3.
Decision tree
| What you’re looking up | Use this | Why |
|---|---|---|
| English word, definition or part of speech | dictionary.define_word | What it’s for. Single English words only. |
| Named entity, place, person, event | wikipedia.wikipedia_get_summary | Wikipedia has the encyclopedic article. |
| Technical/scientific concept (“Lenz’s law”) | wikipedia.wikipedia_search then get_summary | Encyclopedia handles physics, math, biology, history. |
| Academic field of study (“deep learning”) | openalex.get_concept | Returns concept hierarchy, related fields, citation totals. |
| ”What papers exist on X?” | openalex.search_works | Scholarly literature search. |
The shapes of failure
dictionary.define_word("Lenz") → {found: false, hint: "..."}. Not a crash, but a wasted call. The dictionary doesn’t know about physics. Default to Wikipedia for anything that isn’t pure vocabulary.
wikipedia_get_summary("self-inductance") → returns a 2-paragraph summary of the concept, an extract URL, and key facts. This is the right call for almost any “what is X” question that isn’t strictly about word usage.
Worked examples
”What does ‘self-inductance’ mean?"
// Wrong:
dictionary.define_word({ word: "self-inductance" })
// → {found: false, hint: "Word not in dictionary..."}
// Right:
wikipedia.wikipedia_get_summary({ title: "Inductance" })
// → encyclopedic explanation with formulas, history, examples
"What’s the field of ‘reinforcement learning’?"
openalex.get_concept({ query: "reinforcement learning" })
// → {
// display_name: "Reinforcement learning",
// level: 2,
// description: "...",
// ancestors: [{name: "Machine learning", level: 1}, {name: "Computer science", level: 0}],
// related_concepts: [{name: "Deep reinforcement learning"}, {name: "Q-learning"}, ...],
// works_count: 89234,
// cited_by_count: 1234567
// }
"Define ‘sanguine’"
dictionary.define_word({ word: "sanguine" })
// → {found: true, phonetic: "/ˈsæŋ.ɡwɪn/", meanings: [{part_of_speech: "adjective", definitions: [...]}]}
"Who is Marie Curie?”
wikipedia.wikipedia_get_summary({ title: "Marie Curie" })
// → biographical summary, links to detailed article
Pattern: try-then-fallback
For agents that don’t know in advance whether a term is a vocabulary word or a concept:
const dict = await dictionary.define_word({ word: term })
if (dict.found) return dict
const wiki = await wikipedia.wikipedia_get_summary({ title: term })
if (wiki.found) return wiki
const concept = await openalex.get_concept({ query: term })
return concept
But honestly: most agent queries that hit dictionary and miss are technical concepts. Just default to Wikipedia first for anything that isn’t a clearly common English word.
Citation pattern
Self-inductance is the property of a circuit that opposes changes in current (Wikipedia). It’s quantitatively related to Lenz’s law and Faraday’s law of induction.
Caveats
- Wikipedia disambiguation pages. “Mercury” returns a disambiguation page. Either pass a more specific title (“Mercury (planet)”) or check the response shape for disambiguation hints.
- OpenAlex concept hierarchy is auto-classified. It’s good for broad fields, less reliable for niche subdisciplines or emerging areas.
- Dictionary is English-only. For other languages, use Wiktionary via Wikipedia’s API or note this limitation.