Pętle refleksji i samokrytyki
Po każdym kroku zapytaj model: „czy to zadziałało? co dalej?” — to najtańszy sposób na zwiększenie niezawodności.
Pętle refleksji i samokrytyki to bezpłatna lekcja AI Agents 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 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.
Czym jest refleksja?
Refleksja polega na analizowaniu przez agenta własnych wcześniejszych działań i zadawaniu sobie pytań: „Co poszło dobrze? Co poszło źle? Co należy zrobić inaczej?”
To najtańszy sposób na zwiększenie niezawodności agentów.
Publikacja Reflexion
Shinn i in. w 2023 roku przedstawili Reflexion. Po każdej nieudanej próbie agent zapisuje samokrytykę i wykorzystuje ją jako wskazówkę przy kolejnej próbie. Jakość gwałtownie wzrosła.
A Simple Reflection Loop
def with_reflection(task, max_attempts=3):
reflections = []
for attempt in range(max_attempts):
result = agent.run(task, hints=reflections)
if result.success:
return result
reflection = llm.invoke(f'''
Task: {task}
Attempt: {attempt + 1}
What went wrong: {result.error}
Reflect on what to do differently next time.
''').content
reflections.append(reflection)
return last_resultSamokrytyka bez niepowodzenia
Agent może również przeprowadzać samokrytykę udanych wyników:
critique_prompt = '''
Review your answer for:
1. Is it factually correct?
2. Is it complete?
3. Are there obvious improvements?
If improvements possible, return REVISE: <revised answer>.
Otherwise return ACCEPT.
'''Krytyk jako oddzielny model
Do krytyki należy użyć innego modelu:
- Ogranicza współdzielone uprzedzenia
- Może być tańszy (mały krytyk, duży autor)
- Możliwe jest też odwrotne rozwiązanie (mały autor, duży krytyk)
Refleksja na poziomie kroku
Należy przeprowadzać refleksję po każdym KROKU, a nie tylko na końcu:
thought = 'I will use search_kb'
action = call_search_kb(...)
observation = '...'
reflection = llm.invoke(f'Did that step help? Should I try a different tool next?').contentŚwiadomość kosztów
Refleksja podwaja liczbę wywołań LLM. W ścieżkach, w których kluczowe jest opóźnienie, należy ją pominąć. W przypadku wyników wysokiej jakości warto ponieść ten koszt.
Unikanie bezkrytycznej refleksji
Jeśli zapytają Państwo „czy to zadziałało?”, model często odpowie „tak”. Wymuszą Państwo krytyczną ocenę:
critique_prompt = 'List 3 SPECIFIC PROBLEMS with the previous answer. If you cannot find any, say WHY there are none.'Pamięć refleksji
Proszę zapisywać refleksje w trwałym magazynie danych. Z czasem agent buduje bibliotekę „wyciągniętych wniosków”:
save_reflection({
'task_type': 'sql-write',
'lesson': 'Always check if table is partitioned before running heavy aggregations.',
'created_at': now()
})Pobieranie istotnych wcześniejszych refleksji
Na początku nowego zadania proszę pobrać wnioski pasujące do rodzaju zadania:
lessons = vector_db.search(embed(task_description), filter={'type': 'reflection'}, k=3)
prompt += '\nLessons learned from past tasks:\n' + '\n'.join(lessons)Konkretny efekt
Dodanie do promptu agenta kodującego instrukcji „Po wykonaniu każdego kroku krótko zanotuj, co może pójść nie tak, i sprawdź to ponownie” zazwyczaj zmniejsza odsetek błędów o 15–30% w testach porównawczych.
Weryfikator i generator
Wariant: jeden LLM generuje wynik, a drugi go weryfikuje. Jeśli weryfikator odrzuci wynik, generator ponawia próbę, uwzględniając powód odrzucenia. Takie rozwiązanie jest obecnie stosowane w wielu agentach produkcyjnych.
Kiedy NIE stosować refleksji
- Proste zadania wykonywane jednorazowo, których obsługa jest już tania
- Czat w czasie rzeczywistym
- Ścieżki, w których kluczowe znaczenie ma opóźnienie
Wniosek z Reflexion
Jaki jest najważniejszy wniosek z artykułu na temat Reflexion?
Podsumowanie
Refleksja to tani sposób na poprawę jakości. Po porażkach należy przeprowadzać krytykę, zapisywać wnioski i pobierać je przy podobnych zadaniach w przyszłości. Jeśli to możliwe, należy używać osobnego modelu krytykującego.
Często zadawane pytania
Czy lekcja „Pętle refleksji i samokrytyki” jest bezpłatna?
Tak — pełny tekst „Pętle refleksji i samokrytyki” 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 „Pętle refleksji i samokrytyki”?
Po każdym kroku zapytaj model: „czy to zadziałało? co dalej?” — to najtańszy sposób na zwiększenie niezawodności. Ć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 4 z 4.
Ile czasu zajmuje lekcja „Pętle refleksji i samokrytyki”?
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