Blog

PDF di Claude Code: Konversi, Token, dan Mempertahankan Struktur

Markdown

MarkItDown, PyMuPDF4LLM, MCP, skrip konversi lengkap, batas PDF, dan situasi ketika analisis visual lebih penting daripada penghematan token.

Baca artikel lengkap

Poin utama

Setiap halaman PDF di Claude Code menghabiskan 1,500–3,000 token sebelum pertanyaan pertama—dan Anthropic menyatakannya dengan jelas dalam dokumentasinya. Dalam perhitungan ilustratif di bawah, laporan 15 halaman pada 4 chat berbeda memakai 135,000 token input PDF seharga sekitar $0.40, dibandingkan 18,000 token input Markdown seharga $0.054—sekitar 87% lebih sedikit. Ini mengasumsikan 2,250 token PDF atau 300 token Markdown per halaman pada tarif input contoh; dokumen aktual berbeda-beda. Panduan ini membahas tiga metode konversi (MarkItDown, PyMuPDF4LLM, dan server MCP) serta skrip bash siap pakai untuk satu folder dokumen.

Petunjuk praktis penggunaan Ailoot tersedia dalam dokumentasi.

Apa yang terjadi pada PDF di Claude, dan mengapa setiap halaman menghabiskan 1,500–3,000 token?

Poin utama

Saat Anda mengunggah PDF ke Claude Code, dokumen itu tidak dibaca sebagai berkas teks. Pertama, setiap halaman diubah menjadi gambar, lalu teks diekstrak darinya, dan kedua lapisan—gambar dan teks—ditambahkan ke konteks secara bersamaan. Itulah sebabnya satu halaman memerlukan 1,500–3,000 token, dan dokumen 50 halaman dapat menggunakan 75,000–150,000 token sebelum Anda mengajukan pertanyaan pertama.

Dokumentasi resmi Anthropic menjelaskan proses ini dalam tiga langkah sederhana:

Sistem mengubah setiap halaman dokumen menjadi gambar. Teks dari setiap halaman diekstrak dan disediakan bersama gambar halaman tersebut. Claude menganalisis teks dan gambar untuk memahami dokumen dengan lebih baik.

— Anthropic, https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support

Kedengarannya masuk akal, tetapi biaya pemrosesan bertambah seiring jumlah halaman. Dan inilah angka yang menjelaskan mengapa batas langganan Anda habis hanya karena satu PDF:

Setiap halaman biasanya menggunakan 1,500–3,000 token, bergantung pada kepadatan kontennya. Karena setiap halaman diubah menjadi gambar, biayanya sama dengan biaya untuk gambar standar.

— Anthropic, https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support

Untuk melihat besarnya, Anthropic mengukur PDF 3 halaman yang sama di Bedrock dalam dua mode. Dalam mode teks (Converse Document Chat), penggunaannya ~1,000 token. Dengan analisis visual (Claude PDF Chat), penggunaannya ~7,000 token. Menyertakan gambar membuat pemrosesan 7 kali lebih mahal.

Tangkapan layar halaman lebih boros lagi. Tangkapan layar berukuran 1000×1000 piksel berbiaya sekitar 1,300 token.

Mekanismenya sederhana: PDF mahal karena Claude tidak memercayai OCR-nya sendiri. Claude menggunakan teks dan gambar sekaligus agar bisa membandingkannya—dan Anda membayar kedua lapisan pada saat yang sama. Untuk dokumen besar, Anda bisa melakukan hal lain: simpan berkas sebagai Markdown di folder proyek dan beri tahu Claude, “ini dokumen yang berisi informasi—uraikan isinya.” Claude akan membagi konten ke dalam berkasnya sendiri dan melanjutkan pekerjaan dengan teks yang sudah ditata, alih-alih menghabiskan semuanya sekaligus.

Berapa banyak token yang dihabiskan PDF dalam tugas biasa?

Poin utama

