Code Velocity
დეველოპერის ხელსაწყოები

Codex-ის სუბაგენტები: AI განვითარების სამუშაო პროცესების გაუმჯობესება

·7 წუთი კითხვა·OpenAI·ორიგინალი წყარო
გაზიარება
დიაგრამა, რომელიც ასახავს მრავალი AI სუბაგენტის პარალელურ მუშაობას, ორკესტრირებულს მთავარი Codex აგენტის მიერ, ისრებით, რომლებიც მიუთითებს მონაცემთა ნაკადსა და ამოცანების განაწილებაზე.

Codex-ის სუბაგენტები: რევოლუცია კომპლექსურ AI სამუშაო პროცესებში

AI განვითარების სწრაფად განვითარებად ლანდშაფტში, რთული და მრავალმხრივი ამოცანების ეფექტურად მართვა უმთავრესია. OpenAI-ის Codex, მძლავრი AI კოდის გენერირებისა და დახმარების ინსტრუმენტი, უმკლავდება ამ გამოწვევას თავისი ინოვაციური სუბაგენტის შესაძლებლობებით. სუბაგენტები დეველოპერებს საშუალებას აძლევენ, დაშალონ კომპლექსური პრობლემები მართვად, პარალელურად შესრულებად ერთეულებად, რომელთაგან თითოეულს სპეციალიზებული AI აგენტი ამუშავებს. ეს მიდგომა მნიშვნელოვნად ზრდის AI-დახმარებით განვითარების ეფექტურობასა და სიღრმეს, განსაკუთრებით ისეთი ამოცანებისთვის, როგორიცაა კოდის ბაზის ვრცელი შესწავლა, მრავალსაფეხურიანი ფუნქციების დანერგვა ან კოდის ყოვლისმომცველი მიმოხილვები.

სუბაგენტები ფუნქციონირებენ ძირითადი Codex ინსტანციისთვის მიძღვნილი, სპეციალიზებული აგენტების პარალელურად გაშვების საშუალებით. ეს აგენტები შეიძლება კონფიგურირებული იყოს სხვადასხვა მოდელითა და ინსტრუქციებით, რაც მათ საშუალებას აძლევს, ფოკუსირება მოახდინონ პრობლემის კონკრეტულ ასპექტებზე. მას შემდეგ, რაც მათი ინდივიდუალური ამოცანები დასრულდება, Codex ჭკვიანურად აგროვებს და აერთიანებს მათ შედეგებს, უზრუნველყოფს რა ერთიან და ყოვლისმომცველ პასუხს. ეს მეთოდოლოგია კრიტიკულია ერთაგენტური სისტემებისთვის დამახასიათებელი შეზღუდვების დასაძლევად, როგორიცაა კონტექსტის დაბინძურება ან კონტექსტის გაფუჭება, რაც უზრუნველყოფს, რომ კომპლექსური ამოცანის თითოეულ ნაწილს მიენიჭოს საჭირო ფოკუსირებული ყურადღება. თეორიული საფუძვლების უფრო ღრმა შესწავლისთვის, ისეთი კონცეფციების გაცნობა, როგორიცაა აგენტური-AI-ის-ოპერაციონალიზაცია-ნაწილი-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 გთავაზობთ ხელსაწყოებსა და მექანიზმებს სუბაგენტების აქტივობების ზედამხედველობისა და მათი ქვიშის ყუთის გარემოში უსაფრთხო ოპერაციების უზრუნველსაყოფად.

ინტერაქტიულ CLI სესიებში, დეველოპერებს შეუძლიათ გამოიყენონ /agent ბრძანება აქტიურ აგენტების თრედებს შორის გადასართავად, მიმდინარე პროცესების შესასწავლად ან კონკრეტული სუბაგენტის სამართავად. ეს დეტალური კონტროლი საშუალებას იძლევა ინდივიდუალური აგენტების პროგრესის რეალურ დროში რეგულირება და მონიტორინგი. ასევე შეგიძლიათ პირდაპირ სთხოვოთ Codex-ს გაშვებული სუბაგენტის შეჩერება ან დასრულებული თრედების დახურვა რესურსების სამართავად და ფოკუსის შესანარჩუნებლად.

უსაფრთხოება უმთავრესია, და სუბაგენტები მემკვიდრეობით იღებენ მიმდინარე sandbox პოლიტიკას მთავარი Codex სესიიდან. ეს უზრუნველყოფს, რომ მათი ოპერაციები შეესაბამება წინასწარ განსაზღვრულ უსაფრთხოებისა და წვდომის წესებს. როდესაც დამტკიცების მოთხოვნები არააქტიური აგენტების თრედებიდან მოდის, განსაკუთრებით ინტერაქტიულ CLI სესიებში, Codex ჭკვიანურად აჩვენებს მათ მომხმარებელს. დამტკიცების გადაფარვა მიუთითებს საწყის თრედს, რაც საშუალებას გაძლევთ დააჭიროთ 'o'-ს ამ თრედის გასახსნელად და შესამოწმებლად, სანამ მიიღებთ ინფორმირებულ გადაწყვეტილებას მოთხოვნის დასამტკიცებლად, უარყოფისთვის ან პასუხის გასაცემად. ეს ხელს უშლის ბრმა დამტკიცებებს და ინარჩუნებს დეველოპერის ზედამხედველობას.

