Transformer un manuel technique ou une base de connaissances PDF interne en un Skill directement invocable par Claude Code est de plus en plus courant en 2026 – mais entre « ça fonctionne » et « je sais ce que ça coûte et à quelle vitesse » il y a un monde.
Voici un guide complet de déploiement book-to-skill : du parsing PDF au packaging Skill, chaque phase est analysée en termes de prérequis environnementaux, temps de traitement et structure de coûts, avec des données de benchmark Cloud Mac M4. Pas un document marketing, mais une liste de vérification à apporter en revue d'architecture.
1. Qu'est-ce que book-to-skill ?
book-to-skill est un workflow qui transforme des livres, spécifications techniques et documents PDF internes en Claude Skills (paquets de compétences de connaissances invocables par Claude Code). Cas d'usage principaux :
- Documentation technique : Références API, manuels SDK, spécifications de protocole — Claude Code peut les consulter directement lors du codage, sans retrieval RAG à chaque fois
- Spécifications : Normes nationales, standards industriels, documents de conformité — packagisés comme « moteur de règles » pour agents, invocables à tout moment
- Bases de connaissances privées : Rapports de recherche internes, manuels produit, matériaux de formation — couche de connaissances exclusive à l'organisation, sans upload vers des tiers
book-to-skill vs RAG classique
Le RAG classique fonctionne selon le principe « recherche + réponse en temps réel » et parcourt la chaîne de retrieval à chaque appel. book-to-skill packagise les connaissances de façon structurée en Skill, permettant à Claude Code d'accéder précisément à des chapitres ou entrées spécifiques selon les besoins. Plus adapté aux bases de connaissances structurées et fréquemment consultées. Les deux approches peuvent coexister : RAG pour le filtrage grossier, Skill pour la référence précise.
2. Vue d'ensemble du pipeline complet
Un pipeline book-to-skill complet se compose de cinq phases :
Fichier PDF
↓
[Phase 1] Parsing PDF (Docling / MinerU)
→ Markdown / JSON structuré (avec hiérarchie de titres, tableaux, formules)
↓
[Phase 2] Chunking de texte
→ Blocs de paragraphes sémantiques (300–600 tokens / chunk)
↓
[Phase 3] Embedding
→ Vecteurs denses (768 / 1024 / 1536 dimensions)
↓
[Phase 4] Stockage vectoriel (Qdrant / Chroma / PGVector)
→ Index vectoriel consultable + métadonnées originales
↓
[Phase 5] Packaging Skill
→ Description d'outil CLAUDE.md + enregistrement outil MCP + logique de retrieval
↓
Appel Claude Code
3. Phase 1 : Parsing PDF
Choix d'outil : Docling vs MinerU
Comparaison des principaux parsers PDF open source en 2026 :
| Outil | Points forts | Tableaux/Charts | Support CJK | Accélération GPU | Licence |
|---|---|---|---|---|---|
| Docling | Articles scientifiques, spécifications structurées | Excellent (DocLayNet) | Bon | Oui (CUDA) | MIT |
| MinerU | Documents CJK, mise en page mixte | Bon | Excellent | Oui (CUDA / MPS) | AGPL-3.0 |
| LlamaParse | Prototypage rapide, hébergé cloud | Bon | Moyen | Cloud (pas local) | Commercial |
| Marker | PDFs à fort contenu textuel | Moyen | Moyen | Oui (CUDA) | GPL-3.0 |
Recommandation : Documentation technique en anglais → Docling ; documents CJK/mise en page mixte → MinerU. Les deux produisent du Markdown structuré.
Estimation du coût de parsing
| Scénario | Matériel | Durée PDF 300 pages | Coût de calcul (référence) | Remarques |
|---|---|---|---|---|
| Mode CPU (local) | M4 Pro / 8 cœurs x86 | 8–15 min | Électricité négligeable (~$0,01) | Pour petits/moyens lots, sans GPU |
| Mode CPU (serveur cloud) | 4 vCPU / 8 Go RAM | 10–20 min | ~$0,05–0,15/livre | Facturation horaire, coût baisse à l'échelle |
| Accélération GPU (CUDA) | RTX 4090 / A10G | 2–5 min | ~$0,02–0,05/livre | Temps GPU environ $0,35–0,80/heure |
| Accélération GPU (MPS, M4) | Apple M4 Max | 3–6 min | Électricité ~$0,005/livre | Support MPS MinerU ; certaines ops Docling retombent sur CPU |
| API cloud (LlamaParse) | Hébergé | 1–3 min | ~$0,003/page → ~$0,90/livre | Pas d'env local, mais transfert de données hors frontières |
Ne pas négliger les dépendances d'environnement de parsing
Docling et MinerU nécessitent des environnements Python lourds (PyTorch, fichiers de modèles OCR 1–3 Go). Installation initiale environ 5–10 min ; image Docker recommandée pour figer les dépendances. Python ≥ 3.10, 3.11 recommandé.
4. Phase 2 : Chunking de texte
La stratégie de chunking impacte directement la qualité du retrieval et les coûts d'embedding :
- Chunking à taille fixe : Le plus simple, découpage par nombre de tokens (300–500 tokens + 50 tokens de chevauchement). Pour documents purement narratifs.
- Chunking sémantique : Découpage selon hiérarchie de titres et frontières de paragraphes. L'output structuré de Docling/MinerU le supporte nativement — à privilégier.
- Chunking récursif de caractères (LangChain RecursiveCharacterTextSplitter) : Solution de repli quand les frontières sémantiques sont floues.
Paramètres de chunking recommandés :
# Configuration recommandée (documentation technique)
chunk_size = 400 # tokens
chunk_overlap = 60 # chevauchement pour éviter la troncature sémantique
min_chunk_size = 80 # rejeter les blocs trop courts (lignes de titre pures)
max_chunk_size = 600 # limiter les paragraphes trop longs
Le chunking lui-même consomme peu de ressources de calcul (CPU, millisecondes), coût négligeable.
5. Phase 3 : Embedding
Solution API cloud
| Service | Modèle | Dimensions | Prix ($/M tokens) | Estimation livre 300 pages (~150K tokens) |
|---|---|---|---|---|
| OpenAI | text-embedding-3-small | 1536 | $0,02 | ~$0,003 |
| OpenAI | text-embedding-3-large | 3072 | $0,13 | ~$0,02 |
| Cohere | embed-v4.0 | 1024 | $0,10 | ~$0,015 |
| Voyage AI | voyage-3 | 1024 | $0,06 | ~$0,009 |
| Jina AI | jina-embeddings-v3 | 1024 | $0,02 | ~$0,003 |
Modèle local
| Modèle | Dimensions | Mémoire requise | Vitesse M4 (tokens/s) | Durée livre 300 pages |
|---|---|---|---|---|
| bge-m3 (BAAI) | 1024 | ~2,5 Go | ~3 000 | ~50 s |
| nomic-embed-text-v1.5 | 768 | ~0,8 Go | ~6 000 | ~25 s |
| mxbai-embed-large-v1 | 1024 | ~1,3 Go | ~4 500 | ~33 s |
| text2vec-large-chinese | 1024 | ~1,4 Go | ~4 000 | ~38 s |
Coût embedding local ≈ $0 (électricité seulement, négligeable). Pour les bases de connaissances privées en intranet ou scénarios avec exigences de conformité élevées, le modèle local est le premier choix.
6. Phase 4 : Stockage vectoriel
| Solution | Déploiement | Quota gratuit | Payant (référence) | Adapté à |
|---|---|---|---|---|
| Qdrant Cloud | Hébergé / Self-hosted | 1 Go (env. 1M vecteurs) | $25/mois (8 Go) | Grandes bases, filtrage haute performance |
| Chroma | Local / Embarqué | Illimité (local) | $0 (self-hosted) | Développement/tests, petites bases locales |
| PGVector | Extension PostgreSQL | Selon instance PG | Facturé avec l'instance PG | Équipes avec infrastructure PG existante |
| Weaviate Cloud | Hébergé | Sandbox (14 jours) | $25/mois | Recherche hybride nécessaire (vecteur + BM25) |
| Qdrant local | Docker self-hosted | Gratuit | $0 + coût serveur | Environnement hors ligne, données restent locales |
Estimation du volume de stockage : Un vecteur à 1024 dimensions ≈ 4 Ko (float32) ; un livre de 300 pages génère environ 800–1200 chunks, soit ~3–5 Mo de stockage vectoriel, ~10–20 Mo avec métadonnées. Base de taille modeste (50 livres) ~500 Mo–1 Go, tier gratuit Qdrant Cloud suffisant.
7. Phase 5 : Packaging Skill et intégration Claude Code
Le packaging Skill consiste à indiquer à Claude Code « ce que ce Skill peut faire et comment l'invoquer ». Structure typique :
my-knowledge-skill/
├── CLAUDE.md # Description du Skill, cas d'usage, exemples d'appel
├── mcp_server.py # Serveur d'outil MCP (interface de retrieval)
├── config.json # Configuration connexion base vectorielle
└── requirements.txt # Déclaration des dépendances
Exemple CLAUDE.md (version condensée) :
# TechSpec Knowledge Skill
## Utilisation
Consultation des spécifications techniques de l'entreprise (version v3.2), incluant standards de conception API, guide de style de code, checklist de revue de sécurité.
## Outils
- `search_spec(query: str, top_k: int = 3)` — Recherche sémantique, retourne les paragraphes les plus pertinents et la section source
- `get_section(section_id: str)` — Récupère le contenu complet d'une section donnée
## Exemples d'utilisation
- "Consulter les standards de versioning REST API"
- "Obtenir les exigences de revue de sécurité du chapitre 3"
Coût packaging Skill : $0. L'investissement principal est le temps de développement (environ 2–4 heures la première fois, réutilisable en 30 min après templatisation).
8. Tableau récapitulatif des coûts
Base : un PDF technique de 300 pages (environ 150K tokens), pipeline complet :
| Phase | Coût minimal | Cloud typique | Haute performance | Remarques |
|---|---|---|---|---|
| Parsing PDF | $0 (CPU local) | $0,05–0,15 | $0,02–0,05 (GPU) | MinerU/Docling self-hosted |
| Chunking texte | $0 | $0 | $0 | Calcul CPU pur |
| Embedding | $0 (modèle local) | $0,003–0,02 | $0,02 (text-embedding-3-large) | bge-m3 local proche qualité cloud |
| Stockage vectoriel (unique) | $0 (Chroma local) | $0 (Qdrant gratuit) | $25/mois (Qdrant 8 Go) | Jusqu'à 50 livres tier gratuit suffit |
| Packaging Skill | $0 | $0 | $0 | Temps dev en sus |
| Total par livre | ~$0 (tout local) | $0,05–0,20 | $0,04–0,07 | Coûts d'appel Claude non inclus |
Coûts d'appel Claude Skill (selon utilisation réelle) : chaque appel de retrieval transmet environ 500–2000 tokens de contexte à Claude ; avec Claude Sonnet 4.5, environ $0,003–0,006/appel. Pour les requêtes fréquentes, utiliser Haiku pour le routing, monter sur Sonnet/Opus uniquement pour le raisonnement complexe.
Évolution des coûts à l'échelle
Base de 100 livres : solution entièrement locale coût de construction presque $0 ; embedding API cloud environ $1–5 ; stockage vectoriel Qdrant payant environ $25–50/mois. Plus l'échelle est grande, plus l'avantage de la solution locale est marqué.
9. Données de benchmark Cloud Mac M4
Données mesurées sur Vuncloud Cloud Mac M4 Pro (CPU 12 cœurs / 18 Go mémoire unifiée) :
| Tâche | Configuration | Durée | Pic mémoire |
|---|---|---|---|
| Parsing MinerU (PDF CJK, 300 pages) | Mode CPU | 9 min 23 s | 4,2 Go |
| Parsing Docling (spécification anglaise, 200 pages) | CPU + MPS mixte | 5 min 41 s | 5,8 Go |
| Embedding bge-m3 (150K tokens) | Accélération MPS | 48 s | 2,9 Go |
| Embedding nomic-embed (150K tokens) | Accélération MPS | 22 s | 1,1 Go |
| Écriture Qdrant local (1 000 vecteurs) | Docker local | 1,2 s | 0,3 Go |
| Pipeline complet (300 pages, local) | M4 Pro | ~12 min | Pic 6 Go |
Les 18 Go de mémoire unifiée du M4 Pro permettent de maintenir simultanément le modèle de parsing et le modèle d'embedding en mémoire sans swap. Pour des scénarios de 5–20 documents par jour, un seul Cloud Mac M4 Pro suffit.
10. Recommandations d'optimisation
Stratégie de mise à jour incrémentale
Ne pas reconstruire l'index complet à chaque changement. Calculer un hash de contenu pour chaque document, ne re-parser et re-embedder que les pages nouvelles/modifiées :
import hashlib
def get_doc_hash(pdf_path: str) -> str:
with open(pdf_path, "rb") as f:
return hashlib.sha256(f.read()).hexdigest()[:16]
existing = qdrant.scroll(
collection_name="knowledge",
scroll_filter={"must": [{"key": "doc_hash", "match": {"value": doc_hash}}]},
limit=1
)
if existing[0]:
print(f"Document {pdf_path} inchangé, reconstruction ignorée")
Traitement par lots des grandes bases
Pour 100+ livres : diviser par priorité en lots, indexer d'abord les documents fréquemment consultés, traiter le reste en asynchrone. Utiliser Celery ou une file de tâches simple pour éviter les débordements mémoire.
Stratégie de cache
- Cache de retrieval : Vecteur d'embedding d'une même requête mis en cache 1 heure (Redis / dict en mémoire)
- Cache de résultats : Résultats top-k des requêtes fréquentes mis en cache 15 minutes
- Cache de réponses Skill : Requêtes structurées (ex : « récupérer chapitre 3 ») en cache permanent, invalidé lors d'une mise à jour de document
Amélioration de la qualité du Skill
- Pour les documents importants, utiliser un index double-vecteur : vecteurs denses (sémantique) + vecteurs sparse (BM25) pour la recherche hybride
- Ajouter un contexte de nœud parent à chaque chunk (pattern Parent Document Retriever)
- Évaluation régulière de la qualité de retrieval : préparer 20–50 paires Q&R standard, tester le recall top-3
FAQ
Quelle est la différence entre book-to-skill et le RAG classique ?
RAG classique : « recherche + réponse temps réel », la chaîne de retrieval est parcourue à chaque appel. book-to-skill : connaissances packagisées en Skill pour accès précis. Les deux approches sont combinables.
Combien coûte le traitement d'un PDF de 300 pages ?
Parsing seulement : CPU ~$0,05–0,15, GPU ~$0,02–0,05. Embedding (~150K tokens) : API cloud ~$0,003–0,02, local ~$0. Pipeline complet : cloud ~$0,05–0,20, entièrement local ~$0.
Comment choisir entre Docling et MinerU ?
Docling pour articles scientifiques et documents riches en tableaux ; MinerU pour documents CJK et mises en page mixtes. Les deux supportent CPU/GPU, accélération GPU ~3–5× plus rapide. Tester les deux avec vos documents cibles avant de décider.
Est-ce que le Cloud Mac M4 vaut la peine ?
La mémoire unifiée M4 est très favorable aux modèles d'embedding locaux. 16–24 Go suffisent pour parsing + embedding simultanés sans GPU. Idéal pour bases de taille moyenne (< 500 livres) et débogage local.
Comment réduire les coûts d'appel Claude Skill ?
1. Ne retourner que des fragments précis (< 2K tokens). 2. Mises à jour incrémentales. 3. Cache local pour requêtes fréquentes. 4. Haiku pour routage, Sonnet/Opus uniquement pour raisonnement complexe.
Conclusion
Les coûts de déploiement book-to-skill sont bien inférieurs aux attentes : un PDF technique de 300 pages en solution entièrement locale coûte presque $0, solution cloud API seulement $0,05–0,20. Le vrai investissement est le temps de développement (premier pipeline ~1–2 jours) et les coûts récurrents de stockage vectoriel (grandes bases $25+/mois).
Trois décisions clés :
- Conformité des données en priorité : données internes → parsing local + embedding local de préférence.
- L'échelle détermine la solution : < 50 livres : Chroma + local ; 50–500 livres : Qdrant Cloud gratuit ; 500+ livres : Qdrant self-hosted.
- Qualité via évaluation : après construction du pipeline, tester le recall avec de vraies paires Q&R.
Faire tourner book-to-skill sur Cloud Mac M4 ?
La mémoire unifiée M4 permet de compléter parsing + embedding + stockage vectoriel sur une seule machine. Vuncloud Cloud Mac supporte les tâches de fond longue durée pour la construction de bases hors ligne.
Lectures associées
- Comparatif parsers PDF 2026 : Docling, MinerU, LlamaParse, Marker
- Meilleurs frameworks AI Agent Memory 2026
- Guide complet d'optimisation des performances DeepSeek 2026
- Guide tarifs, spécifications et performances API LLM
Données de coûts basées sur les tarifs publics d'août 2026, à titre indicatif uniquement. Vérifier les sites officiels de chaque fournisseur. Dernière mise à jour : 10 août 2026.