Klient przyszedł z pytaniem. “Chcę zbudować AI asystenta dla naszych 15 000 dokumentów. Fine-tune modelu czy RAG?”. Trzy godziny dyskusji, jasny wybór, projekt uruchomiony w 6 tygodni.

Rok wcześniej ten sam klient przyszedł do konkurencji. Konkurencja wybrała fine-tuning. 4 miesiące projektu, $80k budżetu, wynik nie działał. Klient anulował.

Różnica? Nie w skills wykonawców. W wyborze techniki. Fine-tuning był zły choice dla tego use case’u.

Ten post to konkretne decision framework, którego używam w agencji. Kiedy co wybrać, jakie są trade-offs, jak nie stracić miesięcy na złej decyzji.

Trzy techniki: co to jest

Prompting. Piszesz smart prompty do modelu. Model generuje odpowiedź na podstawie swojej wiedzy plus context w prompcie. Zero training, zero infrastruktury.

RAG (Retrieval Augmented Generation). Twoje dokumenty w vector database. Query search’uje najlepsze dokumenty, wstawia do promptu, model odpowiada. Wiedza w bazie, model bez zmian.

Fine-tuning. Trenuje model na Twoich danych. Nowe wagi modelu, dostosowane do Twoich potrzeb. Wiedza wbudowana w model.

Wszystkie trzy mogą być combined. Ale zaczynasz zwykle od jednego.

Prompting: gdzie zaczynasz

Prompting to default. Zawsze zaczynaj tu.

Kiedy prompting wystarcza:

  • Zadanie może być wyjaśnione w promptie
  • Context dostarczalny (< 200k tokenów)
  • Ogólna wiedza modelu wystarcza
  • Nie potrzebujesz specific style/format constraints
  • Prototyp / MVP

Konkretne use cases:

  • Chatbot na FAQ (10-50 pytań)
  • Summarization
  • Klasyfikacja emaili
  • Code review basic
  • Translation
  • Simple content generation

Koszty:

  • Pay per token, no upfront
  • $2-15/M tokens dla Claude/GPT-4
  • Setup: 0 (write prompt, ship)

Pisałem szerzej o promptowaniu. Solid prompts pokrywają 60-70% AI use cases.

RAG: kiedy dane są duże

RAG (Retrieval Augmented Generation) to następny level.

Kiedy RAG:

  • Duża baza wiedzy (> 200k tokenów)
  • Wiedza zmienia się (dokumentacja, ceny, polityki)
  • Compliance / audit trail wymagany
  • Multi-tenant (każdy klient własne dane)
  • Model musi cite sources

Konkretne use cases:

  • Customer support na 10k artykułów wiedzy
  • Legal research na tysiące dokumentów prawnych
  • Internal Q&A na company documentation
  • Product search z natural language queries
  • Medical Q&A na medical literature

Koszty:

  • Setup: 4-8 tygodni development
  • Infrastructure: $50-500/miesiąc (vector DB + embeddings)
  • Per query: $0.10-1.00 (embedding + retrieval + LLM)

Pisałem szczegółowy deep dive w RAG. Detale infrastructure, chunking, retrieval - tam.

Fine-tuning: rzadko, ale czasem konieczne

Fine-tuning to najcięższa opcja.

Kiedy fine-tuning:

  • Specyficzny styl output (marka, tone of voice)
  • Ekstremalnie niche domain (nietypowy jargon, non-English languages)
  • Behavioral changes (jak model reasoning się zmienia)
  • Cost optimization dla wysokiego volume (fine-tuned model może być tańszy per token niż flagship)
  • Latency requirements (fine-tuned model może być szybszy)
  • Constraints w output format (JSON schema perfectly followed)

Konkretne use cases:

  • Content generation w brand voice
  • Legal document analysis w very specific jurisdiction
  • Medical diagnosis assistance z specialized vocabulary
  • Code generation w firmowym coding style
  • Translation dla rzadkiego dialektu

Koszty:

  • Training: $500-5000 dla small model, $10k-100k dla large
  • Data preparation: 100-1000 hours (bo dobrych danych trudno zebrać)
  • Iteration: kilkanaście rund fine-tuning
  • Inference: hosting fine-tuned model (own infrastructure albo Together.ai, Anthropic Fine-tuning)

Fine-tuning to nie “prompt is failing, let’s fine-tune”. To specific solution dla specific problems.

Decision framework

Pytania, które sobie zadaję dla każdego AI projektu.

Q1: Ile danych masz?

  • < 100k tokenów total → Prompting (włącz do system prompt)
  • 100k - 10M tokenów → RAG
  • 10M tokenów → RAG plus może fine-tuning

Q2: Jak często dane się zmieniają?

  • Nigdy / roczne updates → Fine-tuning możliwe
  • Kwartalne / miesięczne → RAG
  • Codzienne / real-time → RAG bezdyskusyjnie

Q3: Czy potrzebujesz cite sources?

  • Tak (compliance, audit) → RAG
  • Nie → Prompting albo Fine-tuning

