Tavoitepinot ja paluu taaksepäin
Työntäkää alatavoitteet pinoon, poistakaa ne valmistuessaan ja palatkaa umpikujiin päädyttäessä taaksepäin — klassista tekoälysuunnittelua.
Tavoitepinot ja paluu taaksepäin on ilmainen Tekoälyagentit-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Tekoälyagentit-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.
Osaa tämän oppitunnin sisällöstä ei ole vielä käännetty, joten se näytetään englanniksi.
Tavoitepino
Klassisessa tekoälyn suunnittelussa käytetään tavoitepinoa: alitavoitteet työnnetään pinoon niiden tullessa vastaan ja poistetaan, kun ne valmistuvat. Agentit voivat käyttää samaa tietorakennetta:
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()Backtracking
Kun tavoite epäonnistuu:
- Merkitse se epäonnistuneeksi
- Palaa ylemmälle tasolle
- Kokeile erilaista lähestymistapaa (eri alitavoitteita)
Backtracking Example
def attempt(goal):
for approach in [oauth, saml, custom_token]:
try:
return run_with(goal, approach)
except FailedException:
continue
raise NoApproachWorked(goal)Kokeiltujen lähestymistapojen seuranta
Vältä saman epäonnistuneen lähestymistavan toistamista. Seuraa jokaiseen tavoitteeseen liittyviä kokeiluja:
{
'goal_id': 'refactor-auth',
'tried': ['oauth', 'saml'],
'remaining_options': ['custom_token']
}LLM tavoitteiden valitsijana
Anna LLM:n päättää, mitä pinoon lisätään seuraavaksi:
next_goal = llm.invoke(f'Current goal: {current()}. Done so far: {done_list}. What sub-goal next?').content
push(next_goal)Esiehdot ja vaikutukset
Hyödynnä STRIPS-suunnittelua: jokaisella toiminnolla on esiehdot (minkä on oltava totta) ja vaikutukset (mikä muuttuu todeksi):
action = {
'name': 'replace_login',
'preconditions': ['oauth_dep_installed'],
'effects': ['login_endpoint_replaced']
}Suunnittelun ja toiminnan silmukka
Kaksivaiheinen lähestymistapa:
- Suunnittelu — symbolinen suunnittelija rakentaa tavoitepinon
- Toiminta — agentti suorittaa pinon ylimmän kohdan, päivittää maailman tilan ja suunnittelee tarvittaessa uudelleen
Symbolisen suunnittelun ja LLM:n yhdistelmä
Tehtävissä, joissa esiehdot ovat selkeät (tiedosto-operaatiot, käyttöönotot), käytä symbolista suunnittelijaa. Epämääräisissä osissa käytä LLM:ää. Yhdistelmä parantaa toimintavarmuutta.
Umikujat
Joskus agentti päätyy tilaan, jossa mikään toiminto ei auta. Tunnista umikujat ja palaa vielä kauemmas:
if no_progress_in_n_steps(5):
pop_to_parent()
try_different_approach()Rajoita backtrackingin syvyyttä
Rajoittamaton backtracking voi johtaa loputtomaan silmukkaan. Rajoita syvyyttä ja iteraatioiden kokonaismäärää:
MAX_BACKTRACKS = 10
if backtrack_count >= MAX_BACKTRACKS:
escalate_to_human()Näytä backtracking käyttäjille
Kun agentti palaa taaksepäin, kerro käyttäjälle: "OAuth ei toiminut, kokeilen SAML:ää." Tämä ylläpitää luottamusta ja antaa käyttäjälle mahdollisuuden puuttua tilanteeseen ajoissa.
Backtrackingin käynnistin
Milloin agentin pitäisi palata alitavoitteesta taaksepäin?
Kertaus
Tavoitepino kertoo, "missä agentti on menossa". Työnnä alitavoitteet pinoon, poista valmistuneet tavoitteet ja palaa taaksepäin umikujissa. Yhdistä symbolinen suunnittelu ja LLM:n harkinta.
Opi Tekoälyagentit tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 60
- Oppitunnit
- 239
Usein kysytyt kysymykset
Onko oppitunti ”Tavoitepinot ja paluu taaksepäin” ilmainen?
Kyllä – oppitunnin ”Tavoitepinot ja paluu taaksepäin” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Tekoälyagentit-kurssin, päivitä CoddyKit PROhon. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Tavoitepinot ja paluu taaksepäin”?
Työntäkää alatavoitteet pinoon, poistakaa ne valmistuessaan ja palatkaa umpikujiin päädyttäessä taaksepäin — klassista tekoälysuunnittelua. Harjoittelet Tekoälyagentit-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Tekoälyagentit-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Tekoälyagentit-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Tavoitepinot ja paluu taaksepäin”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Tekoälyagentit-oppitunnilla?
Kyllä. Jokainen Tekoälyagentit-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Hierarkkinen tehtävien pilkkominen
- Tavoitepinot ja paluu taaksepäin
- Maailmamallit ja ennakointi
- Reflektio- ja itsekritiikkisilmukat