Pertimbangkan laporan publik 15 halaman yang dipakai dalam 4 konteks berbeda—analisis, kutipan, terjemahan, dan ringkasan. Asumsikan 2,250 token input per halaman PDF, 300 per halaman Markdown terkonversi, dan tarif input sama untuk keduanya. Mengunggah ulang PDF menghasilkan 135,000 token input, sekitar $0.40; Markdown menghasilkan 18,000, atau $0.054. Penghematan sekitar 87% berasal dari asumsi itu, bukan pengukuran setiap PDF.

Angka spesifiknya (model Sonnet 4.x, input seharga $3 per juta token):

PendekatanToken (15 halaman, 4 obrolan)Biaya
PDF diunggah langsung 4 kali15 × 2250 × 4 = 135,000~$0.40
PDF → Markdown + 4 obrolan15 × 300 × 4 = 18,000~$0.054
Penghematan−87%−$0.35

Dan itu baru satu siklus berisi 4 permintaan. Setelah itu, prompt caching mulai berperan (TTL 5 menit secara default, hingga 1 jam pada tingkat yang diperpanjang, dengan diskon hingga 90% untuk panggilan berulang dalam jangka waktu tersebut)—penghematannya berlipat ganda.

Setiap kali Anda mengunggah PDF yang sama di obrolan baru, Claude membacanya lagi; cache tidak terbawa antarobrolan.

Jika PDF 15 halaman yang sama dikonversi sekali ke Markdown lalu dibawa ke masing-masing dari empat chat baru sebagai file .md, contoh ini memakai 15 × 300 × 4 = 18,000 token input, bukan 135,000. Nilai 300 token per halaman terkonversi dan 2,250 token per halaman PDF merupakan asumsi perhitungan, bukan konstanta terukur untuk setiap PDF. Hitung dokumen sebenarnya dan pastikan kualitas konversi sebelum memperkirakan penghematan.

Perhitungan ini menjadi lebih signifikan lagi dengan langganan Claude Pro. Satu laporan 100 halaman dapat menghabiskan seluruh batas 5 jam. Setelah dikonversi ke Markdown, 10+ dokumen semacam itu muat dalam anggaran yang sama.

Apa batas API Anthropic untuk PDF pada 2026?

Poin utama

Anthropic menetapkan batas ketat: maksimum 32 MB per permintaan (termasuk semua konten, bukan hanya PDF) dan maksimum 600 halaman per permintaan. Namun, batasnya lebih rendah untuk model Sonnet 4.x dan Opus 4.x saat ini dengan konteks 200K: 100 halaman. Anda dapat mengirim PDF dengan tiga cara: melalui URL, dalam Base64, atau melalui Files API untuk digunakan kembali dengan file_id. Files API dan pemecahan dokumen menjadi beberapa bagian digunakan untuk dokumen panjang.

Dokumentasi Anthropic mencantumkan batas ini di bagian atas (terkini per 31 Mei 2026):

PersyaratanBatas
Ukuran maksimum permintaan32 MB (bervariasi menurut platform)
Jumlah maksimum halaman per permintaan600 (100 untuk model dengan konteks 200K token)
FormatPDF standar tanpa kata sandi atau enkripsi

Kedua batas berlaku untuk seluruh isi permintaan, termasuk konten yang dikirim bersama PDF. Untuk PDF besar, gunakan Files API dan rujuk berkas dengan `file_id` agar isi permintaan tetap kecil.

— Anthropic, https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support

Claude.ai (aplikasi web konsumen) memiliki batas berbeda: maksimum 500 MB per berkas dan hingga 20 berkas dalam satu obrolan. Namun, analisis visual hanya berfungsi untuk PDF hingga 100 halaman—lebih dari itu, Claude hanya melihat teks, tanpa bagan dan diagram.

Tiga cara mengirim PDF melalui API:

  1. Melalui URL - "source": {"type": "url", "url": "..."} - paling sederhana jika dokumen tersedia secara daring.
  2. Dalam Base64 - "source": {"type": "base64", "media_type": "application/pdf", "data": "..."} - untuk berkas lokal.
  3. Melalui Files API - "source": {"type": "file", "file_id": "file_abc123"} - untuk permintaan berulang; memerlukan header beta anthropic-beta: files-api-2025-04-14.

