Alt ajanlar

ChatGPT ve Codex'te alt ajanları kullanın ve özel Codex ajanlarını yapılandırın

ChatGPT Work ve Codex, uzmanlaşmış ajanları paralel olarak başlatıp sonuçlarını tek bir yanıtta toplayarak alt ajan iş akışlarını çalıştırabilir. Bu, kod tabanını keşfetme veya çok adımlı bir özellik planını uygulama gibi yoğun biçimde paralelleştirilebilen karmaşık görevlerde özellikle yararlı olabilir.

Yerel Codex istemcilerinde farklı görevler için farklı model yapılandırmalarına ve talimatlara sahip özel ajanlar da tanımlayabilirsiniz.

Kullanılabilirlik

Güncel Codex sürümlerinde alt ajan iş akışları varsayılan olarak etkindir. Alt ajan etkinliği ChatGPT masaüstü uygulamasında, Codex CLI'da ve IDE uzantısında görünür.

Her alt ajan kendi model ve araç çalışmasını gerçekleştirdiğinden, alt ajan iş akışları karşılaştırılabilir tek ajanlı çalıştırmalardan daha fazla token tüketir.

Bir uygulama sohbetinde Codex'ten işin bağımsız bölümlerini alt ajanlara devretmesini isteyin. Güncel yerel Codex sürümleri, doğrudan istediğinizde veya geçerli AGENTS.md ya da skill talimatları bunu gerektirdiğinde görev devreder. Uygulama, her alt ajan iş parçacığını görünür kılar; böylece çalışmalarını ve ana sohbete döndürülen özeti inceleyebilirsiniz.

Alt ajan iş akışları neden yararlıdır

Geniş bağlam pencerelerinde bile modellerin sınırları vardır. Gereksinimleri, kısıtlamaları ve kararları tanımladığınız ana sohbeti keşif notları, test günlükleri, yığın izleri ve komut çıktıları gibi gürültülü ara çıktılarla doldurursanız oturum zamanla daha az güvenilir hâle gelebilir.

Bu durum genellikle şöyle tanımlanır:

  • Bağlam kirliliği: Yararlı bilgiler, gürültülü ara çıktıların altında kalır.
  • Bağlam çürümesi: Sohbet daha az ilgili ayrıntılarla doldukça performans düşer.

Arka plan bilgisi için Chroma'nın bağlam çürümesi yazısına bakın.

Alt ajan iş akışları, gürültülü çalışmaları ana iş parçacığından uzaklaştırarak yardımcı olur:

  • Ana ajanın gereksinimlere, kararlara ve nihai çıktılara odaklanmasını sağlayın.
  • Keşif, testler veya günlük analizi için uzmanlaşmış alt ajanları paralel olarak çalıştırın.
  • Ham ara çıktılar yerine alt ajanlardan özetler alın.

Ayrıca işler bağımsız olarak paralel yürütülebildiğinde zaman kazandırabilir ve daha geniş kapsamlı görevleri sınırlı parçalara ayırarak daha yönetilebilir hâle getirirler. Örneğin Codex, milyonlarca token içeren bir belgenin analizini daha küçük problemlere bölebilir ve süzülmüş çıkarımları ana iş parçacığına döndürebilir.

Başlangıç olarak keşif, test, triyaj ve özetleme gibi okuma ağırlıklı görevlerde paralel ajanları kullanın. Birden çok ajanın aynı anda kod düzenlemesi çakışmalara yol açabileceği ve koordinasyon yükünü artırabileceği için paralel yazma ağırlıklı iş akışlarında daha dikkatli olun.

Temel terimler

Codex, alt ajan iş akışlarında birbiriyle ilişkili birkaç terim kullanır:

  • Alt ajan iş akışı: Codex'in paralel ajanlar çalıştırdığı ve sonuçlarını birleştirdiği iş akışı.
  • Alt ajan: Codex'in belirli bir görevi ele almak üzere başlattığı, görev devredilmiş ajan.
  • Ajan iş parçacığı: Bir alt ajanın çalışmasını yürüttüğü iş parçacığı. Desteklenen istemciler, ilerlemeyi veya sonuçları incelemek üzere bu iş parçacıklarını açmanıza olanak tanır.

