Yapılandırma

Agent personaları

Bir subagentin rolünü, odağını ve tool erişimini şekillendiren yeniden kullanılabilir persona dosyaları oluştur. Bir subagentin neyi arayacağını, çıktısını nasıl biçimlendireceğini ve ne yapmasına izin verilmediğini tanımla.

Agent personaları, başlatılan bir subagentin rolünü ve davranışını yapılandıran markdown dosyalarıdır. Özel mod ana görevin nasıl çalıştığını belirlerken, persona yardımcı subagentin nasıl çalışacağını belirler. Subagentin kimliğini, kontrol listesini, çıktı biçimini ve kısıtlamalarını kontrol eder.

Personalar nasıl çalışır

Bob bir subagent başlattığında, .bob/agents/ dizininde göreve uyan bir açıklamaya sahip persona dosyası arar. Bir dosya bulunursa, persona subagentin modu olarak yüklenir: rol gövdesi subagentin system promptuna enjekte edilir ve temel talimatlarının üzerine katmanlanır.

Personalar ana konuşmaya otomatik olarak yüklenmez. Yalnızca bir subagent başlatıldığında etkili olurlar; bu ya Bob'un kendi inisiyatifiyle ya da Bob'dan belirli bir görevi devretmesini istediğinde gerçekleşir.

Persona dosyası biçimi

Persona dosyaları, serbest biçimli bir rol gövdesiyle birlikte YAML front matter kullanır:

---
name: code-reviewer
description: Reviews code for correctness, readability, and maintainability. Read-only.
tools:
  - read
---

You are a senior software engineer conducting a structured code review.

Review each file against this checklist:
1. Correctness: logic errors, missing null checks, unhandled edge cases
2. Readability: long methods, deep nesting, unclear naming
3. Maintainability: tight coupling, missing abstraction, duplicated logic

Report findings in a table with columns: Severity, File, Lines, Description.
Use severity levels: HIGH, MEDIUM, LOW.

Do not suggest fixes. Describe issues only.

Front matter alanları

AlanGerekliTürAmaç
nameEvetstringLoglarda kullanılan tanımlayıcı. .md olmadan dosya adıyla eşleşmelidir.
descriptionEvetstringBob bunu personayı bir görevle eşleştirmek için kullanır. Tek satırlık bir misyon bildirisi olarak yaz.
toolsHayırlistSubagentin hangi tool gruplarını kullanabileceğini kısıtlar. Varsayılanları devralmak için atla.

Tool grupları

tools alanı özel modlarla aynı grupları kabul eder: read, edit, command, browser, mcp.

Gözden geçirenler, planlayıcılar ve özetleyiciler gibi salt okunur personalar için tools: [read] ayarını yap ve böylece yanlışlıkla düzenleme yapılmasını önle.

tools alanı bir izin vermek değil, bir tavan oluşturur. Aktif görevin Düzenleme izni etkin değilse, bir personada tools: [edit] ayarlamak hiçbir etkisi olmaz. Persona yalnızca tool erişimini kısıtlayabilir, görevin izin verdiğinden fazlasına genişletemez.

Dosya konumu

KonumKapsamKullanım durumu
<proje>/.bob/agents/Yalnızca bu projeRepoya commit edilen ekip tarafından paylaşılan personalar
~/.bob/agents/Bu makinedeki tüm projelerTüm repolar genelinde geçerli olan kişisel personalar

Her iki konum da aynı ada sahip bir persona içeriyorsa, proje düzeyindeki dosya önceliklidir.

.bob/ dizini, diğer yapılandırma dosyalarının yanında personalar içerebilir:

code-reviewer.md
pr-summarizer.md
custom_modes.yaml

İlk personanı oluşturma

Proje kök dizininde agents dizinini oluştur:

mkdir -p .bob/agents

Bir persona dosyası oluştur. Dosya adı (.md olmadan) front matter'daki name alanıyla eşleşmelidir.

touch .bob/agents/code-reviewer.md

Front matter ve rol gövdesini ekle. Yapı için yukarıdaki Persona dosyası biçimi bölümüne bak.

Ekibinin aynı personaları paylaşması için dosyayı reponuza commit et.

Örnek personalar

code-reviewer.md

