Agent'lar
Özel agent'ları yapılandırın ve kullanın.
Agent’lar, belli görevlere ve iş akışlarına göre uyarlayabildiğiniz uzman AI asistanlarıdır. Her birine ayrı istem, model ve araç erişimi tanımlayarak işinize odaklanmış yardımcılar elde edersiniz.
Oturum içinde agent’lar arasında geçiş yapabilir ya da mesajınızda @ ile bahsederek doğrudan çağırabilirsiniz.
Türler
Kodine’da agent’lar ikiye ayrılır: birincil agent’lar ve alt agent’lar.
Birincil agent’lar
Doğrudan sohbet ettiğiniz ana yardımcılar birincil agent’lardır. Sekme tuşuyla ya da tanımladığınız switch_agent kısayoluyla aralarında gezinebilirsiniz. Ana konuşmayı bunlar yürütür; hangi araçlara erişebildikleri ise izinlerle belirlenir. Örneğin Build’de araçların tamamı açıkken Plan’da kısıtlıdır.
Kodine kurulumunda Build ve Plan adında iki yerleşik birincil agent hazır gelir. Bunları aşağıda inceleyeceğiz.
Alt agent’lar
Alt agent’lar, birincil agent’ların belirli işler için devreye alabildiği uzman yardımcılardır. İsterseniz mesajınızda @ ile anarak kendiniz de çağırabilirsiniz.
Kodine’la birlikte General, Explore ve Scout olmak üzere üç yerleşik alt agent gelir; detayları aşağıda.
Yerleşik
Kodine kutudan iki birincil ve üç alt agent ile çıkar.
Build Kullanımı
Mod: primary
Build, araçların tamamının açık olduğu varsayılan birincil agent’tır. Dosya işlemlerine ve sistem komutlarına sınırsız erişim gerektiren geliştirme işlerinde kullanacağınız standart agent budur.
Plan Kullanımı
Mod: primary
Analiz ve planlama odaklı, kısıtlı bir agent’tır. Kontrolü sizde tutmak ve beklenmedik değişikliklerin önüne geçmek için bir izin sistemi devrededir.
Varsayılan olarak aşağıdaki her şey ask konumundadır:
file edits: Tüm yazma, yama ve düzenleme işlemleribash: Tüm bash komutları
LLM’den kod tabanını incelemesini, öneride bulunmasını ya da plan çıkarmasını istediğinizde — ama hiçbir gerçek değişiklik yapmasını istemediğinizde — idealdir.
General Kullanımı
Mod: subagent
Karmaşık araştırmaları ve çok adımlı işleri üstlenen genel amaçlı bir agent’tır. (Yapılacaklar listesi hariç) araçların tamamına eriştiği için gerektiğinde dosya da değiştirebilir. Birden çok iş birimini aynı anda yürütmek istediğinizde kullanın.
Explore Kullanımı
Mod: subagent
Kod tabanında hızlı gezinti için tasarlanmış, salt okunur bir agent’tır; dosya değiştiremez. Kalıba uyan dosyaları bulmak, kod içinde anahtar kelime aramak ya da kod tabanı hakkında soru yanıtlamak gerektiğinde buna başvurun.
Scout Kullanımı
Mod: subagent
Dış kaynaklara ve bağımlılık araştırmalarına ayrılmış salt okunur bir agent’tır. Bir bağımlılık deposunu Kodine’ın yönettiği önbelleğe klonlamak, bir kütüphanenin kaynağını incelemek ya da çalışma alanınıza dokunmadan yerel kodu upstream sürümle kıyaslamak istediğinizde kullanın.
Compaction Kullanımı
Mod: primary
Uzun bağlamı daha ufak bir özete indiren gizli sistem agent’ıdır. Gerektiğinde kendiliğinden devreye girer; arayüzden seçilemez.
Title Kullanımı
Mod: primary
Oturumlara kısa başlıklar üreten gizli sistem agent’ıdır. Otomatik çalışır ve arayüzden seçilemez.
Summary Kullanımı
Mod: primary
Oturum özetleri hazırlayan gizli sistem agent’ıdır. Otomatik çalışır ve arayüzden seçilemez.
Kullanım
-
Birincil agent’lar arasında oturum içinde Sekme tuşuyla geçiş yapın; alternatif olarak tanımladığınız
switch_agentkısayolunu da kullanabilirsiniz. -
Alt agent’lar iki yolla devreye girer:
-
Birincil agent, açıklamalarına bakarak uygun gördüğü işlerde bunları kendiliğinden çağırır.
-
Siz de mesajınızda alt agent’ı @ ile anarak elle çağırabilirsiniz. Örneğin:
@general help me search for this function
-
-
Oturumlar arasında dolaşma: Bir alt agent kendi alt oturumunu açtığında, ana oturumla tüm alt oturumlar arasında şu kısayollarla dolaşabilirsiniz:
- <Leader>+Right (ya da tanımlı
session_child_cyclekısayolunuz) ebeveyn → çocuk1 → çocuk2 → … → ebeveyn yönünde ilerler - <Leader>+Left (ya da tanımlı
session_child_cycle_reversekısayolunuz) ebeveyn ← çocuk1 ← çocuk2 ← … ← ebeveyn yönünde geri gider
Böylece ana sohbetle alt agent’ların yürüttüğü işler arasında kesintisiz gidip gelebilirsiniz.
- <Leader>+Right (ya da tanımlı
Yapılandırma
Hazır gelen agent’ları değiştirebilir ya da sıfırdan kendi agent’larınızı tanımlayabilirsiniz. Yapılandırma iki yolla yapılır:
JSON
Agent tanımlarınızı kodine.json dosyanıza ekleyin:
{ "$schema": "https://kodine.net/config.json", "agent": { "build": { "mode": "primary", "model": "kodine/kodine-large", "prompt": "{file:./prompts/build.txt}", "tools": { "write": true, "edit": true, "bash": true } }, "plan": { "mode": "primary", "model": "kodine/kodine-small", "tools": { "write": false, "edit": false, "bash": false } }, "code-reviewer": { "description": "Reviews code for best practices and potential issues", "mode": "subagent", "model": "kodine/kodine-code", "prompt": "You are a code reviewer. Focus on security, performance, and maintainability.", "tools": { "write": false, "edit": false } } }}Markdown
Agent’ları Markdown dosyalarıyla da tanımlayabilirsiniz. Dosyaları şu konumlara koyun:
- Global:
~/.config/kodine/agents/ - Proje bazında:
.kodine/agents/
---description: Reviews code for quality and best practicesmode: subagentmodel: kodine/kodine-codetemperature: 0.1tools: write: false edit: false bash: false---
You are in code review mode. Focus on:
- Code quality and best practices- Potential bugs and edge cases- Performance implications- Security considerations
Provide constructive feedback without making direct changes.Dosya adı agent’ın adını belirler: review.md dosyası review adlı bir agent oluşturur.
Seçenekler
Şimdi yapılandırma seçeneklerini tek tek inceleyelim.
Açıklama
description seçeneği, agent’ın ne işe yaradığını ve hangi durumlarda devreye alınacağını kısaca anlatır.
{ "agent": { "review": { "description": "Reviews code for best practices and potential issues" } }}Bu seçeneğin doldurulması zorunludur.
Sıcaklık
temperature ayarı, LLM yanıtlarındaki rastgelelik ve yaratıcılık düzeyini belirler.
Düşük değerler daha kararlı ve odaklı çıktılar verir; değer yükseldikçe yanıtlar daha yaratıcı ve çeşitli olur.
{ "agent": { "plan": { "temperature": 0.1 }, "creative": { "temperature": 0.8 } }}Sıcaklık genelde 0,0 ile 1,0 aralığında seçilir:
- 0,0-0,2: Son derece odaklı ve kararlı yanıtlar; kod inceleme ve planlamada ideal
- 0,3-0,5: Hafif yaratıcılık barındıran dengeli yanıtlar; günlük geliştirme işlerine uygun
- 0,6-1,0: Daha yaratıcı ve çeşitli çıktılar; beyin fırtınası ve keşif işlerinde işe yarar
{ "agent": { "analyze": { "temperature": 0.1, "prompt": "{file:./prompts/analysis.txt}" }, "build": { "temperature": 0.3 }, "brainstorm": { "temperature": 0.7, "prompt": "{file:./prompts/creative.txt}" } }}Değer girmezseniz Kodine modelin kendi varsayılanını uygular; çoğu modelde bu 0’dır, bazı modellerde farklı bir değer kullanılır.
Maksimum adım
Bir agent’ın, yalnızca metin yanıtı vermeye zorlanmadan önce kaç yineleme yapabileceğini sınırlar. Böylece maliyetini dizginlemek isteyenler agent eylemlerine üst sınır koyabilir.
Bu değer boş bırakılırsa agent, model durana ya da siz oturumu kesene dek çalışmayı sürdürür.
{ "agent": { "quick-thinker": { "description": "Fast reasoning with limited iterations", "prompt": "You are a quick thinker. Solve problems with minimal steps.", "steps": 5 } }}Sınıra varıldığında agent’a özel bir sistem istemi gönderilir; bu istem, yaptıklarını özetleyip kalan işleri öneri olarak sıralamasını ister.
Devre dışı bırakma
Bir agent’ı tamamen kapatmak için değeri true yapın.
{ "agent": { "review": { "disable": true } }}İstem
prompt seçeneğiyle agent’a özel bir sistem istemi dosyası atayın. Bu dosya, agent’ın görevine özgü yönergeleri barındırmalıdır.
{ "agent": { "review": { "prompt": "{file:./prompts/code-review.txt}" } }}Yol, yapılandırma dosyasının bulunduğu dizine göre çözümlenir; yani hem global Kodine ayarlarında hem de proje bazlı ayarlarda aynı şekilde çalışır.
Model
model ayarıyla agent’ın kullanacağı modeli değiştirin. İşin niteliğine göre farklı modeller seçmek için birebirdir; örneğin planlamaya hızlı bir model, uygulamaya daha güçlü bir model atayabilirsiniz.
{ "agent": { "plan": { "model": "kodine/kodine-small" } }}Kodine yapılandırmasında model kimliği provider/model-id biçiminde yazılır. Örneğin Kodine Aura kullanıyorsanız Kodine Large için kodine/kodine-large değerini girersiniz.
Araçlar
tools yapılandırması, söz konusu agent’ta hangi araçların kullanılabileceğini belirler. Araçları tek tek true ya da false yaparak açıp kapatabilirsiniz.
{ "$schema": "https://kodine.net/config.json", "tools": { "write": true, "bash": true }, "agent": { "plan": { "tools": { "write": false, "bash": false } } }}Joker karakterlerle aynı anda pek çok aracı yönetebilirsiniz. Örneğin bir MCP sunucusunun bütün araçlarını kapatmak için:
{ "$schema": "https://kodine.net/config.json", "agent": { "readonly": { "tools": { "mymcp_*": false, "write": false, "edit": false } } }}Araçlar hakkında daha fazla bilgi.
İzinler
Bir agent’ın hangi eylemleri gerçekleştirebileceğini izinlerle düzenleyebilirsiniz. Şu anda edit, bash ve webfetch araçları için izin tanımlanabiliyor ve şu değerleri alabiliyor:
"ask"— Çalıştırmadan önce onay ister"allow"— Onay istemeden her işlemi yapar"deny"— Aracı tamamen kapatır
{ "$schema": "https://kodine.net/config.json", "permission": { "edit": "deny" }}Bu izinleri agent bazında ezebilirsiniz.
{ "$schema": "https://kodine.net/config.json", "permission": { "edit": "deny" }, "agent": { "build": { "permission": { "edit": "ask" } } }}Aynı izinleri Markdown tabanlı agent’larda da tanımlayabilirsiniz.
---description: Code review without editsmode: subagentpermission: edit: deny bash: "*": ask "git diff": allow "git log*": allow "grep *": allow webfetch: deny---
Only analyze code and suggest changes.Bash tarafında komut bazında izin vermek de mümkün.
{ "$schema": "https://kodine.net/config.json", "agent": { "build": { "permission": { "bash": { "git push": "ask", "grep *": "allow" } } } }}Kalıplarda glob deseni kullanılabilir.
{ "$schema": "https://kodine.net/config.json", "agent": { "build": { "permission": { "bash": { "git *": "ask" } } } }}Tüm komutları kapsayan bir kural için * jokerinden yararlanabilirsiniz.
Son eşleşen kural geçerli olduğu için * kalıbını en başa, özel kuralları sonraya yazın.
{ "$schema": "https://kodine.net/config.json", "agent": { "build": { "permission": { "bash": { "*": "ask", "git status *": "allow" } } } }}İzinler hakkında daha fazla bilgi.
Mod
mode seçeneği agent’ın hangi biçimde kullanılacağını tanımlar.
{ "agent": { "review": { "mode": "subagent" } }}mode için primary, subagent ya da all değerlerinden biri seçilebilir. Bir şey yazılmazsa varsayılan all kabul edilir.
Gizli
hidden: true verdiğiniz bir alt agent, @ otomatik tamamlama menüsünde görünmez. Yalnızca diğer agent’ların Task aracı üzerinden programatik biçimde çağırması amaçlanan dahili yardımcılar için uygundur.
{ "agent": { "internal-helper": { "mode": "subagent", "hidden": true } }}Bu ayar yalnızca menüdeki görünürlüğü değiştirir. İzinler elverdiği sürece gizli agent’lar, model tarafından Task aracıyla çağrılmaya devam edebilir.
Görev izinleri
permission.task ayarı, bir agent’ın Task aracı üzerinden hangi alt agent’ları çağırabileceğini denetler. Eşleştirmede glob desenleri kullanılır.
{ "agent": { "orchestrator": { "mode": "primary", "permission": { "task": { "*": "deny", "orchestrator-*": "allow", "code-reviewer": "ask" } } } }}Bir alt agent deny konumundaysa Task aracının açıklamasından tümüyle çıkarılır; dolayısıyla model onu çağırmayı denemez bile.
Renk
color seçeneği, agent’ın arayüzdeki rengini belirler; yani agent’ın ekranda nasıl görüneceğini etkiler.
Geçerli bir onaltılık renk kodu (ör. #FF5733) ya da şu tema renklerinden biri kullanılabilir: primary, secondary, accent, success, warning, error, info.
{ "agent": { "creative": { "color": "#ff6b6b" }, "code-reviewer": { "color": "accent" } }}Top P
top_p seçeneği yanıt çeşitliliğini düzenler; rastgeleliği ayarlamak için sıcaklığa alternatif bir yoldur.
{ "agent": { "brainstorm": { "top_p": 0.9 } }}Değer 0,0 ile 1,0 arasında verilir. Düşük değerler daha odaklı, yüksek değerler daha çeşitli çıktılar üretir.
Ek
Agent yapılandırmasına eklediğiniz diğer alanlar, model seçeneği olarak doğrudan sağlayıcıya gönderilir. Böylece sağlayıcıya özgü parametreleri kullanabilirsiniz.
Örneğin akıl yürütme destekli modellerde akıl yürütme yoğunluğunu şu şekilde ayarlayabilirsiniz:
{ "agent": { "deep-thinker": { "description": "Agent that uses high reasoning effort for complex problems", "model": "kodine/kodine-max", "reasoningEffort": "high", "textVerbosity": "low" } }}Bu ek alanlar modele ve sağlayıcıya göre değişir. Kullanılabilecek parametreler için sağlayıcınızın belgelerine başvurun.
Agent Oluşturma
Yeni bir agent oluşturmak için şu komutu kullanın:
kodine agent createBu etkileşimli komut adım adım ilerler:
- Agent’ın nereye kaydedileceğini sorar; global mi yoksa projeye özel mi.
- Agent’ın ne yapmasını istediğinizi açıklamanızı ister.
- Uygun bir sistem istemi ve tanıtıcı üretir.
- Agent’ın hangi araçlara erişeceğini seçtir.
- Son olarak yapılandırmayı içeren bir Markdown dosyası oluşturur.
Kullanım Senaryoları
Farklı agent’ların sık kullanıldığı bazı senaryolar şöyle:
- Build agent: Araçların tamamının açık olduğu tam kapsamlı geliştirme işleri
- Plan agent: Hiçbir değişiklik yapmadan analiz ve plan çıkarma
- Review agent: Salt okunur erişim ve dokümantasyon araçlarıyla kod inceleme
- Debug agent: Bash ve okuma araçları açıkken sorun araştırması
- Docs agent: Sistem komutları olmadan, yalnızca dosya işlemleriyle dokümantasyon yazımı
Örnekler
İşinize yarayabilecek birkaç örnek agent tanımı:
Dokümantasyon agent’ı
---description: Writes and maintains project documentationmode: subagenttools: bash: false---
You are a technical writer. Create clear, comprehensive documentation.
Focus on:
- Clear explanations- Proper structure- Code examples- User-friendly languageGüvenlik denetçisi
---description: Performs security audits and identifies vulnerabilitiesmode: subagenttools: write: false edit: false---
You are a security expert. Focus on identifying potential security issues.
Look for:
- Input validation vulnerabilities- Authentication and authorization flaws- Data exposure risks- Dependency vulnerabilities- Configuration security issues