Alt ajan iş akışlarını tetikleme

Alt ajanları veya paralel ajan çalışmasını doğrudan isteyin. Codex ayrıca geçerli proje ya da skill talimatları gerektirdiğinde görev devredebilir.

Pratikte elle tetikleme; "iki ajan başlat", "bu işi paralel olarak devret" veya "her nokta için bir ajan kullan" gibi doğrudan talimatlar vermek anlamına gelir. Her alt ajan kendi model ve araç çalışmasını gerçekleştirdiği için alt ajan iş akışları, karşılaştırılabilir tek ajanlı çalıştırmalardan daha fazla token tüketir.

İyi bir alt ajan prompt'ı, işin nasıl bölüneceğini, Codex'in devam etmeden önce tüm ajanları bekleyip beklemeyeceğini ve hangi özetin ya da çıktının döndürüleceğini açıklamalıdır.

Review this branch with parallel subagents. Spawn one subagent for security risks, one for test gaps, and one for maintainability. Wait for all three, then summarize the findings by category with file references.

Model ve akıl yürütme seçimi

Farklı ajanlar farklı model ve akıl yürütme ayarlarına ihtiyaç duyar.

Bir alt ajan modeli veya model_reasoning_effort yapılandırmazsanız, alt ajan üst ajanın modelini ve akıl yürütme çabasını devralır. Açık bir oluşturma isteği veya bir [agents] varsayılanı, açıkça belirtilmiş ya da yapılandırılmış bir akıl yürütme çabası olmadan bir model seçerse alt ajan o modelin varsayılan akıl yürütme çabasını kullanır. Her görev için zekâ, hız ve fiyatı dengelemek üzere prompt'ınızda belirli bir model veya akıl yürütme çabası isteyin, [agents] varsayılanlarını config.toml içinde yapılandırın ya da model ve model_reasoning_effort değerlerini doğrudan özel ajan dosyasında ayarlayın. Örneğin, hızlı taramalar için gpt-6-luna veya daha zorlu akıl yürütme işleri için daha yüksek çaba düzeyine sahip bir gpt-6.1-sol yapılandırması kullanın.

Model seçimi

  • gpt-6.1-sol: Zorlu görevleri üstlenen ajanlar için buradan başlayın. Daha geniş bir bağlamda planlama, araç kullanımı, doğrulama ve işi sonuna kadar takip etmeyi gerektiren belirsiz, çok adımlı işler için kullanın.
  • gpt-6-luna: Net, tekrarlanabilir veya yüksek hacimli işleri yürüten hızlı ve dar kapsamlı ajanlar için kullanın.

Akıl yürütme düzeyi (model_reasoning_effort)

GPT-6.1 Sol için istemcinizin ve seçtiğiniz modelin desteklediği bir akıl yürütme çabası kullanın. Model ayarlarını açıkça belirtirken GPT-6 Luna için high veya GPT-6 Astra için low ile başlayın. Seçilen modelin desteklediği bir düzeyi kullanarak göreve göre ayarlayın.

  • ultra: Seçilen model destekliyorsa en derin akıl yürütme için kullanın.
  • max ve xhigh: Seçilen model bu düzeyleri destekliyorsa özellikle zorlu akıl yürütme işleri için kullanın.
  • high: Bir ajanın karmaşık mantığı izlemesi, varsayımları denetlemesi veya uç durumları ele alması gerektiğinde kullanın (örneğin, inceleme yapan veya güvenliğe odaklanan ajanlar).
  • medium: Hız ile derinliği dengeler.
  • low: Görev basit olduğunda ve hız en önemli öncelik olduğunda kullanın.