Kaynak dosyaları doğruluk, okunabilirlik ve sürdürülebilirlik açısından inceler. Önem derecesine göre sıralanmış bir bulgular tablosu oluşturur ve düzeltme önermez.

---
name: code-reviewer
description: Reviews code for correctness, readability, and maintainability. Read-only.
tools:
  - read
---

You are a senior software engineer conducting a structured code review.

Review each file against this checklist:
1. Correctness: logic errors, missing null checks, unhandled edge cases
2. Readability: long methods, deep nesting, unclear naming
3. Maintainability: tight coupling, missing abstraction, duplicated logic

Report findings in a table with columns: Severity, File, Lines, Description.
Use severity levels: HIGH, MEDIUM, LOW.

Do not suggest fixes. Describe issues only.
If a file has no findings, list it explicitly as clean.

pr-summarizer.md

Değiştirilen dosyalar kümesini okur ve neyin değiştiğini, olası amacı ve gözden geçirenin dikkat etmesi gereken alanları kapsayan yapılandırılmış bir pull request açıklaması üretir.

---
name: pr-summarizer
description: Reads changed files and produces a structured pull request description. Read-only.
tools:
  - read
---

You are a developer writing a pull request description for a teammate.

Read the provided files and produce a PR description with these sections:

**Summary**: One or two sentences describing what this change does.
**Why**: The likely motivation, inferred from the code changes.
**What changed**: A bullet list of the key changes, grouped by area if there are several.
**Reviewer notes**: Anything the reviewer should pay particular attention to, including edge cases, intentional trade-offs, or areas of uncertainty.

Write in plain, direct language. Do not pad the description.
Do not list every file changed. Focus on what matters to the reviewer.

Persona kullanımı

Bob'dan bir görevi devretmesini isterken personaya adıyla başvur:

Use the code-reviewer persona to review the files in src/auth/.
Spawn a subagent using the pr-summarizer persona.
Read the changed files in this branch and produce a PR description.

Bob, .bob/agents/ dizininden eşleşen personayı yükler ve başlatılan subagente uygular.

Satır içi personalar

Tek seferlik bir görev için, dosya oluşturmadan rolü doğrudan promptuna yazabilirsin:

Spawn an Explore subagent with this role:
You are a naming auditor. Read all files under src/ and flag variable and
function names that use abbreviations or are misleading. Return a table:
File, Line, Current Name, Issue.

Satır içi roller tek bir görev için dosya tabanlı personalar kadar iyi çalışır. Birden fazla görevde aynı rolü yeniden kullanmak veya ekibinle paylaşmak istediğinde persona dosyaları oluşturmaya değer.

Konuşma geçmişini iletme

Varsayılan olarak, bir subagent yalnızca görev açıklamasını alır. Önceki konuşma turlarını görmez. Bu, bağlamını küçük ve odaklı tutar.

Bir subagentin konuşmada daha önce ifade edilen kararları veya kısıtlamaları dikkate alması gerektiğinde, promptunu önceki bağlama atıfta bulunacak şekilde yaz:

Use the code-reviewer persona to review src/payments/.
Take into account what we discussed about the error handling approach.

Bob, "what we discussed" veya "our earlier decision" gibi ifadelerden fork_context: true değerini çıkarır ve konuşma geçmişini subagente iletir.

Not:

Konuşma geçmişini iletmek, tüm konuşmayı subagentin context window'una kopyalar. Uzun bir konuşmada bu, önemli bir token maliyeti ekler. Subagent gerçekten işini yapmak için önceki bağlama ihtiyaç duymadıkça varsayılanı (çatallanmış bağlam yok) tercih et.

Personalar, modlar ve kurallar

MekanizmaKapsamNe kontrol ederNe zaman kullanılır
ModTüm görevAna görev için tool tavanı ve rol tanımıAna ajanın salt okunur, docs yazarı veya güvenlik gözden geçireni gibi farklı bir duruşa ihtiyacı olduğunda
KuralGörev veya modSystem prompta yüklenen kalıcı talimatlarTakım kuralları, biçimlendirme standartları, her seferinde geçerli olan koruma önlemleri
PersonaTek bir subagentBaşlatılan subagent için rol, odak, çıktı biçimi ve tool kısıtlamalarıBir yardımcının alan odağına ihtiyacı olduğunda: kodu inceleme, değişiklikleri özetleme, testleri planlama
Bu konu nasıl?