Saka model menyang agen: Nglengkapi Responses API karo lingkungan komputer
Dening Bo Xu, Danny Zhang, lan Rohit Arunachalam
Kita saiki lagi ana ing pergeseran saka nggunakaké model, sing unggul ing tugas tartamtu, menyang nggunakaké agen sing bisa nangani alur kerja kompleks. Kanthi maringi prompt marang model, panjenengan mung bisa ngakses kapinteran sing wis dilatih. Nanging, maringi model lingkungan komputer bisa nggayuh jangkah kasus panggunaan sing luwih amba, kayata mbukak layanan, njaluk data saka API, utawa ngasilaké artefak sing luwih migunani kayata spreadsheet utawa laporan.
Sawetara masalah praktis muncul nalika panjenengan nyoba mbangun agen: ing ngendi nyimpen file perantara, carane supaya ora nempel tabel gedhé menyang prompt, carane maringi akses jaringan marang alur kerja tanpa nggawe mumet keamanan, lan carane nangani timeout lan retry tanpa mbangun sistem alur kerja dhéwé.
Tinimbang mbalèkaké iki marang pangembang supaya mbangun lingkungan eksekusi dhéwé, kita mbangun komponen sing dibutuhaké kanggo nglengkapi Responses API(mbukak ing jendhela anyar) nganggo lingkungan komputer supaya bisa ngeksekusi tugas donya nyata kanthi andal.
Responses API saka OpenAI, bebarengan karo tool shell lan papan kerja kontainer host, dirancang kanggo ngatasi masalah praktis iki. Model ngusulaké langkah lan printah; platform mbukak iku ing lingkungan terisolasi kanthi sistem file kanggo input lan output, panyimpenan terstruktur opsional (kayata SQLite), lan akses jaringan sing diwatesi.
Ing kiriman iki, kita bakal mbabar carane kita mbangun lingkungan komputer kanggo agen lan nuduhaké sawatara piwulang awal babagan carane nggunakaké kanggo alur kerja produksi sing luwih cepet, luwih bisa diulang, lan luwih aman.
Alur kerja agen sing apik diwiwiti saka loop eksekusi sing rapet: model ngusulaké aksi kaya maca file utawa njupuk data nganggo API, platform mbukak, lan asilé mlebu menyang langkah sabanjuré. Kita bakal miwiti saka tool shell—cara paling prasaja kanggo ndeleng loop iki ing tumindak—banjur nutupi papan kerja kontainer, jaringan, skill sing bisa digunakaké maneh, lan kompaksi konteks.
Kanggo mangertèni tool shell, migunani dhisik mangertèni carane model basa nggunakaké tools sacara umum: kanggo nindakake bab kaya nelpon fungsi utawa sesrawungan karo komputer. Nalika latihan, model dituduhaké conto carane tools digunakaké lan efek asilé, langkah demi langkah. Iki mbantu model sinau mutusaké kapan nggunakaké tool lan carane nggunakaké. Nalika kita ngucap “nggunakaké tool”, maksudé model sejatiné mung ngusulaké tool call. Model ora bisa ngeksekusi panggilan kasebut dhéwé.
Tool shell ndadèkaké model luwih kuat kanthi drastis: model sesrawungan karo komputer liwat command line kanggo nindakaké jangkah tugas sing amba, saka nggoleki teks nganti ngirim panjalukan API ing komputer panjenengan. Dibangun ing ndhuwur tooling Unix sing wis akrab, tool shell kami bisa nindakaké apa waé sing panjenengan karepaké, kanthi utilitas kaya grep, curl, lan awk sing kasedhiya kanthi baku.
Dibandhingaké karo code interpreter sing wis ana, sing mung ngeksekusi Python, tool shell ngidini jangkah kasus panggunaan sing luwih amba, kaya mbukak program Go utawa Java utawa miwiti server NodeJS. Keluwesan iki ngidini model nepaki tugas agentik sing kompleks.
Yèn model dhewe, model mung bisa ngusulaké printah shell, nanging printah-printah iki dieksekusi kepriyé? Kita butuh orkestrator kanggo njupuk output model, nelpon tools, lan ngoper tanggapan tool bali menyang model ing siji loop, nganti tugasé rampung.
Responses API yaiku cara pangembang sesrawungan karo model OpenAI. Nalika digunakaké karo tools kustom, Responses API mbalèkaké kendhali marang klien, lan klien butuh harness dhéwé kanggo mbukak tools. Nanging, API iki uga bisa ngorkestrasi antarane model lan tools host sacara langsung.
Nalika Responses API nampa prompt, API iki nyusun konteks model: prompt pangguna, state obrolan sadurungé, lan instruksi tool. Supaya eksekusi shell bisa mlaku, prompt kudu nyebut nggunakaké tool shell lan model sing dipilih kudu wis dilatih kanggo ngusulaké printah shell—model GPT‑5.2 lan sakbanjuré wis dilatih kanggo iki. Kanthi kabèh konteks iki, model banjur mutusaké aksi sabanjuré. Yèn milih eksekusi shell, model mbalèkaké siji utawa luwih printah shell menyang layanan Responses API. Layanan API nerusaké printah-printah kuwi menyang runtime kontainer, nyaluraké bali output shell, lan masokaké menyang konteks panjalukan model sabanjuré. Model banjur bisa mriksa asilé, nerbitaké printah tindak lanjut, utawa ngasilaké jawaban final. Responses API mbalèni loop iki nganti model mbalèkaké completion tanpa printah shell tambahan.
Nalika Responses API ngeksekusi printah shell, API iki njaga sambungan streaming menyang layanan kontainer. Nalika output diprodhuksi, API neruské menyang model meh wektu nyata supaya model bisa mutusaké apa kudu ngenteni output luwih akèh, mbukak printah liya, utawa nerusaké menyang tanggapan final.
Responses API nyaluraké output printah shell
Model bisa ngusulaké pirang-pirang printah shell ing siji langkah, lan Responses API bisa ngeksekusi kanthi bebarengan nganggo sesi kontainer kapisah. Saben sesi nyaluraké output kanthi mandiri, lan API nindakake multipleksing stream kasebut bali dadi output tool terstruktur minangka konteks. Kanthi tembung liya, loop agen bisa paralelaké pakaryan, kayata nggoleki file, njupuk data, lan mriksa asil perantara.
Nalika printah nyakup operasi file utawa pangolahan data, output shell bisa dadi gedhé banget lan ngentèkaké anggaran konteks tanpa nambah sinyal sing migunani. Kanggo ngontrol iki, model nemtokaké wates output saben printah. Responses API ngetrapaké wates kasebut lan mbalèkaké asil sing diwatesi sing tetep njaga wiwitan lan pungkasan output, nalika nandhani isi sing dibusak. Tuladhané, panjenengan bisa matesi output dadi 1.000 karakter, kanthi wiwitan lan pungkasan sing dijaga:
teks ing wiwitan ... 1000 karakter dipotong ... teks ing pungkasan
Bebarengan, eksekusi bebarengan lan output diwatesi ndadèkaké loop agen dadi cepet lan efisien konteks, supaya model bisa terus nalar ing asil sing relevan tinimbang kewalahan amarga log terminal mentah.
Salah siji masalah potensial saka loop agen yaiku tugas bisa mlaku suwe. Tugas sing mlaku suwe ngisi jendhela konteks, sing penting kanggo nyedhiyakaké konteks antar giliran lan antar agen. Bayangna agen sing nelpon skill, nampa tanggapan, nambah tool call lan ringkesan nalar—jendhela konteks sing winates cepet kebak. Supaya konteks penting ora ilang nalika agen terus mlaku, kita butuh cara kanggo njaga rincian kunci lan mbusak apa waé sing ora perlu. Tinimbang mbutuhaké pangembang ngrancang lan njaga sistem ringkesan utawa pembawa state kustom, kita nambah kompaksi native ing Responses API, dirancang supaya selaras karo cara model tumindak lan cara dilatih.
Model paling anyar kami dilatih kanggo nganalisis state obrolan sadurungé lan ngasilaké item kompaksi sing njaga state sadurungé sing penting ing representasi sing dienkripsi lan efisien token. Sawisé kompaksi, jendhela konteks sabanjuré kasusun saka item kompaksi iki lan bagean-bagean regané dhuwur saka jendhela sadurungé. Iki ngidini alur kerja terus lumaku kanthi koheren nyabrang wates jendhela, sanajan ing sesi dawa multi-langkah lan digerakké tool. Codex ngandelaké mekanisme iki kanggo njaga tugas coding sing mlaku suwe lan eksekusi tool iteratif tanpa nyuda kualitas.
Kompaksi kasedhiya minangka fitur bawaan ing server utawa liwat titik pungkasan mandiri /compact. Kompaksi sisi-server ngidini panjenengan ngatur ambang, lan sistem nangani wektu kompaksi kanthi otomatis, ngilangaké kabutuhan logika klien sing ruwet. Iki ngidini jendhela konteks input efektif sing rada luwih gedhé kanggo noleransi keluwihan cilik pas sadurungé kompaksi, supaya panjalukan sing cedhak wates isih bisa diproses lan dikompaksi tinimbang ditolak. Nalika latihan model terus berkembang, solusi kompaksi native uga berkembang bebarengan kanggo saben rilis model OpenAI.
Codex mbantu kita mbangun sistem kompaksi iki nalika dadi pangguna awalé. Nalika siji instance Codex kena kesalahan kompaksi, kita bakal nguripaké instance kapindho kanggo nyelidiki. Asilé, Codex entuk sistem kompaksi native sing efektif mung saka makarya ing masalah kasebut. Kemampuan Codex kanggo mriksa lan nyempurnakaké awaké dhéwé wis dadi bagéan sing menarik banget saka makarya ing OpenAI. Akèh tools mung mbutuhaké pangguna sinau carane nggunakaké; Codex sinau bebarengan karo kita.
Saiki ayo nutupi state lan sumber daya. Kontainer ora mung panggonan kanggo mbukak printah nanging uga konteks kerja kanggo model. Ing njero kontainer, model bisa maca file, ngueri basis data, lan ngakses sistem eksternal ing sangisoré kontrol kabijakan jaringan.
Bagéan pisanan saka konteks kontainer yaiku sistem file kanggo ngunggah, ngatur, lan ngelola sumber daya. Kita mbangun API kontainer lan file(mbukak ing jendhela anyar) kanggo maringi model peta data sing kasedhiya lan mbantu model milih operasi file sing luwih terarah tinimbang nindakake pemindaian amba sing rame.
Salah siji anti-pola sing umum yaiku ngepak kabèh input langsung menyang konteks prompt. Nalika input saya gedhé, prompt sing kakehan isi dadi larang lan angel dinavigasi model. Pola sing luwih apik yaiku nyiapaké sumber daya ing sistem file kontainer lan maringi model kesempatan mutusaké apa sing kudu dibukak, diparse, utawa diowahi nganggo printah shell. Kaya manungsa, model luwih apik makarya nganggo informasi sing teratur.
Bagéan kapindho saka konteks kontainer yaiku basis data. Ing akèh kasus, kita nyaranaké pangembang nyimpen data terstruktur ing basis data kaya SQLite lan ngueri data kasebut. Tuladhané, tinimbang nyalin spreadsheet kabèh menyang prompt, panjenengan bisa maringi model katrangan tabelé—kolom apa waé sing ana lan apa tegesé—lan ngidini model njupuk baris sing dibutuhaké.
Tuladhané, yèn panjenengan takon, “Produk endi sing dodolané mudhun ing triwulan iki?” model bisa ngueri mung baris sing relevan tinimbang mindhai spreadsheet kabèh. Iki luwih cepet, luwih murah, lan luwih bisa diskala kanggo dataset sing luwih gedhé.
Bagéan katelu saka konteks kontainer yaiku akses jaringan, bagéan penting saka beban kerja agen. Alur kerja agen bisa waé kudu njupuk data langsung, nelpon API eksternal, utawa masang paket. Ing wektu sing padha, menehi kontainer akses internet tanpa wates bisa mbebayani: iki bisa mbukak informasi menyang situs web njaba, tanpa disengaja nyentuh sistem internal utawa pihak katelu sing sensitif, utawa nggawe bocor kredensial lan eksfiltrasi data luwih angel dijaga.
Kanggo ngatasi masalah iki tanpa matesi kegunaan agen, kita mbangun kontainer host supaya nggunakaké proxy egress sidecar. Kabèh panjalukan jaringan metu mili liwat lapisan kabijakan terpusat sing ngetrapaké allowlist lan kontrol akses nalika njaga lalu lintas tetep bisa diamati. Kanggo kredensial, kita nggunakaké injeksi rahasia kanthi cakupan domain ing egress. Model lan kontainer mung ndeleng placeholder, déné nilai rahasia mentah tetep ana ing njaba konteks sing katon kanggo model lan mung ditrapaké kanggo tujuan sing disetujoni. Iki nyuda risiko bocor nalika isih ngidini panggilan eksternal sing diautentikasi.
Printah shell iku kuat, nanging akèh tugas mbalèni pola multi-langkah sing padha. Agen kudu nemokaké ulang alur kerja saben mlaku—ngrancang ulang, nerbitaké manèh printah, lan sinau ulang konvensi—sing njalari asil ora konsisten lan eksekusi kebuang. Skill agen(mbukak ing jendhela anyar) ngemas pola-pola kasebut dadi blok pambangun sing bisa digunakaké maneh lan bisa digabung. Kanthi konkret, skill yaiku bundel folder sing nyakup ‘SKILL.md(mbukak ing jendhela anyar)’ (isi metadata lan instruksi) plus sumber daya panyengkuyung apa waé, kayata spesifikasi API lan aset UI.
Struktur iki cocog kanthi alami karo arsitektur runtime sing wis kita jlèntrèhaké sadurungé. Kontainer nyedhiyakaké file sing persisten lan konteks eksekusi, lan tool shell nyedhiyakaké antarmuka eksekusi. Kanthi loro-loroné wis ana, model bisa nemokaké file skill nganggo printah shell (ls, cat, lsp.) nalika dibutuhaké, nerjemahaké instruksi, lan mbukak skrip skill ing loop agen sing padha.
Kita nyedhiyakaké API(mbukak ing jendhela anyar) kanggo ngatur skill ing platform OpenAI. Pangembang ngunggah lan nyimpen folder skill minangka bundel berversi, sing mengko bisa dijupuk nganggo ID skill. Sadurungé ngirim prompt menyang model, Responses API mbukak skill lan nyakupé ing konteks model. Urutan iki deterministik:
- Jupuk metadata skill, kalebu jeneng lan katrangan.
- Jupuk bundel skill, salin menyang kontainer, lan bukak bungkusé.
- Nganyari konteks model nganggo metadata skill lan path kontainer.
Nalika mutusaké apa skill relevan, model njelajah instruksi-instruksiné sethithik-sethithik, lan nglakokaké skripé liwat printah shell ing kontainer.
Kanggo nyawijèkaké kabèh bagéan iki: Responses API nyedhiyakaké orkestrasi, tool shell nyedhiyakaké aksi sing bisa dieksekusi, kontainer host nyedhiyakaké konteks runtime sing persisten, skills nambah logika alur kerja sing bisa digunakaké maneh, lan kompaksi ngidini agen mlaku suwe kanthi konteks sing dibutuhaké.
Kanthi primitif iki, siji prompt bisa ngrembaka dadi alur kerja ujung-ke-ujung: nemokaké skill sing pas, njupuk data, ngowahi dadi state terstruktur lokal, ngueri kanthi efisien, lan ngasilaké artefak awet.
Diagram ing ngisor iki nuduhaké carane sistem iki makarya kanggo nggawe spreadsheet saka data langsung.
Responses API ngorkestrasi tugas agentik
Kanggo tuladha jero babagan nggabungaké tool shell lan lingkungan komputer kanggo alur kerja ujung-ke-ujung, delengen kiriman blog pangembang(mbukak ing jendhela anyar) lan cookbook(mbukak ing jendhela anyar) kami sing nuntun proses ngemas skill lan ngeksekusi liwat Responses API.
Kita bungah ndeleng apa sing dibangun para pangembang nganggo sakumpulan primitif iki. Model basa mesthiné ora mung kanggo ngasilaké teks, gambar, lan audio–kita bakal terus ngembangaké platform iki supaya saya mumpuni nangani tugas kompleks ing donya nyata kanthi skala gedhé.