Files API adalah cara utama untuk berhemat saat bekerja dengan PDF yang sama di berbagai obrolan. Unggah sekali, dapatkan file_id, lalu gunakan ID tersebut untuk semua interaksi. Dengan cache_control: ephemeral, panggilan berulang berbiaya 10% dari harga normal.

Anthropic juga memberikan saran resmi untuk meminimalkan penggunaan:

PDF padat (dengan banyak teks kecil, tabel kompleks, atau banyak grafik) dapat memenuhi jendela konteks sebelum Anda mencapai batas halaman. Cobalah membagi dokumen menjadi beberapa bagian; untuk berkas besar, kurangi resolusi gambar yang disematkan sebelum mengunggahnya.

— Anthropic, https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support

Metode 1: Bagaimana cara menyiapkan MarkItDown dalam 5 menit?

Poin utama

MarkItDown adalah utilitas Python dari tim Microsoft AutoGen yang mengonversi PDF, DOCX, PPTX, XLSX, HTML, audio, gambar, bahkan video YouTube menjadi Markdown yang rapi. MarkItDown memiliki 134 ribu bintang di GitHub, lisensi MIT, dan dapat dipasang dengan satu perintah: pip install 'markitdown[all]'. Penggunaannya juga semudah itu: markitdown document.pdf > document.md. Ini alat paling serbaguna untuk mengonversi berkas sebelum menggunakan Claude Code.

MarkItDown adalah proyek resmi Microsoft yang dikelola oleh tim AutoGen. Di GitHub, proyek ini memiliki 134 ribu bintang dan 9.2 ribu fork (per akhir Mei 2026). Tujuannya dinyatakan langsung dalam README:

Utilitas Python ringan untuk mengonversi berkas ke Markdown agar dapat digunakan dengan LLM dan alur kerja analisis teks.

— Microsoft, https://github.com/microsoft/markitdown

Format yang didukung:

  • Dokumen: PDF, DOCX, PPTX, XLSX
  • Web: HTML, JSON, XML, CSV
  • Media: audio dengan transkripsi, gambar dengan EXIF dan OCR, video YouTube (melalui takarir)
  • Arsip: ZIP, EPub
  • Lainnya: semua lampiran di dalam berkas Outlook MSG

Instalasi

Persyaratan: Python 3.10+ (biasanya sudah terpasang di macOS; Anda perlu memasangnya secara terpisah di Windows).

pip install 'markitdown[all]'

Jika tidak memerlukan semua format, Anda dapat memasang format tertentu:

pip install 'markitdown[pdf, docx, pptx]'

Mengonversi satu berkas

Cara paling sederhana:

markitdown document.pdf > document.md

Setelah itu, document.md akan muncul di folder saat ini. Bawa berkas tersebut ke Claude Code dengan @document.md atau cukup letakkan di samping proyek Anda.

Python API

Jika Anda ingin mengintegrasikannya ke dalam skrip:

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("research-paper.pdf")
print(result.text_content)

# You can save it straight away:
with open("research-paper.md", "w") as f:
    f.write(result.text_content)

Hal yang TIDAK dapat dilakukan MarkItDown

  • OCR untuk PDF hasil pemindaian - tidak mengembalikan apa pun. Dokumen hasil pemindaian memerlukan PyMuPDF4LLM atau Docling.
  • Tata letak kompleks dengan beberapa kolom - urutan bacanya mungkin kacau.
  • URL yang disematkan dalam PDF - tidak dipertahankan.

Untuk PDF sederhana (laporan, artikel, dokumentasi), MarkItDown adalah pilihan terbaik: alat serbaguna yang dipasang dalam satu menit dan tidak memerlukan pengetahuan Python. Kinerjanya pada dokumen berteks Cyrillic dan hasil pemindaian ditunjukkan dalam pengukuran di analisis tentang cara mengonversi PDF menjadi teks untuk AI.

Metode 2: Apa yang ditawarkan PyMuPDF4LLM, dan kapan lebih baik?

Poin utama

PyMuPDF4LLM adalah proyek Artifex Software yang didasarkan pada mesin C MuPDF bawaan. Ini konverter PDF tercepat (tidak memerlukan GPU); OCR cerdas hanya diterapkan pada bagian yang tidak terbaca dan mengurangi waktu pemrosesan hingga 50%. Ini satu-satunya alat populer yang mempertahankan URL dan gambar yang disematkan dalam PDF. Kekurangannya adalah lisensi gandanya, AGPL v3 / komersial Artifex: untuk proyek SaaS, AGPL berarti Anda harus menerbitkan kode Anda.

