Before changing anything, time every step on its own. The breakdown usually answers the question by itself: some steps need reasoning, and some are pattern matching wearing a costume.
Measure first, and the answer appears
Run sequentially that is 14 seconds, and three of the five steps are using a language model for work a purpose-built model does faster and more accurately. Without measuring each step you would spend the week optimising the wrong ones.
Three changes, in order of payoff
- —Replace classification with a classifier — deciding between three document types is not reasoning.
- —Replace extraction with NER — pulling structured fields is a solved problem.
- —Parallelise what remains — risk and summary do not depend on each other, so they run together.
Done in that order, this approach can take a 14-second pipeline to roughly 4 seconds with no loss of output quality. Most of the gain comes from removing language models from steps that were never doing language work; parallelising is the smaller half.




