Haluatko ymmärtää Codex-älykästä agenttia? Tätä syväluotaavaa analyysiä ei kannata jättää väliin!
Haluatko ymmärtää Codex-älykästä agenttia? Tätä syväluotaavaa analyysiä ei kannata jättää väliin!
OpenAI teki juuri jotain "epätavallista".
Tyypillisesti OpenAI julkaisee tehokkaampia malleja (kuten o1), mutta tällä kertaa he julkaisivat syvällisen teknisen blogikirjoituksen 《Unrolling the Codex agent loop》, jossa he paitsi avasivat Codex CLI:n ydintoiminnot, myös purkivat vaihe vaiheelta, miten kypsä koodausagentti (Coding Agent) todella toimii.

Claude Coden ja Cursorin kerätessä suosiota, tämä OpenAI:n artikkeli ei ole vain lihasten esittelyä, vaan myös "Agent-arkkitehdin sudenkuoppien välttämisopas". Riippumatta siitä, haluatko käyttää AI-ohjelmointityökaluja hyvin tai kehittää oman agentin, tämä artikkeli kannattaa lukea sana sanalta.
Koko teksti on yli 8300 sanaa, ja sen lukeminen kestää noin 20 minuuttia.
Ensinnäkin, mikä on Codex CLI?
Codex CLI on OpenAI:n kehittämä avoimen lähdekoodin koodausagenttityökalu, jota voidaan käyttää paikallisella tietokoneella tai asentaa koodieditoriin. Se tukee VS Codea, Cursoria, Windsurfia jne.
Avoimen lähdekoodin osoite: https://github.com/openai/codex

Ja tässä esiteltävä Agent Loop (agenttisilmukka) on Codex CLI:n ydintoiminto: se vastaa käyttäjän, mallin ja mallin kutsujen koordinoinnista, jotta voidaan suorittaa arvokkaita vuorovaikutuksia työkalujen välillä.
Agent Loop (älykäs agenttisilmukka)
Mallit ovat vain komponentteja, agentti (älykäs agentti) voi muodostaa tuotteen.
Jokaisen AI-agentin ytimessä on niin kutsuttu "älykäs agenttisilmukka (Agent Loop)". Älykkään agenttisilmukan kaavio on esitetty alla:

Me yleensä ajattelemme, että AI-ohjelmointi on: "Minä kysyn, se vastaa". Mutta Codex CLI:n sisällä tämä on monimutkainen ääretön silmukkaprosessi...
Standardi Agent Loop sisältää seuraavat vaiheet:
- Käyttäjän ohjeet: Käyttäjän syöttämät tekstiohjeet (esimerkiksi "uudelleenjärjestä tämä funktio").
- Mallin päättely: Malli päättää, vastaako se suoraan vai kutsuuko se työkalua (Tool Call).
- Työkalun kutsu: Jos malli päättää kutsua list files tai run shell, CLI suorittaa nämä komennot paikallisesti.
- Havainto (Observation): Työkalun suorituksen tulokset (koodi, virheet, tiedostoluettelo) tallennetaan.
- Silmukka: Nämä tulokset lisätään keskusteluhistoriaan ja syötetään uudelleen mallille. Malli näkee tulokset ja päättää seuraavan vaiheen.
- Lopetus: Kunnes malli katsoo tehtävän suoritetuksi ja tulostaa lopullisen vastauksen.
Koko prosessia "käyttäjän syötteestä" "älykkään agentin vastaukseen" kutsutaan keskustelun kierrokseksi (Codexissa sitä kutsutaan säikeeksi).

Keskustelun edetessä mallin päättelyyn käytettävän kehotteen (Prompt) pituus myös kasvaa. Tämä pituus on tärkeä, koska jokaisella mallilla on konteksti-ikkuna, joka edustaa mallin suurinta tokenien määrää, jonka se voi käyttää yhdessä päättelykutsussa (tokens).
Mallin päättely
Codex CLI lähettää HTTP-pyynnön Responses API:lle mallin päättelyä varten. Codex käyttää Responses API:a agenttisilmukan ohjaamiseen.
Mikä on Responses API?
Responses API on OpenAI:n maaliskuussa 2025 lanseeraama uuden sukupolven älykkään agentin kehitysrajapinta, jonka tarkoituksena on yhtenäistää keskustelu-, työkalukutsu- ja multimodaalinen käsittelykyky tarjotakseen kehittäjille joustavamman ja tehokkaamman AI-sovellusten rakentamiskokemuksen.
Codex CLI:n käyttämä Responses API -päätepiste on konfiguroitavissa ja sitä voidaan käyttää minkä tahansa Responses API:n toteuttavan päätepisteen kanssa.

Malli suorittaa näytteenoton (luo vastauksen)
Responses API:lle lähetetty HTTP-pyyntö käynnistää Codex-keskustelun ensimmäisen "kierroksen" (turn). Palvelin palauttaa vastauksen suoratoistona Server-Sent Events (SSE) -tekniikalla.

Huomaa, että edellisen kierroksen kehote on uuden kehotteen tarkka etuliite. Tämä suunnittelu voi merkittävästi parantaa myöhempien pyyntöjen tehokkuutta – kehotteen välimuistimekanismia voidaan hyödyntää.

Kehotteen jatkuvan pidentymisen vaikutukset kierrosten lisääntyessä
1. Suorituskyvyn osalta
- Mallin näytteenottokustannukset kasvavat: Kehotteen jatkuva pidentyminen nostaa mallin näytteenottokustannuksia, koska näytteenottoprosessin on käsiteltävä enemmän dataa, mikä johtaa laskentamäärän kasvuun.
- Välimuistin hyöty pienenee: Kun kehotteen pituus kasvaa kierrosten myötä, tarkan etuliitteen täsmäytyksen vaikeus kasvaa ja välimuistin osumisen todennäköisyys pienenee.
2. Konteksti-ikkunan hallinnan osalta
- Konteksti-ikkuna kuluu helposti loppuun: Kehotteen jatkuva pidentyminen saa keskustelun merkkimäärän kasvamaan nopeasti, ja kun konteksti-ikkunan kynnysarvo ylitetään, konteksti-ikkuna voi kulua loppuun.
- Pakkaustoimenpiteiden tarve kasvaa: Jotta konteksti-ikkuna ei kuluisi loppuun, keskustelu on pakattava, kun merkkimäärä ylittää kynnysarvon.
3. Välimuistin ohituksen riskin osalta
- Useat toiminnot voivat aiheuttaa välimuistin ohituksen: Jos kehotteen pidentymisen vuoksi joudutaan muuttamaan mallin käytettävissä olevia työkaluja, kohdemallia, hiekkalaatikon asetuksia jne., se lisää entisestään välimuistin ohituksen riskiä.
- MCP-työkalut lisäävät monimutkaisuutta: MCP-palvelin voi dynaamisesti muuttaa tarjottujen työkalujen luetteloa, ja asiaankuuluvien ilmoitusten käsittely pitkissä keskusteluissa voi johtaa välimuistin ohitukseen.
Viitetiedot: 《Unrolling the Codex agent loop》Lähde: OpenAI





