Agenttiset mallit: suunnittele–suorita–varmista
Tehkää ensin suunnitelma, suorittakaa se sitten vaihe vaiheelta ja varmistakaa lopuksi hyväksymiskriteerejä vasten — tämä päihittää kertaluonteisen yrityksen.
Agenttiset mallit: suunnittele–suorita–varmista on ilmainen Tekoälyagentit-oppitunti CoddyKitissä. Tämä on oppitunti 1/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.
Miksi suunnitella ensin?
Kertaluonteinen koodin generointi toimii pienissä tehtävissä ("kirjoita fizzbuzz"). Oikeissa ohjelmistomuutoksissa agentin tulee:
- Suunnitella — jakaa tehtävä vaiheisiin
- Suorittaa — toteuttaa jokainen vaihe
- Varmistaa — testata, ajaa linttaus ja suoritus
- Iteroida — korjata, kunnes kaikki on varmistettu
Vaihe 1: Suunnitelkaa
Pyytäkää mallia tuottamaan jäsennelty suunnitelma:
PLAN_PROMPT = '''
You are a senior engineer. Given this task, produce a JSON plan:
{steps: [{description, files_to_touch: [str], test_commands: [str]}], risks: [str]}
Task: {user_task}
'''Plan Schema
from pydantic import BaseModel
class Step(BaseModel):
description: str
files_to_touch: list[str]
test_commands: list[str]
class Plan(BaseModel):
steps: list[Step]
risks: list[str]Vaihe 2: Suorittakaa
Suorittakaa jokainen vaihe järjestyksessä. Antakaa mallille tiedostojen sisältö kontekstiksi:
for step in plan.steps:
context = {f: read_file(f) for f in step.files_to_touch}
diff = llm.invoke(f'Implement: {step.description}\nFiles:\n{context}').content
apply_diff(diff)Vaihe 3: Varmistakaa
Suorittakaa testit / linttaus / koonti jokaisessa vaiheessa:
for cmd in step.test_commands:
result = sandbox.run(cmd)
if result.exit_code != 0:
# Verification failed; iterate
loop_until_verified(step, result.stderr)Step 4: Iterate Until Pass
MAX_ITERS = 5
for iter in range(MAX_ITERS):
result = sandbox.run(test_cmd)
if result.exit_code == 0:
break
fix = llm.invoke(f'Tests failed:\n{result.stderr}\nFix the code.').content
apply_diff(fix)Näyttäkää diff, älkää koko tiedostoja
Inkrementaalisissa muutoksissa mallin tulee tuottaa YHDISTETTYJÄ DIFFEJÄ:
diff = '''
--- a/main.py
+++ b/main.py
@@ -10,3 +10,4 @@
def add(a, b):
return a + b
+
+def sub(a, b): return a - b
'''
import patch
patch.fromstring(diff).apply()Suunnitelman laadulla on merkitystä
Huono suunnitelma tuomitsee toteutuksen epäonnistumaan. Käyttäkää suunnitteluun vahvempaa mallia (GPT-4o, Claude Sonnet 4.5) ja toteutukseen edullisempaa mallia (gpt-4o-mini, haiku), jos budjetti on tiukka.
Suunnitelkaa uudelleen ongelmatilanteessa
Jos varmistus epäonnistuu toistuvasti, hylätkää nykyinen suunnitelma ja pyytäkää LLM:ää SUUNNITTELEMAAN UUDELLEEN uusien tietojen perusteella:
if iter == MAX_ITERS - 1:
new_plan = llm.invoke(f'Original plan failed. Errors: {errors}. Make a new plan.').contentPitkän aikavälin suunnittelun kompromissi
Mitä pidempi aikajänne on, sitä huonommin mallit suunnittelevat. Yli 10 vaiheen tehtävissä luokaa karkea suunnitelma ja tarkentakaa sitä jokaisessa vaiheessa.
Suunnitelma ja kriitikko
Antakaa "kriitikkoagentin" tarkistaa suunnitelma ennen suoritusta. Se havaitsee ilmeiset virheet varhain — tämä on halvempaa kuin niiden korjaaminen suorituksen aikana.
Näyttäkää suunnitelma käyttäjälle
Näyttäkää suunnitelma käyttäjälle ennen suorittamista. Antakaa hänen muokata sitä:
approved_plan = await ask_user_to_approve_or_edit(plan)
execute(approved_plan)Suunnittele–suorita–varmista
Miksi tämä toimintamalli on luotettavampi kuin kertaluonteinen koodin generointi?
Kertaus
Suunnitelkaa, suorittakaa, varmistakaa ja iteroikaa. Käyttäkää vahvaa suunnittelumallia ja edullista suoritusmallia sekä ajakaa oikeat testit. Näyttäkää suunnitelmat käyttäjille, kun panokset ovat korkeat.
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 ”Agenttiset mallit: suunnittele–suorita–varmista” ilmainen?
Kyllä – oppitunnin ”Agenttiset mallit: suunnittele–suorita–varmista” 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 ”Agenttiset mallit: suunnittele–suorita–varmista”?
Tehkää ensin suunnitelma, suorittakaa se sitten vaihe vaiheelta ja varmistakaa lopuksi hyväksymiskriteerejä vasten — tämä päihittää kertaluonteisen yrityksen. 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 1/4.
Kuinka kauan ”Agenttiset mallit: suunnittele–suorita–varmista”-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
- Agenttiset mallit: suunnittele–suorita–varmista
- Koodauksen työkalupinnat (Read, Edit, Bash)
- Iteratiiviset itsekorjaussilmukat
- SWE-Agent- ja OpenDevin-arkkitehtuurit