Q4: Jak specyficzny jest styl output?

  • Ogólny (jak Claude/GPT) → Prompting
  • Konkretna marka, specific format → Fine-tuning (albo bardzo detailed prompting)

Q5: Jaki volume queries?

  • < 1000/day → Prompting albo RAG (koszty low)
  • 1000 - 100k/day → RAG (koszty matter)
  • 100k/day → RAG plus caching albo fine-tuning dla cost optimization

Q6: Jak dostępne są dane treningowe?

  • Nie mam labeled data → Prompting albo RAG
  • Mam 100-1000 examples → Prompting z few-shot examples
  • Mam 10k+ examples → Fine-tuning możliwe

Q7: Ile masz czasu?

  • 1-2 tygodnie → Prompting
  • 1-3 miesiące → RAG
  • 3-6 miesięcy → Fine-tuning możliwe

Kombinowanie technik

Najbardziej sophisticated systemy używają wszystkich trzech.

Layer 1: Prompting (foundation)

Wszystkie interakcje mają starannie napisany system prompt.

Layer 2: RAG (context)

Query trafia najpierw do RAG. Retrieved context wstawiony do prompt.

Layer 3: Fine-tuned model (execution)

Prompt (z context) idzie do fine-tuned modelu dla specific behavior.

Przykład: legal AI assistant.

  • Fine-tuned Claude na legal reasoning (understands cases, precedents structure)
  • RAG na klient’s case files (retrieves relevant docs)
  • Prompting dla case-specific instructions (“focus on financial aspects”)

Wszystko razem: super-powerful, expensive to build, worth it dla enterprise.

Real examples z mojej praktyki

Konkretne projekty klientów.

Case 1: Customer support chatbot dla e-commerce

Dane: 200 FAQ entries, 500 kategorii produktów, 5000 wcześniejszych ticketów.

Decision: Prompting z few-shot examples. RAG dla katalogu produktów.

Rezultat: 4 tygodnie development. 60% ticketów resolved automatycznie. Cost $200/miesiąc.

Dlaczego nie fine-tuning: dane changeable (nowe produkty, sezonowe promocje), volume nie justify (5000 conversations/miesiąc).

Dane: 15 000 court decisions, 2000 statutes, 50 legal treatises.

Decision: RAG z reranking.

Rezultat: 8 tygodni development. Prawnik uses codziennie. Dokładność 90%+ na typowych queries. Cost $500/miesiąc.

Dlaczego nie fine-tuning: dane update częste (nowe orzeczenia), need to cite sources (compliance), potential future addition of more documents.

Case 3: Content generation w brand voice

Dane: 3000 postów blogowych klienta, 500 social media postów.

Decision: Fine-tuning małego modelu (Llama 3 8B) na brand content.

Rezultat: 6 tygodni development plus data preparation. $8000 total cost. Deploys na własnym GPU. Generuje 200 postów/miesiąc.

Dlaczego fine-tuning: brand voice bardzo specific, potrzeba scale (200 postów miesięcznie), koszty per generation matter (Claude by cost $2/post × 200 = $400 vs fine-tuned $50/miesiąc total).

Case 4: Code review agent dla senior devs

Dane: 50 000 code reviews z historii firmy.

Decision: RAG na past reviews plus Claude Sonnet dla analizy.

Rezultat: 6 tygodni development. Senior devs cut review time o 40%. Cost $300/miesiąc.

Dlaczego nie fine-tuning: Claude Sonnet już świetny w code, brak need dla specialized reasoning.

Case 5: Medical Q&A dla clinics

Dane: 5000 medical papers, 2000 clinical guidelines, drug database.

Decision: RAG plus safety guardrails.

Rezultat: 10 tygodni development, extensive validation. Deployed w 3 clinics. Cost $1000/miesiąc.

Dlaczego nie fine-tuning: safety critical (halucynacje nieakceptowalne), need to cite sources, data change regularly (new guidelines).

Kiedy fine-tuning ma naprawdę sens

Konkretne signals, że fine-tuning jest right choice:

1. Wysoki volume. 100k+ requests dziennie. Fine-tuned model 10x tańszy per request niż flagship.

2. Bardzo konkretny task. “Classify emails as spam/urgent/normal” z 20k labeled examples. Fine-tune małego modelu, super fast, super cheap.

3. Latency krytyczna. Fine-tuned 8B model runs w 100ms. Claude 4o w 1-3 sekundy.

4. Bardzo specyficzny output format. JSON schema exactly followed, brand voice replicated, specific reasoning pattern.

5. Data static. Historical data, nie zmienia się co miesiąc.

6. Privacy critical. Musisz self-host, nie możesz używać API providera.

If less than 2-3 z tych, prompting lub RAG lepsze.

Koszty porównania

Konkretne liczby dla typowej aplikacji (10k queries/day, 500 tokens per query).

Prompting (Claude Sonnet):

  • Setup: $0
  • Per month: 300k queries × 500 tokens × 2 = 300M tokens = $900

RAG (Claude Sonnet plus vector DB):

  • Setup: $10k-30k development
  • Per month: LLM $900 + Vector DB $100 + Embeddings $50 = $1050