MarkItDown menawarkan keluasan format; PyMuPDF4LLM menawarkan kedalaman pemrosesan PDF.

Ekstensi PyMuPDF yang ringan untuk mengubah PDF menjadi data terstruktur yang rapi dengan penyiapan minimal.

— Artifex Software, https://pymupdf.readthedocs.io/en/latest/pymupdf4llm/

Versi per 31 Mei 2026 adalah 1.27.2.3 (dirilis 24 April 2026).

Fitur yang disertakan

  • Halaman multi-kolom dengan urutan baca yang benar
  • Tabel dikonversi ke Markdown bergaya GitHub
  • Header dan footer dihapus secara otomatis
  • Gambar diekstrak dengan tautan relatif ke folder terpisah
  • OCR cerdas: hanya diterapkan pada bagian yang tidak terbaca, menghemat ~50% waktu pemrosesan
  • Mesin C bawaan, tidak memerlukan GPU

Instalasi

pip install pymupdf4llm

Penggunaan

import pymupdf4llm

# Basic use - straight to Markdown:
md_text = pymupdf4llm.to_markdown("document.pdf")

# Save it:
with open("document.md", "w") as f:
    f.write(md_text)

Dalam satu baris, seperti yang dijanjikan:

python3 -c "import pymupdf4llm; \
  open('document.md','w').write(pymupdf4llm.to_markdown('document.pdf'))"

Kapan memilih PyMuPDF4LLM dibanding MarkItDown

  • Saat PDF memiliki banyak tautan yang perlu Anda pertahankan (MarkItDown menghilangkannya).
  • Saat dokumen merupakan hasil pemindaian dan Anda memerlukan OCR.
  • Saat Anda memerlukan kecepatan untuk ribuan berkas secara lokal—mesin C bawaan lebih cepat daripada pembungkus Python.
  • Saat Anda memerlukan gambar dari PDF dalam folder terpisah untuk pemrosesan lebih lanjut.

Detail lisensi (penting untuk bisnis)

PyMuPDF4LLM memiliki dua pilihan lisensi: AGPL v3 ATAU komersial Artifex.

Arti AGPL: jika Anda menggunakan pustaka ini dalam SaaS publik, Anda harus menerbitkan seluruh kode sumber layanan Anda di bawah AGPL yang sama. Untuk penggunaan internal (skrip Anda di laptop), tidak ada batasan.

Untuk pengembangan komersial tanpa mengungkapkan kode, beli lisensi dari Artifex (artifex.com). Harga tidak dipublikasikan; mintalah kepada bagian penjualan.

Jika Anda membangun produk untuk klien, periksa lisensinya sejak awal. MarkItDown (MIT) dan Docling (MIT) lebih aman untuk SaaS.

Metode 3: Bagaimana cara menghubungkan server MarkItDown MCP ke Claude Code?

Poin utama

Server MarkItDown MCP adalah MarkItDown yang sama, dibungkus dengan protokol MCP, sehingga Claude Code dapat mengonversi PDF secara langsung tanpa memuat berkas asli ke konteks. Hubungkan dengan satu perintah menggunakan uv; versinya dikunci: markitdown-mcp@0.0.1a7. Alat yang diterima Claude adalah convert_to_markdown(uri). Biaya saat tidak digunakan adalah ~110 token untuk deskripsi skill, dan nol saat tidak diperlukan.

MarkItDown dalam mode CLI berarti “saya mengonversi berkas secara manual sebelumnya”; server MCP berarti “Claude Code memutuskan kapan mengonversi.”

Instalasi

Anda memerlukan pengelola paket uv. Server tidak perlu dipasang secara terpisah; uv mengunduhnya saat pertama kali dijalankan.

Konfigurasi di Claude Code

Satu perintah menghubungkan server ke semua proyek Anda dengan versi yang dikunci:

