The fastest way to lose an engineering audience is to let a language model produce a number. The fastest way to waste one is to make it write boilerplate by hand. The useful system keeps both truths at once.
The split
In our platforms, every value on a document comes from one of three places: a deterministic read of a source document, a deterministic calculation tool, or an engineer typing it in. A model is never on that list. What models do is everything around the values: locate content in messy documents, propose the mapping from a template to its sources, draft the narrative that connects the numbers, and explain what changed between revisions.
The agent orchestrates; it never overrides a tool. If a sizing tool returns a diameter, that diameter is the answer, and the trace of tool calls is the calculation record. Two runs with the same inputs give the same numbers; only the prose may vary.
Why this earns trust
- Auditability: a reviewer can follow every value to a tool and its inputs
- Stability: model upgrades change wording quality, not engineering results
- Honest failure: a missing input renders as a visible gap, never a plausible guess
The pattern also changes what improvement means. The system gets better by accumulating confirmed rules and reviewed precedents, not by retraining a model on project data. Knowledge stays inspectable, versioned and owned.