არაინტერაქტიული ნაკადებისთვის ან სიტუაციებისთვის, სადაც ახალი დამტკიცება ვერ მოხერხდება, ნებისმიერი ქმედება, რომელიც ახალ დამტკიცებას მოითხოვს, ავტომატურად ჩაიშლება, Codex კი შეცდომას უკან ატყობინებს მშობელ სამუშაო ნაკადს. ეს უსაფრთხოების მექანიზმი ხელს უშლის არაავტორიზებულ ქმედებებს ავტომატიზებულ კონტექსტებში. გარდა ამისა, Codex ხელახლა იყენებს მშობელი ბრუნვის runtime გადაწერებს – როგორიცაა /approvals ან --yolo დროშით შეტანილი ცვლილებები – გაშვებულ შვილებზე, რაც უზრუნველყოფს უსაფრთხოების თანმიმდევრულ პოზიციას აგენტების იერარქიაში. მოწინავე მომხმარებლებისთვის ასევე შესაძლებელია sandbox კონფიგურაციის გადაწერა ინდივიდუალური მორგებული აგენტები აგენტებისთვის, რაც იძლევა მათი ნებართვების დეტალური კონტროლის საშუალებას, მაგალითად, აგენტის 'მხოლოდ წაკითხვის' რეჟიმში მონიშვნით.

მორგებული სუბაგენტების განსაზღვრა მორგებული ამოცანებისთვის

მიუხედავად იმისა, რომ Codex გთავაზობთ რამდენიმე ჩაშენებულ აგენტს, როგორიცაა default ზოგადი დანიშნულების fallback, worker შესრულებაზე ორიენტირებული ამოცანებისთვის და explorer კოდის ბაზის წაკითხვაზე ორიენტირებული შესწავლისთვის, სუბაგენტების სისტემის ნამდვილი ძალა მის გაფართოებადობაში მდგომარეობს. დეველოპერებს შეუძლიათ განსაზღვრონ საკუთარი მორგებული აგენტები მაღალ სპეციალიზებული მოთხოვნების დასაკმაყოფილებლად, AI-ის ქცევის მორგებით უნიკალურ პროექტის კონტექსტებზე.

მორგებული აგენტები განისაზღვრება დამოუკიდებელი TOML ფაილების გამოყენებით. ეს ფაილები შეიძლება განთავსდეს ~/.codex/agents/-ში პირადი აგენტებისთვის ან .codex/agents/-ში პროექტის ფარგლებში არსებული აგენტებისთვის. თითოეული TOML ფაილი არსებითად მოქმედებს როგორც კონფიგურაციის ფენა, რაც მორგებულ აგენტებს საშუალებას აძლევს გადაწერონ პარამეტრები, რომლებიც სხვაგვარად მემკვიდრეობით იქნებოდა მიღებული მშობელი სესიიდან. ეს მოიცავს კრიტიკულ პარამეტრებს, როგორიცაა გამოყენებული AI მოდელი, მისი მსჯელობის ძალისხმევა, sandbox რეჟიმი და სპეციფიკური უნარების კონფიგურაციებიც კი.

თითოეულმა დამოუკიდებელმა მორგებული აგენტის ფაილმა უნდა განსაზღვროს შემდეგი ველები:

  • name: აგენტის უნიკალური იდენტიფიკატორი, რომელსაც Codex იყენებს მისი გაშვებისას ან მითითებისას.
  • description: ადამიანისთვის გასაგები მითითება, რომელიც ეხმარება Codex-ს გაიგოს, როდის უნდა გამოიყენოს ეს აგენტი.
  • developer_instructions: ინსტრუქციების ძირითადი ნაკრები, რომელიც განსაზღვრავს აგენტის ქცევასა და ოპერაციულ ლოგიკას.

ასევე შეიძლება შევიდეს სურვილისამებრ ველები, როგორიცაა nickname_candidates, model, model_reasoning_effort, sandbox_mode, mcp_servers და skills.config. თუ გამოტოვებულია, ეს პარამეტრები მემკვიდრეობით მიიღება მშობელი სესიიდან, რაც ამარტივებს კონფიგურაციას, სადაც ნაგულისხმევი მნიშვნელობები მისაღებია. prompt engineering-ში საუკეთესო პრაქტიკისთვის, რომელიც პირდაპირ გავლენას ახდენს აგენტების ინსტრუქციებზე, იხილეთ ისეთი რესურსები, როგორიცაა Codex-ის მოთხოვნების სახელმძღვანელო.