claude mcp add --scope user --env 'ORT_DISABLE_TELEMETRY=1' --env 'UV_PYTHON=3.12' --transport stdio markitdown -- uvx markitdown-mcp@0.0.1a7
claude mcp list

Entri markitdown seharusnya bertuliskan “Connected.” Peluncuran pertama mengunduh sekitar tujuh puluh paket dan memerlukan waktu hingga satu menit; setelah itu, server mulai dalam satu atau dua detik.

Inilah alasan perintah memerlukan kedua variabel tersebut. ORT_DISABLE_TELEMETRY=1 menonaktifkan statistik yang secara default dikirim oleh mesin onnxruntime di dalam server ke Microsoft pada Mac dan Linux. UV_PYTHON=3.12 menjalankan server dengan Python 3.12, yang paket prabangunnya tersedia untuk Windows, Linux, dan Mac dengan Apple Silicon. Di Mac Intel dan macOS 13 atau versi lebih lama, server tidak dapat dipasang dengan Python 3.14. Ada catatan khusus untuk Intel dan 3.12: uv akan membangun pustaka cryptography dari sumber karena paket prabangun untuk Intel tidak tersedia sejak Juni 2026. Instalasi akan memakan waktu lebih lama dan mungkin gagal. Jika Anda tidak memiliki Python 3.12, uv akan mengunduhnya untuk Anda.

Server berjalan langsung di komputer Anda dan dapat membuka berkas apa pun yang dapat Anda akses. Jika Claude Code sedang terbuka, mulai ulang, lalu markitdown akan muncul dalam daftar server MCP.

Cara menggunakannya

Di Claude Code, cukup katakan:

Convert /Users/your-user/Documents/report.pdf to Markdown and analyze the main points.

Claude akan memanggil convert_to_markdown(uri) sendiri, menerima Markdown, lalu mengolahnya—PDF tidak dimuat ke dalam konteks sama sekali.

URI yang didukung

  • file:// - berkas lokal
  • http://, https:// - dokumen daring
  • data: - data sebaris (Base64)

Keamanan

Dari README resmi:

Server tidak mendukung otorisasi dan berjalan dengan izin pengguna yang menjalankannya.

— Microsoft, https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp

Secara default, server terikat ke localhost. Jika Anda menjalankannya melalui HTTP/SSE (opsi --http --host 127.0.0.1 --port 3001), jangan membuka port tersebut ke luar tanpa proksi balik yang terautentikasi.

Metode mana yang sebaiknya Anda pilih untuk tugas Anda?

Poin utama

MarkItDown adalah pilihan serba guna jika Anda bekerja dengan berbagai format (PDF + DOCX + PPTX + YouTube) dan memerlukan perintah CLI yang cepat. PyMuPDF4LLM adalah spesialis PDF: lebih cepat, dengan OCR dan pelestarian tautan, tetapi memiliki jebakan AGPL untuk SaaS. Docling siap untuk produksi dan paling baik menangani tabel dan rumus. Marker ditujukan untuk makalah ilmiah dengan matematika. Server MCP cocok jika Anda tidak ingin memikirkan konversi dan ingin Claude Code menentukan sendiri kapan mengonversi.

Tabel perbandingan lengkap:

AlatBintang GitHubCocok untukKecepatanLisensi
MarkItDown (Microsoft)134kPDF + DOCX + PPTX + YouTube + audioSedangMIT
PyMuPDF4LLM (Artifex)-PDF bawaan, OCR, URL yang disematkanTercepat (tanpa GPU)AGPL v3 / komersial
Docling (IBM Research)60.7kRAG produksi, tabel, rumusSedangMIT
Marker (datalab.to)35.6kPDF ilmiah, arXiv, rumusTinggi (dengan GPU)GPL-3.0 + Open Rail-M
MinerU-Dokumen CJK (Tionghoa/Jepang)TinggiApache-2.0

Marker mencantumkan angka akurasi yang mengesankan pada pengujian tolok ukur:

0.18 detik per halaman pada GPU H100 (122 halaman per detik). Akurasi 95.67% dibandingkan Llamaparse (84.24%) dan Mathpix (86.43%). Untuk makalah ilmiah, 96.67%.