Daha yüksek akıl yürütme düzeyi yanıt süresini ve token kullanımını artırır, ancak karmaşık işlerde kaliteyi yükseltebilir. Ayrıntılar için Modeller, Yapılandırma temelleri ve Yapılandırma Referansı bölümlerine bakın.

Orkestrasyon ve iş parçacığı denetimleri

ChatGPT veya Codex; yeni alt ajanları başlatma, takip talimatlarını yönlendirme, sonuçları bekleme ve ajan iş parçacıklarını kapatma dâhil olmak üzere ajanlar arasındaki orkestrasyonu yönetir.

Çok sayıda ajan çalışırken Codex, istenen tüm sonuçlar hazır olana kadar bekler ve ardından birleştirilmiş bir yanıt döndürür.

Güncel yerel Codex sürümleri, doğrudan bir istekten veya geçerli proje ya da skill talimatından sonra ajanları başlatır.

Nasıl çalıştığını görmek için projenizde şu prompt'ı deneyin:

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
5. Test flakiness
6. Maintainability of the code

Alt ajanları yönetme

  • Çalışmasını incelemek için ana iş parçacığında gösterilen etkinlikten bir alt ajan iş parçacığını açın.
  • Çalışan bir alt ajanı yönlendirmesini, durdurmasını veya tamamlanmış alt ajan iş parçacıklarını kapatmasını doğrudan Codex'ten isteyin.

Onaylar ve korumalı alan denetimleri

Alt ajanlar geçerli korumalı alan politikanızı devralır.

Alt ajanlar ileti yazma alanının altında seçilen izin modunu devralır. Codex'ten görev devretmesini istemeden önce üst tur için izin modunu seçin.

Korumalı alan ve onay denetimlerini üst oturumda ayarlayın. Özel ajan talimatları bir ajandan düzenleme yapmamasını isteyebilir, ancak ayrı bir salt okunur korumalı alan oluşturmaz.

Özel ajanlar

Codex yerleşik ajanlarla birlikte gelir:

  • default: Genel amaçlı yedek ajan.
  • worker: Uygulama ve düzeltmelere odaklanan yürütme ajanı.
  • explorer: Okuma ağırlıklı kod tabanı keşif ajanı.

Kendi özel ajanlarınızı tanımlamak için kişisel ajanlar adına ~/.codex/agents/ veya proje kapsamındaki ajanlar adına .codex/agents/ altına bağımsız TOML dosyaları ekleyin.

Her dosya bir özel ajan tanımlar. Özel ajanlar model ayarlarını ve talimatlarını değiştirebilir veya desteklenen yetenekleri devre dışı bırakabilir. Üst ajanın izinlerini, sağlayıcısını ve MCP server'larını devralırlar; özel ajan dosyası bu ayarları geçersiz kılamaz.

Her bağımsız özel ajan dosyası şunları tanımlamalıdır:

  • name
  • description
  • developer_instructions

Özel ajan dosyasında model veya model_reasoning_effort ayarlanmışsa dosyadaki değer önceliklidir. Codex, dosyayı uygulamadan önce her ayarı sırasıyla ajan oluşturulurken açıkça belirtilen değerden, ilgili [agents] varsayılanından ve ardından üst ajanın değerinden belirler. Açık bir ajan oluşturma isteği veya [agents] varsayılanı bir model seçiyor ve ikisi de akıl yürütme çabası belirtmiyorsa Codex bu modelin varsayılan çaba düzeyini kullanır. Yalnızca model ayarını belirleyen özel ajan dosyası önceden belirlenen bu çaba düzeyini korur. Dosyada model_reasoning_effort ayarını da belirleyin; seçilen model bu çaba düzeyini desteklemiyorsa veya farklı bir düzey istiyorsanız bu gereklidir. Beceriler üst ajandan devralınır ve özel ajan skills.config ile becerileri tek tek devre dışı bırakabilir.

Genel ayarlar

Genel alt ajan ayarları hâlâ yapılandırmanızdaki [agents] altında bulunur.

