AI Prompt Engineering · Lekcja

Czego AI nie potrafi

Ograniczenia: dane w czasie rzeczywistym, pamięć, błędy wnioskowania i odpowiedzi błędne, lecz formułowane z pewnością.

Lekcja 4 z 413 kroki

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 fabricated

Ograniczanie 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.

Bezpłatny start

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

  1. Poznawanie interfejsu czatu
  2. Typy żądań, które może obsługiwać AI
  3. Jak AI generuje odpowiedzi
  4. Czego AI nie potrafi
← Powrót do AI Prompt Engineering