Modele świata i przewidywanie skutków
Przewiduj wynik działania przed jego wykonaniem; wybieraj działanie o najlepszym przewidywanym rezultacie.
Modele świata i przewidywanie skutków to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 3 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 Agents, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Agents zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Przewiduj przed działaniem
Najlepsi agenci nie tylko próbują różnych działań — najpierw przewidują ich wyniki, wybierają najlepsze rozwiązanie, a dopiero potem działają. To ta sama idea co przewidywanie kilku ruchów naprzód w szachach.
Czym jest model świata?
Model świata przewiduje: jaki będzie następny stan S', gdy dany jest bieżący stan S i działanie A?
W przypadku agenta LLM sam LLM może pełnić funkcję modelu świata:
prediction_prompt = '''
Current state: {state}
Proposed action: {action}
What is the most likely outcome? Return JSON: {new_state, success_probability}.
'''Dlaczego przewidywanie naprzód pomaga
Niektóre działania są nieodwracalne (wysyłanie wiadomości e-mail, usuwanie danych). Wcześniejsze przewidywanie może zapobiec kosztownym błędom.
Inne działania mają niejasne skutki. Przewidywanie zmusza agenta do zastanowienia się nad konsekwencjami.
Simple 1-Step Lookahead
candidates = [a1, a2, a3]
predictions = [predict(state, a) for a in candidates]
best = max(zip(predictions, candidates), key=lambda p: p[0].success_probability)[1]
act(best)Wielokrokowe przewidywanie naprzód (przeszukiwanie drzewa)
Należy rozwijać wiele kroków naprzód. Dla każdego kandydata trzeba przewidzieć wyniki, a następnie przewidzieć wyniki tych wyników:
def search(state, depth=2):
if depth == 0:
return value(state)
actions = candidate_actions(state)
best_score = -math.inf
for a in actions:
next_state = predict(state, a)
score = search(next_state, depth - 1)
best_score = max(best_score, score)
return best_scoreTree of Thoughts
Yao i in. 2023 — rozszerza CoT do postaci drzewa. Agent generuje wiele „ścieżek myślowych”, ocenia każdą z nich i rozwija najbardziej obiecującą:
import random
def continue_thought(question):
return question + ' -> idea' + str(random.randint(1, 100))
def score(t):
return len(t)
def expand_top_k(thoughts, scores, k):
ranked = sorted(zip(thoughts, scores), key=lambda x: -x[1])
return [t for t, s in ranked[:k]]
def ToT(question):
thoughts = [continue_thought(question) for _ in range(5)]
for depth in range(2):
scores = [score(t) for t in thoughts]
thoughts = expand_top_k(thoughts, scores, k=3)
return thoughts
result = ToT('How to reduce agent latency?')
print('Top thoughts:', result)
Monte Carlo Tree Search (MCTS)
W przypadku bardzo dużych drzew wyszukiwania należy próbkować ścieżki, oceniać wyniki i propagować oceny w górę drzewa, aby wpływać na przyszłe wybory. Metoda jest intensywnie wykorzystywana w sztucznej inteligencji grającej w gry i coraz częściej pojawia się w badaniach nad agentami.
Koszt przewidywania naprzód
Każde przewidywane działanie wymaga wywołania LLM. Przewidywanie naprzód z depth=2 i branch=3 oznacza 9 wywołań tylko po to, aby zdecydować o JEDNYM działaniu. Należy stosować je wyłącznie w przypadku decyzji o dużej wadze.
Przycinanie heurystyczne
Należy pomijać przewidywania dla działań, które są oczywiście złe. Kandydatów na działania można wstępnie filtrować za pomocą taniego klasyfikatora lub reguły.
Kalibrowanie przewidywań
Przewidywania LLM są niedoskonałe. Należy je kalibrować, porównując od czasu do czasu przewidywane i rzeczywiste wyniki:
for trace in recent_traces:
predicted = trace.predicted_outcome
actual = trace.actual_outcome
log.info('prediction-accuracy', match=(predicted == actual))Kiedy NIE stosować przewidywania naprzód
- Tanie, odwracalne działania — należy po prostu je wykonać
- Ścieżki, w których kluczowe jest opóźnienie
- Zadania, w których wyniki są oczywiste
Kiedy STOSOWAĆ przewidywanie naprzód
- Działania nieodwracalne (finansowe, komunikacyjne)
- Plany wieloetapowe, w których błędy się kumulują
- Obszary o dużej wadze (medycyna, prawo)
- Zadania wymagające konfrontacji (gry, debaty)
Wewnętrzne przewidywanie naprzód w stylu o1
Modele rozumujące OpenAI o1 / o3 automatycznie wykonują wewnętrzne przewidywanie naprzód podczas fazy „myślenia”. Przed podjęciem decyzji analizują wiele możliwych kontynuacji. Nie trzeba implementować tego zewnętrznie.
Kompromis związany z przewidywaniem naprzód
Jaki jest główny koszt wielokrokowego przewidywania naprzód?
Podsumowanie
Najpierw przewiduj, potem działaj. Przewidywanie jednego kroku naprzód jest tanie i użyteczne, a przeszukiwanie drzewa — kosztowne, lecz skuteczne. Modele rozumujące (o1, o3) automatyzują ten proces. Należy korzystać z niego oszczędnie.
Często zadawane pytania
Czy lekcja „Modele świata i przewidywanie skutków” jest bezpłatna?
Tak — pełny tekst „Modele świata i przewidywanie skutków” 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 Agents, przejdź na CoddyKit PRO. Kurs AI Agents zawiera 4 lekcji w sumie.
Co nauczysz się w „Modele świata i przewidywanie skutków”?
Przewiduj wynik działania przed jego wykonaniem; wybieraj działanie o najlepszym przewidywanym rezultacie. Ćwiczysz AI Agents 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 Agents?
Nie wymagamy żadnego doświadczenia. AI Agents 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 3 z 4.
Ile czasu zajmuje lekcja „Modele świata i przewidywanie skutków”?
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 Agents?
Tak. Każda lekcja AI Agents 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
- Hierarchiczny podział zadań
- Stosy celów i wycofywanie
- Modele świata i przewidywanie skutków
- Pętle refleksji i samokrytyki