Results
25%
LLM context improvement at release
The situation
Agent performance depended on the data model
The models the team was developing would support agents that answered questions using an organization’s own structured data — such as schedules, records, current status — and could take action based on that data, like processing a request or scheduling something on a user’s behalf. The agent’s performance depended on how clearly the underlying model represented that data.
The Challenge
The structure and relationships inherent in the model weren’t clear
Good API naming is sometimes treated as cosmetic. But in large or growing models, poor naming is more than a style problem.
If the names and descriptions in a model aren’t perfectly clear, AI is happy to take a stab! But guessing can lead to hallucination, SQL problems, and degraded search.
The names and descriptions that an engineering team drafts can make a solid start. But settling for them as final can make product performance and maintenance suffer later. Garbage in, garbage out.
I needed my team to collaborate with me on a thorough review of model content, and show them that this wasn’t extra overhead — it was the fastest path to a model that would perform as planned.
“Cate made linguistics and design principles a foundation of her work, resulting in productive discussions and outcomes based on something more solid than opinion.”
Lead Member of Technical Staff, Fortune 500 Company
My approach
I reviewed fields against three criteria, iterating with engineering and product management to resolve questions.
While I worked through these content details, my goal was to bring the big picture into focus: How the model’s structure and relationships represented the product’s workings.
1. Expose the structure and relationships in the model by writing unambiguous, mutually exclusive names
For every field, I asked: Do this name and description clearly state what the field does, and do they clearly distinguish it from every other field in the model?
I made generic labels specific, so that a user or agent couldn’t confuse a field with another regardless of the context where it appeared.
A planned field in a data model
Compared to the name Type, the final API name for this field, UserRole, will make the field’s purpose easier to understand when it appears alone or alongside other fields.
2. Reinforce clarity by ensuring consistency
The same inconsistencies that confuse a human reader (is “Username” the same as “Account ID”?) can make AI hallucinate.
In a separate pass, I looked across objects in the model to make sure that:
- The same word was used for the same concept everywhere
- Naming patterns were applied across related objects
- Descriptions gave a comparable level of detail throughout
3. Compromise
Once an API ships, renaming a field risks breaking existing integrations. For fields where the ideal name conflicted with something already released, the team and I had to weigh consistency with the existing pattern against the clarity of the new one. We took educated guesses at the future impact of our choices.
“Cate brought order and predictable repetition to a complex job.”
Product Leader, Fortune 500 Company