Analiza ekspercka

Rozmowa z danymi firmy – dlaczego text-to-SQL daje ładne i błędne odpowiedzi

Demonstracja „zadaj pytanie swoim danym” robi wrażenie na czystym schemacie z dwudziestoma kolumnami i rozpada się na hurtowni, w której jest ich tysiąc. Problemem nie jest składnia – model pisze poprawny SQL. Problemem jest to, że ten poprawny SQL liczy coś innego, niż pytający miał na myśli, a po odpowiedzi nie da się tego poznać. Ten artykuł pokazuje, skąd biorą się ciche pomyłki, co naprawia warstwa semantyczna i jak sprawdzić jakość odpowiedzi, zanim trafią na zarząd.

Autor: Kacper Włodarczyk, Założyciel ALGORCOMPOpublikowano: 23 sierpnia 2026Czas czytania: 13 min czytaniaDane i analitykaDla: Średnia firma
Rozmowa z danymi firmy – dlaczego text-to-SQL daje ładne i błędne odpowiedzi

Dlaczego demo działa, a wdrożenie nie

Rozdźwięk między pokazem a produkcją ma twarde potwierdzenie w benchmarkach. Na Spider 1.0 – akademickim zbiorze z czytelnymi schematami – agenty osiągają wyniki rzędu 91%. Ten sam agent na Spider 2.0, zbiorze zbudowanym z realnych korporacyjnych przepływów pracy, spada do 21,3%. To nie jest różnica w jakości modelu; to różnica w tym, jak wygląda schemat, na którym pracuje.

Realna hurtownia w średniej firmie ma kilkaset tabel, w nich kolumny nazwane skrótami z lat dziewięćdziesiątych, kolumny techniczne obok biznesowych, pola wypełniane różnie w zależności od tego, kto wprowadzał rekord, i kilka pokoleń rozwiązań, których nikt nie usunął, bo „coś z tego jeszcze korzysta”. Model dostaje to wszystko naraz i musi zgadnąć, które pole odpowiada pojęciu, o które pyta człowiek.

Do tego dochodzi problem złączeń. Pytanie „ile sprzedaliśmy w zeszłym kwartale klientom z segmentu premium” w dobrze zamodelowanej hurtowni wymaga jednego złączenia. W hurtowni, która rosła organicznie, wymaga sześciu – i każde z nich jest miejscem, w którym można stracić lub zdublować rekordy. Benchmark dbt pokazał to wprost: część pytań była poza zasięgiem jednego podejścia właśnie dlatego, że wymagała zbyt wielu przeskoków między tabelami.

Wniosek jest niewygodny dla sprzedawców narzędzi, ale prosty dla planowania: skuteczność analityki konwersacyjnej w Waszej firmie zależy głównie od stanu Waszego modelu danych, a nie od tego, który silnik wybierzecie.

  • Spider 1.0 – 91,2%, Spider 2.0 na realnych przepływach – 21,3% dla tego samego agenta
  • realny schemat: setki tabel, skróty w nazwach, kilka pokoleń rozwiązań
  • złożoność złączeń jest częstszą przyczyną błędu niż złożoność samego pytania
  • o wyniku decyduje stan modelu danych, nie wybór silnika

Anatomia cichej pomyłki

Według analizy Omni 81,2% błędów text-to-SQL powstaje na poziomie schematu lub semantyki, a nie składni. To rozróżnienie jest kluczowe operacyjnie: błąd składni kończy się komunikatem, którego nie da się przeoczyć. Błąd semantyczny kończy się liczbą.

Najczęstszy przykład z polskich firm: „jaki mieliśmy przychód w czerwcu”. W hurtowni bywają trzy odpowiedzi – wartość netto z faktur wystawionych w czerwcu, wartość zamówień zrealizowanych w czerwcu i wartość rozpoznana księgowo w czerwcu. Każda jest poprawna z perspektywy innego działu i każda daje inną liczbę. Model wybiera pierwsze pole, które wygląda właściwie, i podaje wynik bez zastrzeżenia.

Druga rodzina pomyłek dotyczy filtrów, których nikt nie wypowiada, bo są oczywiste dla ludzi w firmie: że nie liczymy dokumentów anulowanych, że spółka zależna ma osobny raport, że korekty wchodzą do miesiąca faktury pierwotnej. Te reguły żyją w głowach czterech osób i w kodzie kilku raportów, ale nie ma ich w schemacie – więc model ich nie zastosuje.

Trzecia rodzina to jednostki i waluty. Kolumna z ceną bez informacji, czy jest netto czy brutto, w jakiej walucie i po jakim kursie przeliczana, jest dla modelu po prostu liczbą. Odpowiedź będzie zawierała sumę, która wygląda dokładnie tak, jak powinna wyglądać – i będzie zła.

  • błąd składni kończy się komunikatem, błąd semantyczny kończy się liczbą
  • „przychód” bywa policzalny na trzy poprawne sposoby dającej różne wyniki
  • reguły oczywiste dla ludzi (anulowane, korekty, spółki zależne) nie istnieją w schemacie
  • jednostki i waluty bez opisu to najcichszy rodzaj pomyłki
