Code Velocity
Алатки за програмери

Подагенти на Codex: Подобрување на работните текови за развој на вештачка интелигенција

·7 мин читање·OpenAI·Оригинален извор
Сподели
Дијаграм кој илустрира повеќе AI подагенти кои работат паралелно, оркестрирани од главен Codex агент, со стрелки кои го покажуваат протокот на податоци и дистрибуцијата на задачи.

Подагенти на Codex: Револуционизирање на сложените работни текови на вештачката интелигенција

Во пејзажот на развојот на вештачка интелигенција кој брзо се менува, ефикасното управување со сложени и повеќеслојни задачи е од најголема важност. Codex на OpenAI, моќна алатка за генерирање код и асистенција со вештачка интелигенција, директно се справува со овој предизвик со своите иновативни способности за подагенти. Подагентите им овозможуваат на програмерите да ги разложат сложените проблеми на управливи, паралелни единици, при што секоја се справува од специјализиран AI агент. Овој пристап драматично ја подобрува ефикасноста и длабочината на развојот поддржан од вештачка интелигенција, особено за задачи како што се опсежно истражување на кодна база, имплементација на повеќестепени функции или сеопфатни прегледи на код.

Подагентите функционираат така што ѝ овозможуваат на примарната инстанца на Codex да генерира посветени, специјализирани агенти кои работат паралелно. Овие агенти можат да се конфигурираат со различни модели и инструкции, овозможувајќи им да се фокусираат на специфични аспекти од проблемот. Откако нивните индивидуални задачи ќе бидат завршени, Codex интелигентно ги собира и консолидира нивните резултати, обезбедувајќи унифициран и сеопфатен одговор. Оваа методологија е критична за надминување на ограничувањата својствени за системи со еден агент, како што се загадување на контекстот или распаѓање на контекстот, осигурувајќи дека секој дел од сложена задача добива фокусирано внимание кое го бара. За подлабоко навлегување во теоретските основи, истражувањето на концепти како операционализирање-на-агентска-ви-дел-1-водич-за-заинтересирани-страни може да обезбеди вреден контекст.

Како Codex ги оркестрира работните текови на подагентите

Моќта на подагентите на Codex лежи во нивната беспрекорна оркестрација на дистрибуирани задачи. Кога програмер ќе иницира сложено барање, Codex интелигентно ги идентификува можностите за делегирање на работата на повеќе подагенти. Овој процес вклучува генерирање нови подагенти, насочување специфични инструкции до секој, а потоа трпеливо чекање на нивните индивидуални резултати. Откако сите подагенти ќе ги завршат своите задачи и ќе ги вратат нивните излези, Codex ги собира и ги синтетизира во консолидиран, кохерентен одговор.

Клучен аспект што треба да се разбере е дека подагентите се генерираат само кога експлицитно е побарано, или преку специфични прашања или претходно дефинирани конфигурации. Иако оваа паралелна обработка нуди значителни предности во брзината и сеопфатноста, важно е да се забележи дека секој подагент троши токени за својот модел и интеракции со алатките. Следствено, работните текови на подагентите инхерентно трошат повеќе токени отколку споредливи извршувања на еден агент. Програмерите треба да го имаат ова на ум при дизајнирање на нивните прашања и конфигурации.

Разгледајте го следниов пример на прашање за иницирање повеќеслоен преглед на код со користење подагенти:

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.

1. Security issue
2. Code quality
3. Bugs
4. Race conditions
5. Test flakiness
6. Maintainability of the code

Во ова сценарио, Codex веројатно би лансирал шест различни подагенти, секој специјализиран за една од наведените точки за преглед. Откако секој агент ќе ја заврши својата анализа, Codex би ги составил наодите во еден, структуриран извештај, нудејќи холистички преглед на барањето за спојување. Ова ја илустрира ефикасноста постигната со дистрибуирање на работниот товар меѓу специјализирани AI ентитети.

Управување и обезбедување на вашиот екосистем на подагенти

Ефективното управување и робусната безбедност се клучни размислувања при работа со подагенти. Codex обезбедува алатки и механизми за надгледување на активностите на подагентите и обезбедување безбедни операции во нивните сандбокс (sandboxed) средини.

Во интерактивни CLI сесии, програмерите можат да ја користат командата /agent за префрлување помеѓу активни нишки на агенти, проверка на тековните процеси или насочување на одреден подагент. Оваа детална контрола овозможува прилагодувања во реално време и следење на напредокот на поединечни агенти. Можете исто така експлицитно да побарате од Codex да запре подагент кој работи или да затвори завршени нишки за да управувате со ресурсите и фокусот.

Безбедноста е најважна, а подагентите ја наследуваат тековната политика на песочник (sandbox) од главната сесија на Codex. Ова осигурува дека нивните операции се придржуваат до претходно дефинирани безбедносни правила и правила за пристап. Кога барањата за одобрување произлегуваат од неактивни нишки на агенти, особено во интерактивни CLI сесии, Codex интелигентно ги прикажува на корисникот. Преклопувањето за одобрување ќе ја покаже изворната нишка, овозможувајќи ви да притиснете 'o' за да ја отворите и прегледате таа нишка пред да донесете информирана одлука да го одобрите, одбиете или одговорите на барањето. Ова спречува слепи одобрувања и го одржува надзорот од програмерите.

