Panduan Chunking

Bagaimana AI sistem split Anda halaman ke passages untuk embed, indeks, dan retrieve — chunk size, overlap, semantic vs. fixed-size, dan bagaimana ini ties untuk Google's passage peringkat.

Pertama kali diterbitkan: 24 Jun 2026 · Terakhir diperbarui: 8 Agu 2026 · Advanced
Bahasa

Chunking adalah preprocessing langkah di mana AI sistem split sebuah document ke lebih kecil passages sebelum embedding dan retrieving them. chunk — tidak halaman — adalah unit dari retrieval di AI penelusuran, so menjadi terindeks tidak cukup; Anda perlu sebuah passage itu jawaban sebuah spesifik kueri di isolation. Chunk size adalah sebuah trade-off (kecil = precise tetapi thin pada context; besar = context-rich tetapi noisy) dengan Tidak size itu jaminan sebuah citation, overlap mencegah boundary kehilangan tetapi duplicates tokens, contextual prefixes dapat disambiguate sebuah chunk tetapi mislead retrieval jika mereka're stale, dan 'Lost di Middle' — sebuah position effect diukur pada spesifik 2023 models dan tasks, tidak setiap model — berarti LLMs sering gunakan mulai dan end dari context best. Anda dapat't mengoptimalkan untuk sebuah spesifik chunk size — Google explicitly says Anda tidak perlu untuk chop konten ke pieces — tetapi jawaban-pertama, self-berisi bagian di bawah sebuah jelas heading hierarchy chunk dan cite cleanly. ini adalah yang sama sub-document principle sebagai Google's passage peringkat, applied untuk RAG.

TL;DR — Chunking adalah preprocessing langkah itu splits sebuah document ke passages sebelum mereka’re embedded, terindeks, dan retrieved. ini ada karena embedding models dan context windows memiliki token limits, dan karena passage-tingkat retrieval adalah lebih precise daripada halaman-tingkat. ** chunk, tidak halaman, adalah unit dari retrieval.** Chunk size adalah sebuah trade-off (kecil = precise/thin; besar = rich/noisy) dan Tidak size, overlap nilai, atau splitter jaminan sebuah citation; overlap guards boundaries tetapi costs indeks size dan duplication; semantic chunking tidak reliably better daripada fixed-size; contextual prefixes dapat disambiguate sebuah chunk tetapi mislead retrieval ketika stale. “Lost in the Middle” (terjemahan) “Lost di Middle” — sebuah position effect terdokumentasi pada spesifik 2023 models dan tasks — berarti sebuah LLM sering menggunakan mulai dan end dari -nya context best. Anda dapat’t mengoptimalkan untuk sebuah spesifik chunk size — dan Google says Anda tidak seharusnya try — tetapi jawaban-pertama, self-berisi bagian di bawah sebuah jelas heading hierarchy chunk dan cite cleanly. ini adalah yang sama sub-document principle sebagai Google’s passage peringkat, applied untuk RAG.

Apa chunking adalah, dan mengapa ini ada

Retrieval sistem operate di atas terindeks units, tetapi publik mesin pencari melakukan tidak expose sebuah universal publisher-controlled chunk size. Evidence for this claim Retrieval systems can split files into chunks that are embedded and indexed for later search. Scope: OpenAI's retrieval implementation; chunk sizes, overlap, and indexing behavior are implementation-dependent. Confidence: high · Verified: OpenAI: Retrieval guide RAG research mendukung retrieve-lalu-generate patterns tanpa proving itu setiap AI penelusuran product menggunakan identical mechanics. Evidence for this claim Retrieval-augmented generation combines a generator with retrieved external passages or documents. Scope: The original RAG research architecture; it does not establish one optimal chunking strategy for every production system. Confidence: high · Verified: Lewis et al.: Retrieval-Augmented Generation

Chunking adalah proses dari dividing sebuah document ke lebih kecil, discrete segments — chunks atau passages — sebelum itu segments adalah turned ke embeddings, stored di sebuah vector indeks, dan retrieved untuk jawaban kueri. ini adalah sebuah foundational langkah di RAG (Retrieval-Augmented Generation) pipelines, dan ini adalah bagian dari AI penelusuran SEOs underrate sebagian besar, karena ini adalah invisible: ini happens selama ingestion, tidak di kueri time.