— datalab.to, https://github.com/datalab-to/marker

Namun, Marker memerlukan GPU agar cepat dan menyertakan model pembelajaran mesin. Untuk sebagian besar tugas (PDF teks biasa), PyMuPDF4LLM atau MarkItDown dapat menyelesaikan pekerjaan dalam hitungan detik tanpa GPU.

Aturan sederhana untuk memilih

  1. Satu atau dua PDF, perlu cepat - MarkItDown CLI.
  2. Puluhan PDF, perlu otomatisasi - server MarkItDown MCP atau PyMuPDF4LLM dalam skrip.
  3. PDF dengan tautan dan gambar yang strukturnya perlu dipertahankan - PyMuPDF4LLM.
  4. RAG produksi untuk bisnis yang memerlukan tabel stabil - Docling.
  5. Makalah ilmiah dengan rumus - Marker.
  6. Tidak ingin memikirkannya; biarkan Claude mengonversi - server MarkItDown MCP.

Bagaimana cara menulis skrip siap pakai untuk mengonversi folder dokumen secara otomatis?

Poin utama

Pola yang paling praktis adalah skrip bash yang menelusuri folder proyek, mengonversi semua berkas PDF, DOCX, dan PPTX menjadi Markdown, lalu menyimpannya dalam subfolder _md/. Siapkan sekali, lalu setiap folder dokumen baru bisa menjadi “dapat dibaca Claude” dalam satu kali proses. Setelah itu, bawa _md/ ke Claude Code dengan @_md/ dan kerjakan teks yang sudah dipadatkan.

Contoh praktis: bayangkan Anda memiliki 40 laporan PDF dan PPTX dari klien dalam satu folder—laporan broker, kontrak, presentasi. Mengunggah folder tersebut langsung ke Claude tidak berguna: jendela konteks akan penuh sebelum jawaban pertama. Jalankan seluruh folder melalui skrip di bawah ini dalam satu proses, lalu lanjutkan pekerjaan dengan berkas .md yang ringan, bukan PDF yang besar.

Simpan skrip ini sebagai scripts/docs-to-md.sh di akar proyek:

#!/bin/bash
# docs-to-md.sh - converts all documents in a folder to Markdown using MarkItDown
# Usage: bash docs-to-md.sh ./documents

set -e

INPUT_DIR="${1:-./documents}"
OUTPUT_DIR="${INPUT_DIR}/_md"

mkdir -p "$OUTPUT_DIR"

echo "Scanning $INPUT_DIR..."