name ველი არის მორგებული აგენტის საბოლოო იდენტიფიკატორი. მიუხედავად იმისა, რომ ფაილის სახელის აგენტის სახელთან შეხამება გავრცელებული და რეკომენდებული კონვენციაა, TOML ფაილში არსებული name ველი არის სიმართლის საბოლოო წყარო. nickname_candidates ველი სასარგებლო დამატებაა მომხმარებლის გამოცდილებისთვის, რაც Codex-ს საშუალებას აძლევს მინიჭოს უფრო წაკითხვადი საჩვენებელი სახელები გაშვებულ აგენტებს, რაც განსაკუთრებით გამოსადეგია კომპლექსურ მრავალაგენტურ სცენარებში.

გლობალური პარამეტრები და სუბაგენტის გაფართოებული კონფიგურაცია

ინდივიდუალური მორგებული აგენტების განსაზღვრების გარდა, Codex გთავაზობთ გლობალურ კონფიგურაციის პარამეტრებს სუბაგენტების სამუშაო პროცესების საერთო ქცევის სამართავად. ეს პარამეტრები, როგორც წესი, მოცემულია თქვენი ძირითადი კონფიგურაციის ფაილის [agents] სექციის ქვეშ, რაც უზრუნველყოფს რესურსების განაწილებისა და ოპერაციული პარამეტრების ცენტრალიზებულ კონტროლს.

აქ მოცემულია ძირითადი გლობალური სუბაგენტის პარამეტრები:

FieldTypeRequiredPurpose
agents.max_threadsnumberNoზღუდავს ერთდროული ღია აგენტების თრედების რაოდენობას. ნაგულისხმევად 6, თუ არ არის დაყენებული.
agents.max_depthnumberNoზღუდავს გაშვებული აგენტების ბუდობრივი სიღრმეს (ძირეული სესია იწყება 0-დან). ნაგულისხმევად 1. ხელს უშლის რეკურსიულ დელეგირებას უშუალო შვილების მიღმა ტოკენების მოხმარებისა და დაყოვნების სამართავად.
agents.job_max_runtime_secondsnumberNoადგენს ნაგულისხმევ timeout-ს თითო მუშაკისთვის spawn_agents_on_csv სამუშაოებში. თუ არ არის დაყენებული, ნაგულისხმევად 1800 წამი (30 წუთი).

agents.max_threads პარამეტრი, რომლის ნაგულისხმევი მნიშვნელობაა 6, უზრუნყოფს დაცვას ზედმეტი რესურსების მოხმარებისგან, ზღუდავს რა ერთდროულად მოქმედი სუბაგენტების რაოდენობას. agents.max_depth პარამეტრი, თავისი ნაგულისხმევი მნიშვნელობით 1, განსაკუთრებით მნიშვნელოვანია. მიუხედავად იმისა, რომ უფრო ღრმა ბუდობა შეიძლება მიმზიდველად მოგვეჩვენოს კომპლექსური დელეგირებისთვის, ამ მნიშვნელობის გაზრდამ შეიძლება გამოიწვიოს ტოკენების მოხმარების, დაყოვნების და ადგილობრივი რესურსების მოხმარების მნიშვნელოვანი ზრდა განმეორებითი fan-out-ის გამო. ზოგადად რეკომენდებულია ნაგულისხმევი მნიშვნელობის შენარჩუნება, თუ სპეციფიკური რეკურსიული დელეგირების ნიმუში აბსოლუტურად აუცილებელი არ არის და ფრთხილად იმართება.

მორგებული აგენტის ფაილებს ასევე შეუძლიათ მოიცავდნენ სხვა მხარდაჭერილი config.toml გასაღებები, რაც აფართოებს მათ კონფიგურირების შესაძლებლობებს სავალდებულო ველების მიღმა. ეს მოდულური და ფენიანი კონფიგურაციის მიდგომა უზრუნველყოფს, რომ დეველოპერებს ჰქონდეთ დეტალური კონტროლი თავიანთ AI აგენტებზე, რაც მათ საშუალებას აძლევს ოპტიმიზაცია მოახდინონ შესრულებისთვის, ღირებულებისთვის და უსაფრთხოებისთვის, მათი კონკრეტული განვითარების საჭიროებების შესაბამისად. ამ მძლავრი სუბაგენტების შესაძლებლობების გაგებითა და გამოყენებით, დეველოპერებს შეუძლიათ 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 სიახლეები ელფოსტაზე.

გაზიარება