Dua masalah force ini:

  • ** token-limit masalah.** Embedding models accept sebuah bounded angka dari tokens per input — Microsoft notes text-embedding-3-small model caps di 8 191 tokens, dan lainnya models adalah far lebih kecil. LLMs memiliki finite context windows too. sebuah panjang halaman sekadar tidak akan fit sebagai sebuah single unit, so ini mendapatkan split.
  • ** retrieval-precision masalah.** sebuah 5 000-kata halaman tentang “teknis SEO” (terjemahan) “SEO teknis” collapsed ke satu vector adalah sebuah fuzzy, averaged sinyal. sebuah 400-kata bagian itu’s secara khusus tentang anggaran crawling, embedded sebagai -nya own vector, adalah sebuah sharp satu. Sub-document granularity adalah apa lets sebuah sistem pull satu relevant passage out dari sebuah panjang, multi-topic halaman.

consequence adalah single sebagian besar penting idea di sini: ** chunk, tidak halaman, adalah unit dari retrieval di AI penelusuran.** menjadi di-crawl dan terindeks adalah necessary tetapi tidak sufficient. Anda perlu sebuah chunk itu jawaban sebuah spesifik kueri, dengan jelas, pada -nya own. sebuah halaman peringkat #15 organically dapat earn sebuah AI citation sementara #1 hasil mendapatkan skipped — jika #15 halaman memiliki lebih extractable passage.

Bagaimana chunking berfungsi, end untuk end

Chunking changes the retrieval unit: the page is published once, but its passages are stored and matched separately. Sumber: /ai-search/how-search-works/chunking/

A four-stage flow begins with one long document containing several topics. The system splits and embeds focused passages as separate vectors. A query retrieves one or more best-matching passages, and those selected passages enter the model context for answer generation.

© Patrick Stox LLC · CC BY 4.0 ·

  1. Ingestion + splitting. sebuah AI crawler downloads halaman; sebuah chunking algorithm divides text ke (biasanya overlapping) segments.
  2. Embedding. setiap chunk becomes sebuah numerical vector dan adalah stored di sebuah vector indeks. (itu’s embeddings langkah.)
  3. Retrieval + generation. sebuah kueri adalah embedded, nearest chunk vectors adalah pulled melalui pencarian vektor, dan retrieved chunks adalah lulus untuk sebuah LLM itu menulis jawaban dengan citations.

ini seluruh architecture traces back untuk Dense Passage Retrieval (Karpukhin et al., 2020), yang showed itu retrieving oleh dense vector similarity beat old keyword approach (BM25) oleh 9–19% absolute pada top-20 passage accuracy — dan itu passage-tingkat retrieval berfungsi better daripada document-tingkat untuk answering spesifik pertanyaan. RAG paper (Lewis et al., 2020) named pattern dan digunakan 100-kata passages dari Wikipedia sebagai -nya chunks. setiap AI penelusuran sistem retrieving web konten adalah berjalan sebuah variant dari itu pipeline.

Chunking strategies

ada Tidak single algorithm — sistem pick dari sebuah menu, dan mereka perubahan ini di atas time:

  • Fixed-size — split oleh sebuah token atau character count, dengan beberapa overlap. sebagian besar umum. Microsoft’s contoh: “a fixed size sufficient for semantically meaningful paragraphs (for example, 200 words or 600 characters)” (terjemahan) “sebuah fixed size sufficient untuk semantically bermakna paragraphs (misalnya, 200 kata atau 600 characters)” dengan 10–15% overlap.
  • kalimat / paragraf — split pada natural language boundaries alih-alih sebuah arbitrary token count, preserving semantic units.
  • Semantic / konten-aware — group sentences oleh embedding similarity dan split di mana topic shifts, aiming untuk pertahankan setiap chunk tentang satu hal.
  • Hierarchical / recursive (RAPTOR) — bangun tree dari summaries (document → bagian → paragraf) so sebuah kueri dapat menjadi answered di right tingkat dari abstraction. RAPTOR (Sarthi et al., 2024) reported sebuah 20% absolute accuracy gain pada sebuah hard QA benchmark ketika paired dengan GPT-4.
  • Sliding window dengan overlap — setiap chunk shares beberapa tokens dengan -nya neighbors so sebuah kalimat split di seluruh sebuah boundary tidak lost.
  • Adaptive / kueri-dependent (Mix-dari-Granularity) — sebuah trained router picks chunk size per kueri. paling sophisticated approach; belum standard di commercial sistem.

Chunk size dan overlap — core trade-off