for file in "$INPUT_DIR"/*.{pdf,docx,pptx,xlsx}; do
  [ -f "$file" ] || continue

  basename=$(basename "$file")
  name="${basename%.*}"
  output="$OUTPUT_DIR/${name}.md"

  if [ -f "$output" ] && [ "$output" -nt "$file" ]; then
    echo "Skipping $basename (already converted)"
    continue
  fi

  echo "Converting $basename..."
  markitdown "$file" > "$output"
done

echo "Done. Results are in $OUTPUT_DIR"

Buat skrip ini dapat dieksekusi:

chmod +x scripts/docs-to-md.sh

Jalankan skrip:

bash scripts/docs-to-md.sh ./reports

Setelah dijalankan, ./reports/_md/ berisi versi .md dari semua dokumen. Bawa berkas-berkas tersebut ke Claude Code dengan @reports/_md/ dan kerjakan teks yang telah dipadatkan alih-alih PDF.

Skrip ini otomatis melewati berkas yang sudah dikonversi (jika berkas .md lebih baru daripada sumbernya)—menjalankannya kembali murah dan tidak mengulang perhitungan semuanya.

Idempotensi dan konversi inkremental

Jika Anda ingin skrip mendeteksi PDF yang telah berubah (disimpan ulang dengan nama yang sama), tambahkan pemeriksaan hash konten:

hash=$(shasum -a 256 "$file" | cut -d' ' -f1)
hash_file="$OUTPUT_DIR/.${name}.sha256"

if [ -f "$hash_file" ] && [ "$(cat "$hash_file")" = "$hash" ]; then
  echo "Skipping $basename (hash matches)"
  continue
fi

markitdown "$file" > "$output"
echo "$hash" > "$hash_file"

Versi ini mengonversi ulang berkas hanya jika kontennya berubah.

Kapan PDF di Claude tetap lebih baik daripada Markdown?

Poin utama

Konversi ke Markdown menghilangkan tiga hal: elemen visual (diagram, bagan, cetak biru), tabel kompleks dengan sel gabungan dan keterangan, serta format lengkap dokumen sebagai artefak (misalnya kontrak yang perlu Anda kutip berdasarkan halaman). Jika hal-hal tersebut penting bagi tugas, pertahankan PDF, aktifkan analisis visual, dan ketahui bahwa Anda membayar biaya visualnya.

Tiga situasi ketika konversi Markdown tidak memadai:

1. Analisis visual diagram dan bagan

Jika Claude perlu “membaca” bagan—kurva harga, diagram proses, atau diagram arsitektur—informasi itu tidak ada dalam Markdown. Markdown hanya mempertahankan keterangan gambar; gambarnya sendiri hilang.

Solusi: unggah PDF dan aktifkan mode visual secara eksplisit. Di Claude API, tanda ini berfungsi secara otomatis; di AWS Bedrock, Anda memerlukan tanda citations.

Claude menganalisis teks dan gambar untuk memahami dokumen dengan lebih baik.

— Anthropic, https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support

2. Tabel kompleks dengan sel gabungan

Tabel Markdown berbentuk datar. Jika PDF memiliki tabel dengan sel gabungan, header bertingkat, atau subtabel bersarang, konverter akan meratakannya atau menghilangkan hubungan antarbagian.

Solusi: gunakan PDF langsung, gunakan Docling (yang menangani tabel kompleks dengan paling baik), atau format secara manual setelah konversi.

3. Dokumen sebagai artefak dengan referensi halaman

Untuk dokumen hukum, kontrak, dan notulen, Anda perlu dapat mengutip “halaman 7, paragraf 3.” Nomor halaman hilang dalam Markdown.

Solusi: PDF + Files API + prompt caching. Unggah sekali, lalu rujuk dengan file_id; Claude dapat melihat penomoran halaman dan mengutip halaman tertentu.

Dokumen pendek

Jika PDF kurang dari 2 halaman dan hanya digunakan sekali, konversi tidak sepadan. Penggunaan 5,000 token untuk PDF dibandingkan 800 untuk Markdown tidak cukup hemat untuk membenarkan pemasangan MarkItDown.

Titik impasnya sekitar 5+ halaman atau 2+ kali penggunaan dokumen yang sama. Di bawah itu, unggah PDF langsung; di atas itu, konversikan.

Apa 5 kesalahan paling umum yang dilakukan orang saat menggunakan PDF di Claude?

Poin utama

Masalah utamanya: mengunggah ulang PDF yang sama di obrolan berbeda alih-alih mengonversinya sekali, tidak menggunakan prompt caching untuk permintaan berulang, menggunakan tangkapan layar alih-alih teks, tidak melakukan OCR pada PDF hasil pemindaian, dan mengabaikan batas 100 halaman untuk model dengan konteks 200K. Setiap kesalahan membuang puluhan ribu token tanpa alasan yang baik.

1. Mengunggah PDF yang sama di obrolan baru setiap kali

Claude Pro memiliki batas pesan selama 5 jam—satu laporan 50 halaman dapat menghabiskannya sebelum Anda mengajukan pertanyaan kedua.

Ada prinsip sederhana untuk ini: satu tugas—satu obrolan. Saat AI mulai menghabiskan jumlah token yang tidak masuk akal, artinya Anda menjejalkan semuanya ke satu obrolan dan mengunggah PDF berulang kali. Simpan satu tugas mikro di setiap jendela. Konversikan dokumen ke Markdown sekali, lalu tambahkan berkas .md ke setiap jendela baru bersama proyek. Lingkaran jendela konteks tidak akan berubah menjadi kuning.

Solusi: konversikan ke Markdown sekali, atau gunakan Files API dengan file_id dan prompt caching.

2. Tangkapan layar alih-alih teks

Contoh umum: seseorang ingin menunjukkan sepotong kode atau tabel kepada Claude, mengambil tangkapan layar seluruh layar berukuran 1920×1080, lalu bertanya-tanya mengapa batasnya habis setelah 5 permintaan.

Tangkapan layar 1000×1000 piksel berbiaya ~1,300 token. Teks yang sama jika disalin secara manual berbiaya 50–100 token. Selisihnya 13–26 kali lipat.

Solusi: potong tangkapan layar secara rapat (hanya bagian penting), atau lebih baik lagi, salin teksnya langsung.

3. PDF hasil pemindaian tanpa OCR

MarkItDown tidak dapat melakukan OCR. Jika Anda mengonversi hasil pemindaian, hasilnya berupa berkas .md kosong (atau 3 baris teks acak).

Solusi: untuk hasil pemindaian, gunakan PyMuPDF4LLM (dengan OCR cerdas bawaan) atau Docling.

4. Mengabaikan batas 100 halaman

Dokumentasi Anthropic menetapkan batas 600 halaman per permintaan—namun dalam praktiknya, batas untuk model dengan konteks 200K (Sonnet 4.x, Opus 4.x) adalah 100 halaman. Batas 600 halaman ditujukan untuk model lama atau tingkat khusus.

Jika Anda mengunggah laporan 150 halaman ke Sonnet 4.6, Anda akan mendapat kesalahan atau, lebih buruk, Claude hanya akan memproses 100 halaman pertama dan bertindak seolah-olah telah membaca seluruh dokumen.

Solusi: bagi PDF panjang menjadi beberapa bagian sebelum mengunggah. Atau konversikan ke Markdown—tidak ada batas halaman, hanya batas token.

5. Tidak menggunakan prompt caching untuk permintaan berulang

Jika Anda bekerja dengan dokumen yang sama melalui API, bungkus dengan cache_control: ephemeral. Panggilan berulang dalam 5 menit berbiaya 10% dari harga awal. Satu permintaan berbiaya lebih tinggi; sisanya mendapat diskon 90%.

Solusi: aktifkan prompt caching secara default untuk apa pun yang Anda unggah lebih dari sekali.

Selanjutnya: rekayasa konteks

Poin utama

Mengonversi PDF ke Markdown adalah salah satu teknik rekayasa konteks, literasi baru untuk bekerja dengan AI. Prompt adalah pertanyaan. Konteks adalah segala sesuatu yang dilihat Claude sebelum dan di sekitar pertanyaan: system prompt, CLAUDE.md, berkas, server MCP, dan riwayat sesi. Semakin bersih konteksnya, semakin akurat jawabannya dan semakin rendah biayanya. Baca analisis lengkapnya dalam panduan “Context Engineering in 2026.”

PDF-ke-Markdown adalah salah satu cara untuk menghemat token. Cara ini sendiri tidak membuat jawaban Claude lebih akurat. Akurasi berasal dari rekayasa konteks—disiplin tentang apa yang Anda masukkan ke dalam konteks model sebelum mengajukan pertanyaan.

Jika CLAUDE.md Anda memiliki 800 baris, proyek Anda memiliki 10 server MCP yang tidak diperlukan, dan Anda membawa PDF 100 halaman, konversi Markdown akan mencegah satu kebocoran, tetapi tiga lainnya tetap ada. Itulah alasan panduan-panduan ini membahas:

Lanjutkan menjelajahi Ailoot di ailoot.ai.

Rincian selengkapnya

Pertanyaan tentang PDF di Claude Code: Konversi, Token, dan Mempertahankan Struktur

Berapa token Markdown yang dipakai contoh 15 halaman dan empat chat?

Dengan asumsi artikel 300 token per halaman terkonversi, totalnya 15 × 300 × 4 = 18,000 token input. Ini perkiraan ilustratif; hitung token dokumen terkonversi untuk file Anda sendiri.

Apakah konversi teks cukup untuk setiap PDF?

Tidak. Periksa Markdown terkonversi terhadap PDF, terutama tabel, urutan halaman, dan konten yang bergantung pada gambar. Bandingkan token hanya setelah memastikan informasi yang diperlukan tugas tetap ada setelah konversi.

Semua artikel