Cards/AI SystemsSystem Design · Day 59Sep 30, 2026

Where We Cut Decides What We Find

A policy clause cut in half at 500 characters so neither piece retrieves, beside fixed-size, recursive, semantic and parent-document chunking, and the token ranges different content types actually want

A document has to be split before it can be embedded, and that split is the most consequential decision in the whole pipeline. It is usually made by a default value nobody revisited.

Cut a reimbursement clause at 500 characters and the answer still exists — in two halves, neither of which retrieves.

Four approaches, in rising order of care. Fixed-size is simple and blind to meaning. Recursive splits on paragraphs first, then sentences, then words. Semantic splits where the topic shifts. Parent-document embeds small chunks for precision and returns the larger section they came from, which ends the choice between matching well and carrying enough context.

There is no universal number. A contract clause wants 200–500 tokens, a support ticket 100–300, an API reference 300–800. The right chunk is the one a human would have quoted.

How we divide something determines what we can find in it later.

How we divide something determines what we can find in it later.