За неинтерактивни текови или ситуации каде што не може да се прикаже ново одобрување, секое дејство што бара ново одобрување автоматски ќе пропадне, при што Codex ќе ја пријави грешката назад во родителскиот работен тек. Овој механизам за сигурносен прекин спречува неовластени дејства во автоматизирани контексти. Покрај тоа, Codex ги повторно применува премостувањата за време на извршување во живо од родителското вртење – како што се промените направени преку /approvals или знаменцето --yolo – на генерираните деца, обезбедувајќи конзистентни безбедносни позиции низ хиерархијата на агентите. За напредни корисници, исто така е можно да се премости конфигурацијата на песочникот за индивидуални прилагодени агенти, овозможувајќи детална контрола врз нивните дозволи, на пример, со означување на агент како 'само за читање'.

Дефинирање прилагодени подагенти за приспособени задачи

Додека Codex обезбедува неколку вградени агенти, како што се default општата резерва, worker за задачи фокусирани на извршување и explorer за истражување на кодна база со многу читање, вистинската моќ на системот за подагенти лежи во неговата проширливост. Програмерите можат да дефинираат свои прилагодени агенти за да ги задоволат високо специјализираните барања, прилагодувајќи го однесувањето на вештачката интелигенција на уникатни проектни контексти.

Прилагодените агенти се дефинираат со користење самостојни TOML датотеки. Овие датотеки може да се постават во ~/.codex/agents/ за лични агенти или .codex/agents/ за агенти во опсегот на проектот. Секоја TOML датотека во суштина делува како конфигурациски слој, овозможувајќи им на прилагодените агенти да ги премостат поставките што инаку би биле наследени од родителската сесија. Ова вклучува критични параметри како што се користениот AI модел, неговиот напор за расудување, режимот на песочник и дури и специфични конфигурации за вештини.

Секоја самостојна датотека за прилагоден агент мора да ги дефинира следните полиња:

  • name: Единствениот идентификатор на агентот, кој Codex го користи при генерирање или референцирање.
  • description: Човечки читливо упатство кое му помага на Codex да разбере кога да го распореди овој агент.
  • developer_instructions: Основниот сет на инструкции што го диктираат однесувањето и оперативната логика на агентот.

Може да се вклучат и опционални полиња како nickname_candidates, model, model_reasoning_effort, sandbox_mode, mcp_servers и skills.config. Ако се изоставени, овие поставки ќе бидат наследени од родителската сесија, поедноставувајќи ја конфигурацијата каде што стандардните поставки се прифатливи. За најдобри практики во инженеринг на прашања, кој директно влијае на инструкциите на агентот, погледнете ресурси како Codex водич за прашања.

Полето name е дефинитивниот идентификатор за прилагоден агент. Додека совпаѓањето на името на датотеката со името на агентот е вообичаена и препорачана конвенција, полето name во датотеката TOML е крајниот извор на вистината. Полето nickname_candidates е корисен додаток за корисничкото искуство, овозможувајќи му на Codex да додели почитливи имиња за приказ на генерираните агенти, што е особено корисно во сложени сценарија со повеќе агенти.

Глобални поставки и напредна конфигурација на подагенти

Покрај поединечните дефиниции за прилагодени агенти, Codex нуди глобални конфигурациски поставки за управување со севкупното однесување на работните текови на подагентите. Овие поставки обично се наоѓаат под делот [agents] во вашата главна конфигурациска датотека, нудејќи централизирана контрола врз распределбата на ресурсите и оперативните параметри.

Еве преглед на клучните глобални поставки за подагенти:

ПолеТипЗадолжителноНамена
agents.max_threadsnumberNoЈа ограничува бројката на истовремени отворени нишки на агенти. Стандардно е 6 ако не е поставено.
agents.max_depthnumberNoЈа ограничува длабочината на вгнездување на генерираните агенти (коренската сесија започнува од 0). Стандардно е 1. Спречува рекурзивно делегирање надвор од непосредните деца за управување со користењето токени и доцнењето.
agents.job_max_runtime_secondsnumberNoПоставува стандарден тајмаут по работник за задачите spawn_agents_on_csv. Ако не е поставено, стандардно е 1800 секунди (30 минути).

Поставката agents.max_threads, која стандардно е 6, обезбедува заштита од прекумерна потрошувачка на ресурси со ограничување на бројот на подагенти кои можат да работат истовремено. Поставката agents.max_depth, со својата стандардна вредност од 1, е особено важна. Додека подлабокото вгнездување може да изгледа привлечно за сложено делегирање, зголемувањето на оваа вредност може да доведе до значително зголемување на користењето токени, доцнењето и локалната потрошувачка на ресурси поради повторено размножување. Генерално се препорачува да се задржи стандардната вредност освен ако не е апсолутно неопходен специфичен рекурзивен делегирачки модел и е внимателно управуван.

Датотеките за прилагодени агенти исто така можат да вклучуваат други поддржани config.toml клучеви, проширувајќи ја нивната конфигурабилност надвор од задолжителните полиња. Овој модуларен и слоевит конфигурациски пристап осигурува дека програмерите имаат детална контрола врз своите AI агенти, овозможувајќи им да оптимизираат за перформанси, трошоци и безбедност прилагодени на нивните специфични развојни потреби. Со разбирање и искористување на овие моќни способности на подагентите, програмерите можат да ги поместат границите на кодирањето поддржано од вештачка интелигенција и значително да ги подобрат своите развојни работни текови.

Оригинален извор

https://developers.openai.com/codex/subagents/

Често поставувани прашања

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.

Бидете информирани

Добивајте ги најновите AI вести на е-пошта.

Сподели