Czego AI nie potrafi
Ograniczenia: dane w czasie rzeczywistym, pamięć, błędy wnioskowania i odpowiedzi błędne, lecz formułowane z pewnością.
Czego AI nie potrafi to bezpłatna lekcja AI Prompt Engineering na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Prompt Engineering, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.
Ograniczenia, które trzeba znać
Modele językowe AI są potężne, ale mają twarde ograniczenia. Niezrozumienie tych ograniczeń prowadzi do niepotrzebnego wysiłku, błędnych odpowiedzi i frustracji użytkowników.
Cztery najważniejsze ograniczenia to: brak dostępu do internetu w czasie rzeczywistym, brak trwałej pamięci między sesjami, halucynacje przedstawiane z pełnym przekonaniem oraz błędy w rozumowaniu matematycznym i logicznym.
Brak dostępu do internetu w czasie rzeczywistym
Domyślnie LLM-y podczas inferencji działają całkowicie offline. Nie mogą:
- Sprawdzić dzisiejszych cen akcji
- Sprawdzić aktualnej pogody
- Uzyskać dostępu do podanych przez Państwa adresów URL
- Przeszukać Google ani żadnego innego źródła
Jeśli zapytają Państwo „Jaka jest teraz cena akcji Tesli?”, model albo odmówi odpowiedzi, albo zgadnie na podstawie danych treningowych — które mogą być nieaktualne od miesięcy lub lat.
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=128,
messages=[{
'role': 'user',
'content': 'What is Bitcoin\'s price right now in USD?'
}]
)
# The model will acknowledge it cannot access real-time data
print(response.content[0].text)
# To add real-time data, you must inject it yourself:
current_price = 67500 # fetched from an exchange API by YOUR code
response2 = client.messages.create(
model='claude-opus-4-5',
max_tokens=128,
messages=[{
'role': 'user',
'content': f'Bitcoin price as of now: ${current_price}. Is this above or below $70,000?'
}]
)
print(response2.content[0].text)Daty graniczne wiedzy
Każdy LLM jest trenowany na obrazie internetu zebranym do określonej daty — jest to jego data graniczna wiedzy.
Wydarzenia, przepisy, produkty, artykuły naukowe i osoby, które pojawiły się po tej dacie, są modelowi nieznane. Model może nadal odpowiadać z przekonaniem, ale takie odpowiedzi wynikają z ekstrapolacji, a nie z rzeczywistej wiedzy.
W przypadku zadań zależnych od czasu należy zawsze sprawdzić podaną przez model datę graniczną wiedzy.
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
# Ask the model to disclose its cutoff and caveats
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'I need to know about the latest AI models released in the past 3 months. '
'Please state your knowledge cutoff date and any caveats before answering.'
)
}]
)
print(response.choices[0].message.content)
# Best practice: inject a date stamp so the model knows the current date
from datetime import date
today = date.today().isoformat()
response2 = client.chat.completions.create(
model='gpt-4o',
system=f'Today is {today}. Your knowledge cutoff may be earlier — say so if relevant.',
messages=[{'role': 'user', 'content': 'What are the latest LLM releases?'}]
)Brak trwałej pamięci między sesjami
Po rozpoczęciu nowej sesji model nie pamięta żadnej wcześniejszej rozmowy — nawet tej sprzed 5 minut.
Nie jest to błąd, lecz sposób działania bezstanowego API. Każda sesja rozpoczyna się z pustym kontekstem.
Aby zachować informacje między sesjami, muszą je Państwo zapisać samodzielnie (w bazie danych lub pliku), a następnie ponownie wstrzyknąć je do komunikatu systemowego albo historii rozmowy.
import json
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Simulate storing user preferences between sessions
def load_user_profile(user_id):
# In production: load from database
return {'name': 'Alice', 'preferred_language': 'Python', 'skill_level': 'intermediate'}
def build_system_message(profile):
return (
f'The user\'s name is {profile["name"]}. '
f'They prefer {profile["preferred_language"]} examples. '
f'Their skill level is {profile["skill_level"]}. '
f'Tailor all responses accordingly.'
)
profile = load_user_profile('user-123')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=256,
system=build_system_message(profile),
messages=[{'role': 'user', 'content': 'Show me how to read a file.'}]
)
print(response.content[0].text)Halucynacje: pewne siebie i błędne
Halucynacja występuje wtedy, gdy model generuje tekst brzmiący wiarygodnie, ale niezgodny z faktami — i przedstawia go z pełnym przekonaniem.
Typowe rodzaje halucynacji:
- Zmyślone cytowania i tytuły artykułów
- Błędne daty, nazwiska lub statystyki
- Wymyślone informacje o firmach lub specyfikacje produktów
- Nieistniejące API lub nazwy funkcji
Model nie ma wbudowanego mechanizmu sprawdzania faktów — generuje to, co wydaje się statystycznie prawdopodobne, a nie to, co zostało zweryfikowane.
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Asking for a citation is a classic hallucination trigger
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=256,
messages=[{
'role': 'user',
'content': (
'Cite 3 peer-reviewed papers about the effect of social media on teen anxiety. '
'Include author names, journal names, and publication years.'
)
}]
)
print(response.content[0].text)
# WARNING: verify every citation independently — some may be fabricatedOgraniczanie halucynacji
Nie można całkowicie wyeliminować halucynacji, ale można je znacznie ograniczyć:
- Udostępniają Państwo materiały źródłowe — proszą model o odpowiadanie wyłącznie na podstawie wklejonego dokumentu
- Proszą Państwo o określenie pewności — instruują model, aby w razie wątpliwości powiedział „Nie wiem”
- Używają Państwo niższej temperatury — ogranicza to nieuzasadnione zgadywanie
- Weryfikują Państwo informacje niezależnie — zawsze sprawdzają fakty w ważnych wynikach
- Używają Państwo augmentacji przez wyszukiwanie — wprowadzają aktualne fakty przed zadaniem pytania
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Ground the model with provided source material
document = (
'According to the 2023 Pew Research report, 46% of US teens say '
'they are online almost constantly, up from 24% in 2014-2015.'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=256,
system=(
'Answer ONLY using the provided document. '
'If the answer is not in the document, say: "The document does not cover this."'
),
messages=[{
'role': 'user',
'content': f'Document:\n{document}\n\nQuestion: What percentage of US teens are online almost constantly?'
}]
)
print(response.content[0].text)Błędy w rozumowaniu matematycznym
LLM-y nie są kalkulatorami. Generują tokeny, które wyglądają jak poprawne obliczenia matematyczne, ale popełniają błędy w przypadku:
- Obliczeń arytmetycznych obejmujących wiele etapów
- Operacji na dużych liczbach
- Przeliczania wartości procentowych i jednostek
- Łamigłówek logicznych z wieloma zmiennymi
W przypadku wszystkiego, co obejmuje liczby, należy zawsze użyć wykonywania kodu lub zewnętrznego kalkulatora, a następnie poprosić model o zinterpretowanie wyniku.
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
# Bad practice: ask the LLM to compute a complex calculation directly
response_direct = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': 'What is 17.83% of 348,921.47?'}]
)
print('LLM answer:', response_direct.choices[0].message.content)
# Good practice: compute in Python, then ask LLM to explain it
result = round(348921.47 * 0.1783, 2)
response_explained = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': f'17.83% of 348,921.47 is ${result}. Explain what this means for a budget report.'
}]
)
print('Explained:', response_explained.choices[0].message.content)Ograniczenia złożonej logiki i rozumowania
LLM-y mają trudności z zadaniami, które wymagają jednoczesnego uwzględniania wielu ograniczeń lub śledzenia stanu przez wiele kroków:
- Długie dowody logiczne obejmujące wiele kroków
- Problemy z harmonogramowaniem i wieloma ograniczeniami
- Kod z głęboko zagnieżdżoną logiką
- Przechodzenie grafu lub problemy kombinatoryczne
Prompting typu chain-of-thought (prośba do modelu o „myślenie krok po kroku”) znacznie poprawia skuteczność, ale nie eliminuje błędów.
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Chain-of-thought improves complex reasoning
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=512,
messages=[{
'role': 'user',
'content': (
'A train leaves Station A at 9:00 AM traveling at 80 km/h. '
'Another train leaves Station B (300 km away) at 10:00 AM traveling at 100 km/h toward Station A. '
'At what time do they meet?\n\n'
'Think step by step before giving your answer.'
)
}]
)
print(response.content[0].text)Ograniczenia dotyczące plików i obrazów
Podstawowe API LLM-ów ma ograniczenia dotyczące obsługi plików, o których należy wiedzieć:
- Nie można wysłać pliku PDF i oczekiwać, że model go „przeczyta”, jeśli wcześniej nie wyodrębni się z niego tekstu
- Obrazy wejściowe wymagają modelu multimodalnego (GPT-4o, Claude z włączoną obsługą obrazu)
- Audio, wideo i arkusze kalkulacyjne zazwyczaj wymagają wstępnego przetworzenia, zanim model będzie mógł z nich skorzystać
Dokumenty należy zawsze konwertować do tekstu przed dołączeniem ich do promptu, chyba że używa się punktu końcowego multimodalnego.
import anthropic
import base64
from pathlib import Path
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Images require explicit base64 encoding and vision-capable model
image_data = base64.standard_b64encode(Path('chart.png').read_bytes()).decode('utf-8')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=256,
messages=[{
'role': 'user',
'content': [
{
'type': 'image',
'source': {'type': 'base64', 'media_type': 'image/png', 'data': image_data}
},
{'type': 'text', 'text': 'Describe what this chart shows.'}
]
}]
)
print(response.content[0].text)Co AI robi dobrze — zrównoważone spojrzenie
Znajomość ograniczeń pomaga korzystać z AI tam, gdzie sprawdza się najlepiej:
- Zadania językowe: pisanie, redagowanie, podsumowywanie i tłumaczenie — doskonałe rezultaty
- Rozpoznawanie wzorców w tekście: klasyfikowanie i wyodrębnianie informacji — doskonałe rezultaty
- Burza mózgów: generowanie wielu różnorodnych pomysłów — doskonałe rezultaty
- Matematyka i logika: obliczenia należy powierzyć kodowi, a AI wykorzystać do interpretacji — używać narzędzi
- Fakty w czasie rzeczywistym: samodzielnie dostarczać dane, a AI wykorzystywać do rozumowania — używać wyszukiwania
- Pamięć: przechowywać dane zewnętrznie i ponownie je wprowadzać — używać bazy danych
# Pattern: inject real-time context + use AI for reasoning, not retrieval
import anthropic
from datetime import datetime
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Your application fetches these from real sources
weather_data = {'city': 'London', 'temp_c': 12, 'condition': 'rainy'}
news_headline = 'UK inflation drops to 2.3% in April 2025'
context = (
f'Current date: {datetime.now().strftime("%Y-%m-%d")}\n'
f'Weather in {weather_data["city"]}: {weather_data["temp_c"]}C, {weather_data["condition"]}\n'
f'Today\'s top news: {news_headline}'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=256,
system='You are a helpful assistant. Use only the provided context for current facts.',
messages=[{'role': 'user', 'content': f'{context}\n\nWhat should I wear today and what is the economic mood?'}]
)
print(response.content[0].text)Złota zasada: weryfikować wyniki AI
Najważniejszy nawyk podczas korzystania z AI: zweryfikować wyniki przed podjęciem na ich podstawie działania.
- Fakty → sprawdzać w źródłach pierwotnych
- Kod → uruchamiać go i testować przypadki brzegowe
- Matematyka → wykonywać obliczenia niezależnie
- Cytowania → wyszukiwać je w Google Scholar
- Porady medyczne, prawne i finansowe → konsultować z uprawnionym specjalistą
AI należy wykorzystywać do tworzenia wersji roboczych, generowania treści i burzy mózgów, a do weryfikacji używać własnego osądu.
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
# Ask the model to flag its own uncertainty
response = client.chat.completions.create(
model='gpt-4o',
messages=[
{
'role': 'system',
'content': (
'After every response, add a line starting with CONFIDENCE: '
'and rate your certainty as HIGH, MEDIUM, or LOW, '
'with a brief reason.'
)
},
{
'role': 'user',
'content': 'Who won the 2023 FIFA Women\'s World Cup and what was the final score?'
}
]
)
print(response.choices[0].message.content)Sprawdzenie wiedzy
Programista prosi LLM o obliczenie 23,7% z 1 456 820, a następnie wykorzystuje wynik do napisania podsumowania raportu finansowego. Jakie ryzyko wiąże się z takim sposobem pracy?
Ograniczenia AI — podsumowanie
Najważniejsze ograniczenia, o których należy zawsze pamiętać:
- Brak dostępu do internetu w czasie rzeczywistym — wprowadzać aktualne dane z własnego kodu
- Data graniczna wiedzy — model nic nie wie o wydarzeniach po dacie trenowania
- Brak pamięci sesji — przechowywać kontekst zewnętrznie i ponownie go wprowadzać
- Halucynacje — niezależnie weryfikować fakty, cytowania i kod
- Błędy matematyczne — wykonywać obliczenia w kodzie, a AI wykorzystywać do interpretacji
- Ograniczenia logiki — używać chain-of-thought, ale nadal weryfikować złożone rozumowanie
Zrozumienie ograniczeń odróżnia skutecznych użytkowników AI od użytkowników sfrustrowanych.
Ucz się AI Prompt Engineering dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 53
- Lekcje
- 199
Często zadawane pytania
Czy lekcja „Czego AI nie potrafi” jest bezpłatna?
Tak — pełny tekst „Czego AI nie potrafi” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Prompt Engineering, przejdź na CoddyKit PRO. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.
Co nauczysz się w „Czego AI nie potrafi”?
Ograniczenia: dane w czasie rzeczywistym, pamięć, błędy wnioskowania i odpowiedzi błędne, lecz formułowane z pewnością. Ćwiczysz AI Prompt Engineering z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AI Prompt Engineering?
Nie wymagamy żadnego doświadczenia. AI Prompt Engineering w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Czego AI nie potrafi”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AI Prompt Engineering?
Tak. Każda lekcja AI Prompt Engineering zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Poznawanie interfejsu czatu
- Typy żądań, które może obsługiwać AI
- Jak AI generuje odpowiedzi
- Czego AI nie potrafi