0Pricing
AI Agents · Lekcja

Stosy celów i wycofywanie

Odkładaj podcele na stos, zdejmuj je po ukończeniu i wycofuj się w ślepych zaułkach — klasyczne planowanie AI.

Stosy celów i wycofywanie to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 2 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.

Stos celów

Klasyczne planowanie AI wykorzystuje stos celów: podcele są umieszczane na stosie w miarę ich napotykania i zdejmowane po ukończeniu. Agenci mogą korzystać z tej samej struktury danych:

goal_stack = []

def push(goal):
    goal_stack.append(goal)

def pop():
    return goal_stack.pop() if goal_stack else None

def current():
    return goal_stack[-1] if goal_stack else None

# --- demo ---
push('write the report')
push('collect the data')
print(f'Current goal: {current()}')
print(f'Popped: {pop()}')
print(f'Current goal after pop: {current()}')

Example: Refactoring Workflow

push('Refactor auth')
while current():
    g = current()
    if g == 'Refactor auth':
        if not done('add_oauth_dep'):
            push('Add OAuth dependency')
        elif not done('replace_login'):
            push('Replace login endpoint')
        else:
            pop()   # done
    elif g == 'Add OAuth dependency':
        # ...actually do the work...
        mark_done('add_oauth_dep')
        pop()

Cofanie

Gdy cel kończy się niepowodzeniem:

  1. Oznacz go jako nieudany
  2. Wróć do celu nadrzędnego
  3. Spróbuj innego podejścia (innych podcelów)

Backtracking Example

def attempt(goal):
    for approach in [oauth, saml, custom_token]:
        try:
            return run_with(goal, approach)
        except FailedException:
            continue
    raise NoApproachWorked(goal)

Śledzenie wypróbowanych podejść

Należy unikać ponownego wypróbowywania tego samego nieudanego podejścia. Trzeba śledzić, co wypróbowano dla każdego celu:

{
    'goal_id': 'refactor-auth',
    'tried': ['oauth', 'saml'],
    'remaining_options': ['custom_token']
}

LLM jako wybierający cele

LLM może decydować, co należy umieścić na stosie jako następne:

next_goal = llm.invoke(f'Current goal: {current()}. Done so far: {done_list}. What sub-goal next?').content
push(next_goal)

Warunki wstępne i efekty

Warto zapożyczyć ze STRIPS sposób planowania, w którym każde działanie ma warunki wstępne (to, co musi być prawdą) oraz efekty (to, co stanie się prawdą):

action = {
    'name': 'replace_login',
    'preconditions': ['oauth_dep_installed'],
    'effects': ['login_endpoint_replaced']
}

Pętla planowania i działania

Podejście dwuetapowe:

  1. Planowanie — planista symboliczny buduje stos celów
  2. Działanie — agent wykonuje cel ze szczytu stosu, aktualizuje stan świata i w razie potrzeby planuje ponownie

Hybryda symboliczna i LLM

W przypadku zadań z jasno określonymi warunkami wstępnymi (operacje na plikach, wdrożenia) należy użyć planisty symbolicznego. W nieprecyzyjnych obszarach należy użyć LLM. Połączenie obu podejść zwiększa niezawodność.

Ślepe zaułki

Czasami agent dociera do stanu, w którym żadne działanie nie pomaga. Należy rozpoznawać ślepe zaułki i cofać się jeszcze dalej:

if no_progress_in_n_steps(5):
    pop_to_parent()
    try_different_approach()

Ograniczanie głębokości cofania

Nieograniczone cofanie może prowadzić do nieskończonej pętli. Należy ograniczyć głębokość i łączną liczbę iteracji:

MAX_BACKTRACKS = 10
if backtrack_count >= MAX_BACKTRACKS:
    escalate_to_human()

Informowanie użytkowników o cofaniu

Gdy agent się cofa, należy poinformować użytkownika: „OAuth nie zadziałał, próbuję SAML”. Utrzymuje to zaufanie i pozwala użytkownikowi wcześnie zareagować.

Wyzwalacz cofania

Kiedy agent powinien wycofać się z podcelu?

Podsumowanie

Stos celów śledzi „w którym miejscu znajduje się agent”. Należy umieszczać podcele na stosie, zdejmować ukończone i cofać się w ślepych zaułkach. Planowanie symboliczne warto łączyć z oceną LLM.

Często zadawane pytania

Czy lekcja „Stosy celów i wycofywanie” jest bezpłatna?

Tak — pełny tekst „Stosy celów i wycofywanie” 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 „Stosy celów i wycofywanie”?

Odkładaj podcele na stos, zdejmuj je po ukończeniu i wycofuj się w ślepych zaułkach — klasyczne planowanie AI. Ć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 2 z 4.

Ile czasu zajmuje lekcja „Stosy celów i wycofywanie”?

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

  1. Hierarchiczny podział zadań
  2. Stosy celów i wycofywanie
  3. Modele świata i przewidywanie skutków
  4. Pętle refleksji i samokrytyki
← Powrót do AI Agents