ini adalah lever everyone menanyakan tentang, dan honest jawaban adalah ini bergantung:

  • kecil chunks (128–256 tokens): lebih precise retrieval, tetapi mereka dapat lose sekitarnya context jawaban perlu.
  • besar chunks (512–1 024 tokens): lebih context dipertahankan, tetapi noisier retrieval — Anda drag di irrelevant material dengan relevant bit.

research tidak crown sebuah winner. LlamaIndex’s evaluation ditemukan 1 024 tokens optimal di mereka setup; Chroma’s benchmarks ditemukan sebuah 200-token recursive splitter performed consistently di seluruh metrics. Ravi Theja’s takeaway adalah right mindset: “Identifying the best chunk size for a RAG system is as much about intuition as it is empirical evidence.” (terjemahan) “Identifying best chunk size untuk sebuah RAG sistem adalah sebagai banyak tentang intuition sebagai ini adalah empirical evidence.” itu angka deskripsikan apa won di satu team’s benchmark, pada satu document set, dengan satu embedding model dan evaluation task — tidak sebuah universal setting. Tidak chunk size, overlap nilai, atau splitter jaminan retrieval, citation, peringkat, atau inclusion di sebuah jawaban dari sebuah external AI sistem; setiap provider’s pipeline picks -nya own defaults dan dapat perubahan them tanpa notice.

Overlap adalah underrated half dari ini. Tanpa ini, konten near sebuah boundary mendapatkan split dan lost. Microsoft recommends starting di 25% overlap so ada “smoother transitions between chunks without excessive duplication” (terjemahan) “smoother transitions antara chunks tanpa excessive duplication”; lainnya sources suggest 10–15%. Overlap tidak free, though: overlapping tokens mendapatkan embedded dan stored twice, yang inflates indeks dan dapat surface near-duplicate passages side oleh side di sebuah retrieved set — so ini adalah sebuah trade terhadap indeks size dan redundancy, tidak sebuah costless safety net. Weigh ini terhadap bagaimana sering sebuah boundary sebenarnya costs Anda sebuah missed fact, tidak pada principle. practical poin untuk konten: jangan assume sistem akan pertahankan sebuah key fact intact jika Anda bury ini persis di mana sebuah chunk adalah mungkin untuk break.

So, melakukan semantic chunking selalu win? Tidak — itu’s inconvenient finding. Vectara’s 2024 study ditemukan “performance differences are minimal” (terjemahan) “performa differences adalah minimal” pada dunia nyata documents, dan — crucially — ** embedding model’s quality mattered lebih daripada chunking strategy.** Ketika GPT-4o generated jawaban, differences antara strategies adalah “negligible.” (terjemahan) “negligible.” itu hasil adalah spesifik untuk Vectara’s document set, models, dan evaluation metode — ini adalah evidence semantic chunking tidak sebuah reliable default win, tidak proof ini tidak pernah helps di apa pun pipeline. Translation untuk SEOs: obsessing di atas sebuah tepat structure penting far lebih sedikit daripada konten quality dan semantic clarity.

Chunk context: apa prefixes dapat (dan dapat’t) perbaiki

sebuah chunk itu membaca dengan jelas untuk sebuah human dapat masih retrieve badly setelah ini adalah separated dari document sekitar ini — bagian ini sits di bawah, entity ini adalah sebenarnya tentang, sebuah qualifier stated dua heading up. Satu terdokumentasi mitigation adalah prepending sebuah pendek, chunk-spesifik context string ( document judul, bagian ini belongs untuk, apa chunk adalah sebenarnya tentang) sebelum chunk adalah embedded — sebuah approach Anthropic panggilan contextual retrieval. judul, bagian ancestry, dan sebuah contextual prefix dapat disambiguate sebuah jika tidak-orphaned chunk dan cut down pada retrieval misses disebabkan oleh missing context.

itu perbaiki memiliki sebuah failure mode dari -nya own, though: stale atau wrong context tidak hanya fail untuk help — ini actively misleads retriever toward wrong chunk. sebuah prefix generated dari sebuah heading itu Tidak lebih lama matches bagian setelah sebuah halaman reorg, atau sebuah contextual summary itu misstates apa chunk covers, adalah worse daripada Tidak prefix di semua. Context preservation adalah sebuah pipeline design pilihan dengan -nya own error mode, tidak sebuah satu-cara improvement Anda dapat bolt pada dan forget.

Google’s passage peringkat — SEO ancestor dari chunking