Alan Tür Gerekli Amaç
agents.enabled boolean Hayır Çok ajanlı araçları etkinleştirin veya devre dışı bırakın.
agents.max_concurrent_threads_per_session number Hayır Birincil iş parçacığı hariç eşzamanlı açık başlatılmış ajan iş parçacıklarını sınırlayın.
agents.default_subagent_model string Hayır Başlatılan ajanlar için varsayılan modeli ayarlayın.
agents.default_subagent_reasoning_effort string Hayır Başlatılan ajanlar için varsayılan akıl yürütme düzeyini ayarlayın.
agents.interrupt_message boolean Hayır Bir ajan turu kesildiğinde modelin görebileceği bir mesaj kaydedin.

Notlar:

  • agents.enabled varsayılan olarak true değerini alır. Çok ajanlı araçları devre dışı bırakmak için bunu false olarak ayarlayın.
  • agents.max_concurrent_threads_per_session ayarını belirtmediğinizde varsayılanı Codex seçer. Mevcut yapılandırmalar eski bir takma ad olarak agents.max_threads kullanmaya devam edebilir.
  • Açık başlatma değerleri agents.default_subagent_model ve agents.default_subagent_reasoning_effort değerlerini geçersiz kılar.
  • agents.interrupt_message varsayılan olarak true değerini alır. Modelin görebileceği kesinti mesajını ajanın bağlamından çıkarmak için bunu false olarak ayarlayın.
  • Özel bir ajan adı explorer gibi yerleşik bir ajanla eşleşirse özel ajanınız öncelikli olur.

Özel ajan dosyası şeması

Alan Tür Gerekli Amaç
name string Evet Codex'in ajanı başlatırken veya ajana atıfta bulunurken kullandığı ad.
description string Evet Codex'in bu ajanı ne zaman kullanması gerektiğine ilişkin kullanıcıya yönelik yönerge.
developer_instructions string Evet Ajanın davranışını tanımlayan temel talimatlar.

Model davranışını özelleştirmek için model, model_reasoning_effort, model_reasoning_summary ve model_verbosity ayarlarını kullanın. Bu ayarların kabul ettiği değerler için yapılandırma başvurusuna bakın.

Özel ajanın yeteneklerini azaltmak için desteklenen özellik anahtarlarını false olarak ayarlayın: features.shell_tool, features.apps, features.plugins, features.memories veya features.request_permissions_tool. Becerileri tek tek skills.config ile, paketle gelen becerileri ise skills.bundled.enabled = false ile devre dışı bırakın. skills.include_instructions = false ayarını kullanarak otomatik beceri talimatları bloğunu hariç tutun. Yönetilen gereksinimler geçerliliğini korur.

sandbox_mode, approval_policy, model_provider ve mcp_servers dahil diğer oturum ayarları, özel ajan dosyasına konulduğunda üst oturumun yapılandırmasını geçersiz kılmaz. Hizmet katmanı da kök oturumun tercihine uyar. Ajanın MCP server'larını kullanabilmesi için bunları üst oturumda yapılandırın.

Codex özel ajanı name alanıyla tanımlar. Dosya adını ajan adıyla eşleştirmek en basit kuraldır, ancak doğruluk kaynağı name alanıdır.

Özel ajan örnekleri

En iyi özel ajanlar dar kapsamlı ve belirgin tercihlere sahiptir. Her birine net bir iş, bu işle eşleşen bir araç yüzeyi ve komşu işlere kaymasını önleyen talimatlar verin.

Örneklerde GPT-6.1 Sol kullanılır; oturum açtığınız hesabın veya çalışma alanının bu modele erişimi olması gerekir. Model kullanılamıyorsa erişebildiğiniz bir modeli seçin.

Örnek 1: PR incelemesi

