I would like to review the following points on the current PR (this branch vs main). Spawn one agent per point, wait for all of them, and summarize the result for each point.
- Security issue
- Code quality
- Bugs
- Race conditions
- Test flakiness
- Maintainability of the code
Dalam senario ini, Codex berkemungkinan akan melancarkan enam subagen yang berbeza, setiap satu mengkhusus dalam salah satu titik semakan yang disenaraikan. Setelah setiap agen menyelesaikan analisisnya, Codex akan menyusun penemuan tersebut menjadi satu laporan berstruktur, menawarkan gambaran keseluruhan yang holistik mengenai permintaan tarik. Ini menunjukkan kecekapan yang diperoleh dengan mengagihkan beban kerja antara entiti AI khusus.
## Mengurus dan Mengamankan Ekosistem Subagen Anda
Pengurusan yang berkesan dan keselamatan yang mantap adalah pertimbangan utama apabila bekerja dengan subagen. Codex menyediakan alat dan mekanisme untuk mengawasi aktiviti subagen dan memastikan operasi yang selamat dalam persekitaran sandboxed mereka.
Dalam sesi CLI interaktif, pembangun boleh menggunakan perintah `/agent` untuk bertukar antara thread agen aktif, memeriksa proses yang sedang berjalan, atau mengemudi subagen tertentu. Kawalan terperinci ini membolehkan pelarasan masa nyata dan pemantauan kemajuan agen individu. Anda juga boleh secara eksplisit meminta Codex untuk menghentikan subagen yang sedang berjalan atau menutup thread yang telah selesai untuk mengurus sumber dan fokus.
Keselamatan adalah yang paling utama, dan subagen mewarisi dasar sandbox semasa dari sesi Codex utama. Ini memastikan bahawa operasi mereka mematuhi peraturan keselamatan dan akses yang telah ditetapkan. Apabila permintaan kelulusan timbul daripada thread agen yang tidak aktif, terutamanya dalam sesi CLI interaktif, Codex secara bijak memaparkan ini kepada pengguna. Tindih kelulusan akan menunjukkan thread sumber, membolehkan anda menekan 'o' untuk membuka dan memeriksa thread tersebut sebelum membuat keputusan yang bermaklumat untuk meluluskan, menolak, atau menjawab permintaan tersebut. Ini menghalang kelulusan buta dan mengekalkan pengawasan pembangun.
Untuk aliran bukan interaktif atau situasi di mana kelulusan baharu tidak dapat dipaparkan, sebarang tindakan yang memerlukan kelulusan baharu akan gagal secara automatik, dengan Codex melaporkan ralat kembali kepada aliran kerja induk. Mekanisme selamat-gagal ini menghalang tindakan yang tidak dibenarkan dalam konteks automatik. Tambahan pula, Codex menggunakan semula penggantian masa jalan langsung giliran induk—seperti perubahan yang dibuat melalui `/approvals` atau bendera `--yolo`—kepada anak yang dilahirkan, memastikan postur keselamatan yang konsisten merentasi hierarki agen. Bagi pengguna lanjutan, adalah juga mungkin untuk mengatasi konfigurasi sandbox untuk [agen tersuai](#defining-custom-subagents-for-tailored-tasks) individu, membolehkan kawalan terperinci ke atas keizinan mereka, contohnya, dengan menandakan agen sebagai 'baca sahaja'.
## Mentakrifkan Subagen Tersuai untuk Tugas yang Disesuaikan
Walaupun Codex menyediakan beberapa agen terbina dalam, seperti `default` untuk kegunaan umum, `worker` untuk tugas berfokus pelaksanaan, dan `explorer` untuk penerokaan pangkalan kod yang banyak bacaan, kuasa sebenar sistem subagen terletak pada kebolehlanjutanannya. Pembangun boleh menentukan **agen tersuai** mereka sendiri untuk menangani keperluan yang sangat khusus, menyesuaikan tingkah laku AI kepada konteks projek yang unik.
Agen tersuai ditakrifkan menggunakan fail TOML kendiri. Fail-fail ini boleh diletakkan di `~/.codex/agents/` untuk agen peribadi atau `.codex/agents/` untuk agen skop projek. Setiap fail TOML pada dasarnya bertindak sebagai lapisan konfigurasi, membolehkan agen tersuai mengatasi tetapan yang sebaliknya akan diwarisi dari sesi induk. Ini termasuk parameter kritikal seperti model AI yang digunakan, usaha penaakulan, mod sandbox, dan juga konfigurasi kemahiran khusus.
Setiap fail agen tersuai kendiri *mesti* mentakrifkan medan berikut:
* **`name`**: Pengenal pasti unik agen, yang digunakan oleh Codex semasa melahirkan atau merujuknya.
* **`description`**: Panduan yang boleh dibaca manusia yang membantu Codex memahami bila untuk menggunakan agen ini.
* **`developer_instructions`**: Set arahan utama yang menentukan tingkah laku dan logik operasi agen.
Medan pilihan seperti `nickname_candidates`, `model`, `model_reasoning_effort`, `sandbox_mode`, `mcp_servers`, dan `skills.config` juga boleh disertakan. Jika diabaikan, tetapan ini akan diwarisi dari sesi induk, memudahkan konfigurasi di mana lalai adalah boleh diterima. Untuk amalan terbaik dalam kejuruteraan gesaan, yang secara langsung mempengaruhi arahan agen, rujuk kepada sumber seperti [Panduan Gesaan Codex](/ms/codex-prompting-guide).
Medan `name` adalah pengenal pasti muktamad untuk agen tersuai. Walaupun memadankan nama fail dengan nama agen adalah konvensyen biasa dan disyorkan, medan `name` dalam fail TOML adalah sumber kebenaran muktamad. Medan `nickname_candidates` adalah tambahan yang berguna untuk pengalaman pengguna, membolehkan Codex memberikan nama paparan yang lebih mudah dibaca kepada agen yang dilahirkan, yang sangat membantu dalam senario berbilang agen yang kompleks.
## Tetapan Global dan Konfigurasi Subagen Lanjutan
Selain definisi agen tersuai individu, Codex menawarkan tetapan konfigurasi global untuk mengurus tingkah laku keseluruhan aliran kerja subagen. Tetapan ini biasanya ditemui di bawah bahagian `[agents]` dalam fail konfigurasi utama anda, menawarkan kawalan terpusat ke atas peruntukan sumber dan parameter operasi.
Berikut adalah pecahan tetapan subagen global utama:
| Field | Type | Required | Purpose |
| :--------------------------- | :----- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `agents.max_threads` | number | No | Mengehadkan bilangan thread agen terbuka serentak. Lalai kepada `6` jika tidak ditetapkan. |
| `agents.max_depth` | number | No | Mengehadkan kedalaman sarang agen yang dilahirkan (sesi akar bermula pada 0). Lalai kepada `1`. Mencegah pendelegasian rekursif melangkaui anak terdekat untuk mengurus penggunaan token dan kependaman. |
| `agents.job_max_runtime_seconds` | number | No | Menetapkan tamat masa lalai bagi setiap pekerja untuk tugas `spawn_agents_on_csv`. Jika tidak ditetapkan, lalai kepada `1800` saat (30 minit). |
Tetapan `agents.max_threads`, yang lalai kepada `6`, menyediakan perlindungan terhadap penggunaan sumber yang berlebihan dengan mengehadkan bilangan subagen yang boleh beroperasi secara serentak. Tetapan `agents.max_depth`, dengan lalainya `1`, adalah sangat penting. Walaupun sarang yang lebih dalam mungkin kelihatan menarik untuk pendelegasian yang kompleks, meningkatkan nilai ini boleh menyebabkan peningkatan ketara dalam penggunaan token, kependaman, dan penggunaan sumber tempatan disebabkan oleh penyebaran berulang. Secara amnya disyorkan untuk mengekalkan lalai melainkan corak pendelegasian rekursif tertentu benar-benar diperlukan dan diuruskan dengan teliti.
Fail agen tersuai juga boleh menyertakan kunci `config.toml` lain yang disokong, meluaskan kebolehkonfigurasian mereka melebihi medan wajib. Pendekatan konfigurasi modular dan berlapis ini memastikan pembangun mempunyai kawalan terperinci ke atas agen AI mereka, membolehkan mereka mengoptimumkan prestasi, kos, dan keselamatan yang disesuaikan dengan keperluan pembangunan khusus mereka. Dengan memahami dan memanfaatkan keupayaan subagen yang berkuasa ini, pembangun boleh melangkaui batasan pengekodan dibantu AI dan meningkatkan aliran kerja pembangunan mereka dengan ketara.
Soalan Lazim
What are Codex subagents and how do they enhance AI development workflows?
Codex subagents are specialized AI agents that can be spawned in parallel by a primary Codex instance to tackle complex, multi-faceted tasks. They significantly enhance AI development workflows by enabling the division of labor across different agents, each focusing on a specific aspect of a task. This parallel processing capability is particularly beneficial for computationally intensive or intricate operations like comprehensive codebase exploration, implementing large-scale multi-step feature plans, or conducting extensive code reviews. By distributing the workload, subagents help in accelerating development cycles, improving the quality of outputs, and managing complexity more effectively than a single agent could.
How does Codex manage the orchestration of multiple subagents?
Codex excels at orchestrating subagent workflows by managing the entire lifecycle from spawning new agents to consolidating their results. When a complex task is initiated, Codex can intelligently route follow-up instructions to the appropriate subagents, monitor their progress, and await the completion of all requested tasks. Once all subagents have finished their assignments and returned their respective outputs, Codex then aggregates these results into a unified, consolidated response. This seamless orchestration ensures that even highly parallelized tasks remain coherent and deliver a comprehensive solution, simplifying complex project management for developers.
What are the security considerations and controls for Codex subagents?
Security for Codex subagents is a critical aspect, with several mechanisms in place to ensure safe operation. Subagents inherently inherit the current sandbox policy of the parent session, ensuring a consistent security posture. For interactive command-line interface (CLI) sessions, approval requests stemming from inactive agent threads can be surfaced to the user, allowing for informed decisions before actions are taken. In non-interactive environments or when immediate approval isn't feasible, actions requiring new approval will fail, preventing unauthorized operations. Developers can also apply runtime overrides for sandbox and approval choices, and even configure individual custom agents with specific sandbox modes, such as 'read-only', for fine-grained control over their operational scope and access.
How can developers create and utilize custom agents within Codex?
Developers can define custom agents in Codex to tailor AI behavior to specific needs. This is achieved by creating standalone TOML configuration files under `~/.codex/agents/` for personal agents or `.codex/agents/` for project-scoped ones. Each TOML file defines a single custom agent and acts as a configuration layer, allowing developers to override default settings like model choice, reasoning effort, or sandbox mode. Essential fields such as 'name', 'description', and 'developer_instructions' are mandatory, guiding the agent's identity and core behavior. This flexibility enables the creation of highly specialized agents for unique development tasks, further enhancing the adaptability of the Codex system.
What global settings are available for managing subagent behavior in Codex?
Codex provides several global settings to manage subagent behavior, primarily located under the `[agents]` section in the configuration file. Key settings include `agents.max_threads`, which controls the maximum number of concurrent open agent threads (defaulting to 6); `agents.max_depth`, which limits the nesting depth of spawned agents (defaulting to 1 to prevent excessive recursion and resource consumption); and `agents.job_max_runtime_seconds`, which sets a default timeout for workers in `spawn_agents_on_csv` jobs (defaulting to 1800 seconds if not specified). These settings are crucial for balancing performance, resource usage, and control over complex agent workflows, helping developers prevent unintended fan-out and manage token consumption effectively.
What are the primary advantages of using subagents for complex tasks?
The primary advantages of using subagents for complex tasks within Codex lie in their ability to parallelize and specialize operations. By breaking down a large task into smaller, manageable subtasks and assigning each to a specialized agent, development teams can achieve significant speed improvements and higher quality outcomes. For instance, in a large codebase review, one subagent might focus on security vulnerabilities, another on code quality, and a third on performance bottlenecks simultaneously. This concurrent processing not only accelerates the overall task but also allows for deeper, more focused analysis in each area, leading to more robust and comprehensive solutions than a single, monolithic AI agent could provide.
Kekal Dikemas Kini
Dapatkan berita AI terkini dalam peti masuk anda.