Google memiliki telah melakukan sub-document granularity since panjang sebelum “RAG” (terjemahan) “RAG” adalah sebuah buzzword. di Penelusuran pada 2020, Prabhakar Raghavan announced passage peringkat: “Oleh better understanding itu relevancy dari specific passages, tidak sekadar itu overall halaman, we dapat temukan itu needle-di-a-haystack information Anda looking untuk.” (terjemahan) “oleh better understanding relevancy dari spesifik passages, tidak hanya overall halaman, kami dapat temukan itu needle-di-sebuah-haystack informasi Anda’re looking untuk.” ini went langsung di U.S. English pada February 10, 2021 dan memengaruhi roughly 7% dari kueri.

Dua hal orang mendapatkan wrong tentang ini:

  • ini adalah “passage ranking,” (terjemahan) “passage peringkat,” tidak “passage indexing.” (terjemahan) “passage pengindeksan.” Google’s pertama announcement digunakan “indexing,” (terjemahan) “pengindeksan,” lalu quickly corrected ini: “ini ubah tidak berarti kami indexing individual passages independently dari halaman.” (terjemahan) “ini perubahan tidak berarti kami’re pengindeksan individual passages independently dari halaman.” halaman adalah masih terindeks sebagai sebuah seluruh; relevant passage adalah sebuah additional sinyal peringkat.
  • ** halaman peringkat, tidak passage.** John Mueller: “Passage ranking adalah tidak tentang ranking a specific passage tetapi understanding itu konten pada a benar-benar long, tidak SEO optimized halaman, dan ranking itu halaman (tidak itu passage) untuk a query di mana itu passage adalah relevant.” (terjemahan) “Passage peringkat adalah tidak tentang peringkat sebuah spesifik passage tetapi understanding konten pada sebuah benar-benar panjang, tidak SEO dioptimalkan halaman, dan peringkat itu halaman (tidak passage) untuk sebuah kueri di mana passage adalah relevant.”

So passage peringkat dan RAG chunking share sebuah principle — sebuah paragraf, tidak sebuah halaman, adalah sering right unit untuk match terhadap sebuah spesifik kueri — tetapi outcome differs: passage peringkat lifts halaman’s peringkat; RAG chunking retrieves sebuah chunk untuk feed sebuah generated jawaban. sama idea, berbeda machinery. ( teknis underpinning, per Dawn Anderson’s reporting, adalah DeepCT — BERT-derived contextual istilah weights replacing TF-IDF, so istilah frequency Tidak lebih lama equals istilah relevance.)

”Lost in the Middle” (terjemahan) “Lost di Middle” — di mana Anda jawaban sits penting

bahkan setelah Anda chunk adalah retrieved, di mana ini lands di LLM’s context memengaruhi apakah model sebenarnya menggunakan ini. Stanford “Lost in the Middle” (terjemahan) “Lost di Middle” study (Liu et al., 2023) ditemukan itu “performance adalah sering highest ketika relevant information occurs di itu beginning atau end dari itu input context, dan significantly degrades ketika models harus access relevant information di itu middle dari long contexts.” (terjemahan) “performa adalah sering highest ketika relevant informasi occurs di beginning atau end dari input context, dan significantly degrades ketika models harus access relevant informasi di middle dari panjang contexts.”

itu finding tidak apply universally oleh default — ini adalah sebuah position effect diukur pada named multi-document QA dan key-nilai retrieval tasks, pada spesifik model generation Liu et al. tested di 2023. ini adalah tidak proof itu setiap saat ini model ignores evidence placed centrally di -nya context; berbeda architectures, lebih lama effective context windows, dan newer training dapat sempit atau widen effect. Treat ini sebagai sebuah terdokumentasi risk untuk design sekitar, tidak sebuah fixed law dari setiap model Anda’ll ever menjadi retrieved ke.

konten implication adalah masih concrete dan rendah-risk either cara: lead dengan Anda jawaban. Put definition, key finding, direct jawaban di pertama kalimat dari setiap bagian — tidak buried di paragraf four. ini adalah yang sama jawaban-pertama (BLUF) discipline itu menyajikan human skimmers; ini hanya happens untuk juga hedge terhadap menjadi dropped ke middle dari sebuah context window pada models di mana effect holds.