Bu kalıp, incelemeyi üç odaklı özel ajan arasında böler:

  • pr_explorer kod tabanının haritasını çıkarır ve kanıt toplar.
  • reviewer doğruluk, güvenlik ve test risklerini arar.
  • docs_researcher özel bir MCP server aracılığıyla çerçeve veya API belgelerini denetler.

Proje yapılandırması (.codex/config.toml):

[agents]
max_concurrent_threads_per_session = 8

[mcp_servers.openaiDeveloperDocs]
url = "https://developers.openai.com/mcp"

.codex/agents/pr-explorer.toml:

name = "pr_explorer"
description = "Read-only codebase explorer for gathering evidence before changes are proposed."
model = "gpt-6-luna"
model_reasoning_effort = "high"
developer_instructions = """
Stay in exploration mode.
Do not edit files.
Trace the real execution path, cite files and symbols, and avoid proposing fixes unless the parent agent asks for them.
Prefer fast search and targeted file reads over broad scans.
"""

.codex/agents/reviewer.toml:

name = "reviewer"
description = "PR reviewer focused on correctness, security, and missing tests."
model = "gpt-6.1-sol"
model_reasoning_effort = "medium"
developer_instructions = """
Review code like an owner.
Do not edit files.
Prioritize correctness, security, behavior regressions, and missing test coverage.
Lead with concrete findings, include reproduction steps when possible, and avoid style-only comments unless they hide a real bug.
"""

.codex/agents/docs-researcher.toml:

name = "docs_researcher"
description = "Documentation specialist that uses the docs MCP server to verify APIs and framework behavior."
model = "gpt-6-luna"
model_reasoning_effort = "high"
developer_instructions = """
Use the docs MCP server to confirm APIs, options, and version-specific behavior.
Return concise answers with links or exact references when available.
Do not make code changes.
"""

Bu kurulum aşağıdaki gibi prompt'larla iyi çalışır:

Review this branch against main. Have pr_explorer map the affected code paths, reviewer find real risks, and docs_researcher verify the framework APIs that the patch relies on.

Örnek 2: Ön yüz entegrasyonu hata ayıklama

Bu kalıp; kullanıcı arayüzü gerilemeleri, kararsız tarayıcı akışları veya uygulama koduyla çalışan ürünü kesen entegrasyon hataları için kullanışlıdır.

Proje yapılandırması (.codex/config.toml):

[agents]
max_concurrent_threads_per_session = 6

[mcp_servers.chrome_devtools]
url = "http://localhost:3000/mcp"
startup_timeout_sec = 20

.codex/agents/code-mapper.toml:

name = "code_mapper"
description = "Read-only codebase explorer for locating the relevant frontend and backend code paths."
model = "gpt-6-luna"
model_reasoning_effort = "high"
developer_instructions = """
Map the code that owns the failing UI flow.
Do not edit files.
Identify entry points, state transitions, and likely files before the worker starts editing.
"""

.codex/agents/browser-debugger.toml:

name = "browser_debugger"
description = "UI debugger that uses browser tooling to reproduce issues and capture evidence."
model = "gpt-6.1-sol"
model_reasoning_effort = "medium"
developer_instructions = """
Reproduce the issue in the browser, capture exact steps, and report what the UI actually does.
Use browser tooling for screenshots, console output, and network evidence.
Do not edit application code.
"""

.codex/agents/ui-fixer.toml:

name = "ui_fixer"
description = "Implementation-focused agent for small, targeted fixes after the issue is understood."
model = "gpt-6-luna"
model_reasoning_effort = "high"
developer_instructions = """
Own the fix once the issue is reproduced.
Make the smallest defensible change, keep unrelated files untouched, and validate only the behavior you changed.
"""

[[skills.config]]
path = "/Users/me/.agents/skills/docs-editor/SKILL.md"
enabled = false

Bu kurulum aşağıdaki gibi prompt'larla iyi çalışır:

Investigate why the settings modal fails to save. Have browser_debugger reproduce it, code_mapper trace the responsible code path, and ui_fixer implement the smallest fix once the failure mode is clear.