Rozmowa z danymi firmy – dlaczego text-to-SQL daje ładne i błędne odpowiedzi

Co naprawia warstwa semantyczna

Warstwa semantyczna to zbiór definicji położony między bazą a pytającym: lista wskaźników z jednoznacznym sposobem liczenia, wymiary, po których wolno je ciąć, relacje między encjami i opisy w języku, którym mówi firma. Model nie pisze wtedy zapytania od zera – wybiera z gotowego, zamkniętego zbioru pojęć.

Efekt widać w liczbach. W benchmarku dbt Labs z 2026 r. ugruntowanie w warstwie semantycznej podniosło dokładność z 90,0% do 98,2% dla Claude Sonnet 4.6 i z 84,1% do 100% dla GPT-5.3-Codex. Warto przy tym znać skalę tego pomiaru: to jedenaście pytań uruchomionych po dwadzieścia razy na jednym zbiorze ubezpieczeniowym. To jest silny sygnał kierunku, nie dowód uniwersalnej skuteczności – i dokładnie dlatego warto zmierzyć to samo na własnych danych.

Znacznie ciekawszy jest inny wynik z tego samego badania. Zanim do zbioru dodano modele danych, oba podejścia radziły sobie przeciętnie: 64,5% dla text-to-SQL i 72,7% dla warstwy semantycznej. Dodanie zaledwie trzech modeli podniosło wyniki obu podejść skokowo. To najmocniejszy argument w całej dyskusji: praca, która realnie poprawia jakość odpowiedzi, to modelowanie danych, a nie wybór narzędzia.

Warstwa semantyczna ma jeszcze jedną zaletę, o której rzadko się mówi w kontekście AI: wymusza rozstrzygnięcie sporów definicyjnych. Żeby ją zbudować, ktoś musi zdecydować, czym jest przychód. To bywa najtrudniejsza część projektu i jednocześnie ta, która daje wartość niezależnie od tego, czy ktokolwiek zada pytanie modelowi.

  • warstwa semantyczna = jednoznaczne definicje wskaźników, wymiarów i relacji
  • model wybiera z zamkniętego zbioru pojęć zamiast pisać zapytanie od zera
  • największy przyrost jakości daje modelowanie danych, nie zmiana modelu językowego
  • efekt uboczny o realnej wartości: rozstrzygnięcie sporów definicyjnych w firmie
Dokładność odpowiedzi w benchmarku dbt Labs 2026 (zbiór ubezpieczeniowy, 11 pytań × 20 przebiegów)
WariantText-to-SQLWarstwa semantyczna
Schemat surowy, bez modeli danych64,5%72,7%
Po dodaniu 3 modeli danych – Claude Sonnet 4.690,0%98,2%
Po dodaniu 3 modeli danych – GPT-5.3-Codex84,1%100%

Jak to wygląda w Power BI

W ekosystemie Microsoftu nie trzeba budować warstwy semantycznej od zera – ona już tam jest i nazywa się modelem semantycznym. Miary zdefiniowane w DAX są dokładnie tym, czym w innych stosach są definicje wskaźników: jednym obowiązującym sposobem policzenia przychodu, marży czy rotacji.

Różnica między firmą, w której Copilot w Power BI działa dobrze, a firmą, w której odpowiada bez sensu, sprowadza się zwykle do trzech rzeczy. Pierwsza: czy liczby są liczone miarami, czy doraźnie w wizualizacjach. Druga: czy tabele, kolumny i miary mają wypełnione opisy, i czy te opisy są napisane językiem biznesu, a nie skrótami z bazy. Trzecia: czy model zawiera synonimy – to, że dział handlowy mówi „obrót”, a zarząd „sprzedaż”, musi być gdzieś zapisane.

Praktyczna kolejność prac wygląda więc inaczej, niż zakłada większość projektów. Najpierw przegląd modelu semantycznego i uzupełnienie opisów dla obszaru, w którym chcecie zacząć – zwykle sprzedaż albo finanse. Potem lista dwudziestu pytań, które ludzie faktycznie zadają. Dopiero na końcu włączenie asystenta. Odwrotna kolejność kończy się wnioskiem „Copilot nie działa”, podczas gdy nie działa opis modelu.

Warto też ograniczyć obszar startowy. Asystent nad jednym dobrze opisanym obszarem odpowiada wiarygodnie; ten sam asystent nad wszystkimi modelami w organizacji ma do wyboru kilkanaście tabel o podobnych nazwach i zaczyna zgadywać.

  • model semantyczny Power BI jest gotową warstwą semantyczną – trzeba go opisać
  • miary DAX zamiast liczenia doraźnego w wizualizacjach
  • opisy tabel, kolumn i miar językiem biznesu plus synonimy
  • start od jednego obszaru i dwudziestu realnych pytań, nie od włączenia asystenta
Analityk porównujący wyniki zapytania z definicjami wskaźników na dashboardzie

Model nie odmawia odpowiedzi, kiedy pytanie jest niejednoznaczne. Wybiera jedną z definicji i podaje wynik z pełnym przekonaniem – a osoba, która pytała, nie ma jak zauważyć, że wybór w ogóle miał miejsce.