practical constraints Anda dapat’t see

  • Chrome’s ~30-passage limit. Dan Petrovic’s research suggests Chrome’s DocumentChunker analyzes konten di ~200-kata passages dan “hanya ever considers itu pertama 30 passages dari a halaman.” (terjemahan) “hanya ever mempertimbangkan pertama 30 passages dari sebuah halaman.” ini tree-walks semantic HTML top untuk bottom. Implication: Anda sebagian besar penting konten seharusnya muncul early — tidak di bottom dari sebuah 10 000-kata halaman.
  • Anda tidak control chunker. Despina Gavoyannis (Ahrefs) adalah blunt: “Anda tidak dapat control bagaimana Google, ChatGPT, atau Perplexity chunk Anda konten. Mereka pipelines ubah based pada cost, model, dan context.” (terjemahan) “Anda dapat’t control bagaimana Google, ChatGPT, atau Perplexity chunk Anda konten. mereka pipelines perubahan berdasarkan cost, model, dan context.” dan: “Manual ‘chunk optimization’ is impossible in practice.” (terjemahan) “Manual ‘chunk optimization’ adalah impossible dalam praktik.”

Apa “chunk optimization” (terjemahan) “chunk optimization” sebenarnya adalah (dan Google caveat)

Di sini’s nuance hype skips. Google’s 2026 AI optimization guide says plainly: “There’s no requirement to break your content into tiny pieces for AI to better understand it.” (terjemahan) “ada Tidak requirement untuk break Anda konten ke tiny pieces untuk AI untuk better memahami ini.” -nya sistem “are able to understand the nuance of multiple topics on a page and show the relevant piece to users.” (terjemahan) “adalah able untuk memahami nuance dari multiple topics pada sebuah halaman dan tampilkan relevant piece untuk pengguna.” So Tidak — melakukan tidak rewrite Anda konten ke rigid 300-kata blocks.

tetapi itu tidak berarti structure adalah irrelevant. sebagai Gavoyannis puts ini, “Most SEOs using the term [chunk optimization] are just talking about good content structure.” (terjemahan) “sebagian besar SEOs menggunakan istilah [chunk optimization] adalah hanya talking tentang baik konten structure.” advice underneath buzzword adalah sound; framing hanya inflates -nya novelty. Duane Forrester’s line captures shift well: “If traditional SEO optimized for clicks, GenAI systems optimize for chunks… Structure still wins.” (terjemahan) “jika tradisional SEO dioptimalkan untuk clicks, GenAI sistem mengoptimalkan untuk chunks… Structure masih wins.”

So apa melakukan Anda sebenarnya melakukan? Tulis chunk-ready konten:

  • Satu topic per bagian. sebuah focused H2/H3 maps cleanly untuk sebuah coherent chunk.
  • jawaban-pertama. Lead dengan claim; mendukung ini di bawah.
  • Self-berisi bagian. Test: akan ini paragraf membuat sense jika ini appeared di isolation? jika tidak, ini tidak akan survive menjadi chunked out.
  • Appropriate length. 200–500 kata per major bagian lines up naturally dengan 256–512-token chunks — menyelesaikan cukup untuk menjadi berguna, tidak artificially pendek.
  • Structured formats. Tables dan lists memberikan sistem jelas boundaries untuk detect. (Onely’s research: tables increase citation rates ~2,5x.)

Mike King’s framing adalah right reassurance: “chunking and writing for users is not mutually exclusive.” (terjemahan) “chunking dan writing untuk pengguna adalah tidak mutually exclusive.” structure itu helps sebuah reader skim adalah structure itu chunks cleanly. Anda’re tidak optimizing untuk sebuah robot di expense dari sebuah human — ini adalah sama konten.

Passage peringkat vs. RAG chunking — side oleh side

Google passage peringkatRAG chunking
Apa ini adalahsebuah peringkat sinyalsebuah preprocessing langkah
GranularityPassage di dalam sebuah halamanChunk split sebelum embedding
Outcomehalaman peringkat lebih tinggisebuah chunk adalah retrieved ke jawaban
Di mana ini berjalandi peringkat timedi ingestion (lalu retrieval)
Anda control split?TidakTidak
Shared principleSub-document granularity — sebuah paragraf, tidak sebuah halaman, sering matches sebuah spesifik kueri best

Di mana ini sits di pipeline

Chunking adalah pertama move di AI retrieval: chunk → embed → store → retrieve → generate. ini feeds embeddings (setiap chunk becomes sebuah vector), yang feed pencarian vektor (kueri matches nearest chunks), yang feeds RAG (retrieved chunks become sebuah jawaban). Upstream, AI crawler adalah bagaimana Anda konten mendapatkan ingested di pertama place. untuk tradisional-penelusuran versi dari ini seluruh pipeline, see Bagaimana Penelusuran berfungsi.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.