Fine-tuning (Llama 3 8B, self-hosted):

  • Setup: $10k development + $2k training + $50k data prep = $62k
  • Per month: GPU hosting $500 + minor operational = $500

Break-even fine-tuning vs prompting: 8-12 miesięcy dla tego volume.

Break-even RAG vs prompting: 0 miesięcy (RAG jest slightly droższe, ale gives features prompting can’t).

Migration path

Rzadko zaczynasz od fine-tuning. Typowy path:

Miesiąc 1-2: Prototyp z pure prompting. Sprawdzasz, czy problem jest solvable.

Miesiąc 3-6: MVP z RAG. Skalowanie do more data. Handling edge cases.

Miesiąc 6-12: Optimization. Prompt tuning, better retrieval, caching, reranking.

Rok 2+: Maybe fine-tuning dla specific bottlenecks. Cost optimization, latency, brand voice.

Fine-tuning jako first step to bardzo rzadko dobra decyzja. Prompting jako pierwsza is almost always right.

Częste błędy

Fine-tuning zamiast dobrego promptingu. Klient chce “smart AI”. Zaczynasz od fine-tuning $50k. Prosty prompt with examples by dał 90% jakości za $50.

RAG bez evaluation. Setup RAG, “działa demo”, release. Real users find 30 hallucinations. Bez metrics jesteś ślepy.

Prompting bez few-shot examples. “Do X”. Model guesses. Add 3-5 examples w promptie, quality jumps 2x.

Vendor lock-in. Fine-tune na OpenAI. Za rok OpenAI zmienia pricing. Stuck. Multi-provider setup od dnia 1 (OpenRouter helpful).

Ignorowanie ewaluacji. Bez metrics nie wiesz, czy release’y poprawiają czy pogarszają. Add eval framework early.

Overspending on infrastructure. Pinecone dla 5k documents. Overkill. pgvector free.

Missing security. Fine-tuned model trained on sensitive data zwraca sensitive data w responses. Data leakage. Sanitize training data.

Alternatives dla fine-tuningu

Zamiast full fine-tuning, cheaper alternatives:

Few-shot examples. 3-10 examples w system prompt. Model learns w context. Zero training.

Prompt caching. Anthropic supports caching long prompts. Cache hit = 90% discount. Reasoning na long context bez cost.

Retrieval augmentation (RAG). Wiedza w bazie, dynamic retrieval.

Structured output constraints. Zamiast fine-tuning na JSON output, use OpenAI structured outputs feature. Guarantees format bez training.

LoRA / QLoRA. Cheaper alternative do full fine-tuning. Train adapter layers only. 10x cheaper, 80% quality.

Rzadko fine-tuning to jedyna opcja. Check alternatives first.

Model wyboru: który base model do fine-tune

Jeśli decydujesz się na fine-tuning, wybór base:

GPT-4o mini (OpenAI). Managed fine-tuning API. $2 per M training tokens, $0.30 per M inference. Best balance quality/cost.

Claude Haiku (Anthropic). Fine-tuning available przez enterprise plans. Better reasoning niż GPT-4o mini.

Llama 3.3 70B (Meta). Open source. Self-host lub cloud (Together.ai, Fireworks). Best jakość dla open source.

Llama 3 8B (Meta). Mały, szybki, tani. Perfect dla wysokiego volume simple tasks.

Mistral 7B/22B. Open source, competitive z Llama.

DeepSeek V3. Rising player, świetna jakość, tanie inference.

Dla większości fine-tuning cases: Llama 3.3 70B open source, hosted na Together.ai. Balance cost, quality, control.

Co czytać dalej

  • “AI Engineering” Chip Huyen. Świeża 2024, praktyczna.
  • Anthropic Cookbook. Real examples fine-tuning i RAG.
  • OpenAI fine-tuning docs. Best-in-class documentation.
  • Papers: RAG, Instruction Tuning, LoRA, RLHF.

Nie kupuj kursów AI za 2000 zł. Docs plus jeden real project = lepsze niż jakikolwiek kurs.

Od czego zacząć

Decyzja dla nowego AI projektu:

  1. Odpowiedz na 7 pytań z decision framework.
  2. Prototyp w promptingu (1 tydzień). Sprawdź, jak far możesz dojść.
  3. Jeśli prompting nie wystarcza: RAG (4-8 tygodni).
  4. Jeśli RAG plus prompting nie wystarcza: rozważ fine-tuning (3-6 miesięcy).
  5. W międzyczasie: zbieraj data, mierz jakość, iteruj.

Większość programistów, którzy pytają “fine-tune czy nie”, powinno zacząć od promptingu. Rzadko fine-tuning zwraca inwestycję dla small/medium projektów.

W AI agents i RAG pisałem szczegółowo o konkretnych implementacjach. Ten post jest wyższym level - jak decydować w ogóle.

Wybór technique matter. Bad choice: 6 miesięcy i $50k stracone. Good choice: 6 tygodni i klient happy. To najważniejsza decyzja w AI projekcie, przed jakimkolwiek code.