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.