Jak testować, zanim wpuścicie do tego zarząd

Analityka konwersacyjna wymaga tego samego rygoru co każdy inny komponent AI w produkcji: zestawu pytań z oczekiwanymi odpowiedziami i regularnego uruchamiania go po każdej zmianie.

Zestaw buduje się z historii, nie z wyobraźni. Weźcie dwadzieścia do pięćdziesięciu pytań, które w ostatnim kwartale trafiły do analityków mailem albo na komunikatorze, i ustalcie dla każdego prawidłową odpowiedź – tę, którą podpisze właściciel obszaru. To jest jednocześnie test jakości i lista definicji do uzupełnienia w modelu.

Mierzcie dwie rzeczy osobno. Pierwsza: czy liczba się zgadza. Druga, ważniejsza: czy przy pytaniu niejednoznacznym system dopytał, zamiast zgadnąć. Asystent, który na pytanie o przychód odpowiada pytaniem „czy chodzi o wartość zafakturowaną, czy zrealizowane zamówienia”, jest wart więcej niż asystent z wyższą surową skutecznością, który nigdy nie sygnalizuje wątpliwości.

Test powtarzajcie po każdej zmianie modelu danych i po każdej zmianie wersji silnika. To ten sam mechanizm, który opisujemy przy ewaluacji agentów – i w analityce jest szczególnie istotny, bo zmiana w modelu semantycznym potrafi zmienić odpowiedzi na pytania pozornie z nią niezwiązane.

  • zestaw 20–50 realnych pytań z odpowiedziami zatwierdzonymi przez właściciela obszaru
  • mierzcie osobno poprawność liczby i zachowanie przy pytaniu niejednoznacznym
  • dopytanie zamiast zgadywania jest cechą pożądaną, nie wadą
  • powtórka testu po każdej zmianie modelu danych i wersji silnika

Powiązane wątki w bazie wiedzy

Powiązane materiały o danych i analityce

FAQ

Najczęstsze pytania o analitykę konwersacyjną

Pytania, które najczęściej pojawiają się przy projektach „rozmowy z danymi” w średnich firmach.

Czy nowszy model językowy rozwiąże problem bez pracy nad danymi?
Nie. Publikowane benchmarki pokazują, że przy przejściu z czystego schematu akademickiego na realny korporacyjny skuteczność tego samego agenta spada kilkukrotnie, a największy przyrost jakości daje dodanie modeli danych, nie zmiana modelu językowego. Nowszy model podnosi sufit, ale nie zastępuje definicji wskaźników.
Czy to znaczy, że text-to-SQL jest bezużyteczny?
Nie – ma sensowne zastosowania. Sprawdza się przy analizach doraźnych na mniejszych, dobrze znanych zbiorach, gdy przy klawiaturze siedzi analityk, który potrafi ocenić wynik. Problem zaczyna się wtedy, gdy odpowiedź trafia bezpośrednio do osoby, która nie ma jak zweryfikować, skąd wzięła się liczba.
Ile pracy wymaga przygotowanie modelu semantycznego dla jednego obszaru?
Dla obszaru sprzedaży w średniej firmie zwykle 2–6 tygodni, przy czym większość czasu pochłania nie technika, tylko uzgodnienie definicji między działami. Jeżeli macie działający model Power BI z miarami, punkt startu jest znacznie bliżej – brakuje najczęściej opisów i synonimów.
Czy asystent nad danymi zastąpi raporty?
Raczej je uzupełni. Raport odpowiada na pytania powtarzalne i zaplanowane, asystent na jednorazowe i nieprzewidziane. W praktyce dobrze zaprojektowany asystent zmniejsza liczbę zgłoszeń typu „zróbcie mi jednorazowe zestawienie” i uwalnia czas analityków na pracę, która wymaga interpretacji.

O tej stronie

O autorze

Kacper Włodarczyk

Założyciel ALGORCOMP

Założyciel ALGORCOMP. Specjalizuje się we wdrożeniach Microsoft 365 Copilot, Copilot Studio, Power Platform (Power Automate, Power Apps, SharePoint) oraz agentów AI dla średnich firm B2B w Polsce. Prowadzi dziesiątki projektów z zakresu strategii AI, governance Power Platform, automatyzacji obiegu dokumentów i procesów sprzedażowych. W publikacjach koncentruje się na praktycznych aspektach wdrożeń AI w organizacjach — od pierwszego POC do skalowania na całą firmę, ze szczególnym uwzględnieniem bezpieczeństwa danych, zgodności (RODO, NIS2, AI Act) i zwrotu z inwestycji.

Poznaj zespół

Chcecie, żeby zarząd mógł pytać dane wprost?

Bezpłatna 30-minutowa konsultacja: przeglądamy stan Waszego modelu danych, wybieramy obszar startowy i układamy listę pytań, na których warto zmierzyć jakość odpowiedzi. Efektem jest realistyczna ocena, ile pracy dzieli Was od wiarygodnej analityki konwersacyjnej.

Wyróżnione

Powiązane artykuły