Prompt library nedir, ne zaman gerekir?
Bir LLM uygulamasında üç-beş prompt varsa source code'da inline tutmak yeterli. Yirmi+ prompt'lu uygulamada veya birden fazla uygulamayı paylaşan organizasyonda prompt library'ye ihtiyaç çıkar. AIOR olarak müşteri LLM projelerinde prompt sayısı kritik eşiği geçtiğinde library yapısına geçiyoruz.Prompt'ları organize etmenin yolları
Pratikte gördüğümüz üç yaklaşım:- Dosya tabanlı — her prompt ayrı .md veya .yaml dosyada; git ile versiyonlanır.
- Database-stored — prompt'lar DB'de, admin UI ile yönetilir.
- Dedicated platform — LangSmith, PromptLayer, Helicone, BAML gibi araçlar.
AIOR projelerinde küçük-orta projeler için dosya tabanlı yeterli; büyük projeler için dedicated platform.
Prompt metadata — sadece text değil
İyi bir prompt library her prompt için zengin metadata tutar:- Adı ve versiyonu.
- Açıklama (ne yapar, ne için).
- Hedef model (Claude, GPT-4, Gemini).
- Beklenen output format.
- Test case'lere referans.
- Owner (kim sorumlu).
- Last modified date.
- Eval suite performance metrics.
- Production usage stats.
Bu metadata olmadan library zamanla "kim yazdı, ne işe yarar" karmaşası haline gelir.
Versiyonlama — semantic versioning
Prompt değişiklikleri yazılım değişiklikleri kadar dikkat gerektirir. AIOR'da semantic versioning uyguluyoruz:- Major (1.0.0 → 2.0.0) — breaking change (format, scope, output yapısı değişti).
- Minor (1.0.0 → 1.1.0) — yeni özellik, mevcut davranış korunur.
- Patch (1.0.0 → 1.0.1) — küçük iyileştirme, semantik değişmez.
Production'da prompt versiyonu açıkça referanslanır; rollback kolay.
Template ve parameter substitution
Prompt'lar genellikle dinamik değişkenler içerir (kullanıcı adı, bağlam, tarih). Templating standardı:
Code:
Sen bir {role} asistanısın. {current_date} tarihinde {customer_name} ile konuşuyorsun.
Kullanıcı sorusu: {user_input}
Lütfen {language} dilinde cevap ver.
AIOR'da Jinja2 veya Handlebars syntax'i tercih ediyoruz — escape ve conditional logic native.
Composability — prompt'ları birleştirme
Büyük prompt'lar modüler parçalara ayrılır:- Base personality — model'in karakterini tanımlar.
- Domain knowledge — sektör-spesifik kurallar.
- Tool definitions — kullanılabilir araçlar.
- Output format — yapılandırılmış çıktı kuralları.
- Safety guardrails — yasakları.
Bu parçalar farklı kombinasyonlarla bir araya gelir. AIOR'da müşteri-specific prompt'lar base + domain + safety katmanlarının kompozisyonudur.
Lokalizasyon
Bilingual veya multilingual uygulamalarda prompt'un dili de değişken. AIOR projelerinde:- Her prompt'un TR ve EN versiyonu ayrı dosyalarda.
- Detection layer kullanıcı dilini belirler.
- Uygun versiyon load edilir.
- Output formatı tüm dillerde aynı (JSON schema değişmez).
Access control
Hassas prompt'lar (sistem prompt'ları, kurumsal logic içeren) repo'da kalmamalı. AIOR'ın yaklaşımı:- Public/protected/internal/restricted seviyeler.
- Restricted prompts AWS Secrets Manager veya Vault'ta.
- Production deploy sırasında inject edilir.
- Audit log — kim erişti, ne zaman.
Prompt diff ve review
Prompt değişiklikleri code review'dan geçmeli. AIOR'da prompt PR'larında ek kontroller:- Eval suite passing.
- Token budget değişimi (artış varsa açıklama).
- Diff sadeleşmiş mi yoksa karmaşıklaşmış mı.
- Backward compatibility kontrol.
Sharing — takım içi ve dış
Takım büyüdükçe prompt paylaşımı önemli. AIOR'da internal prompt library:- GitHub repo'da merkezi.
- Doc-as-code yaklaşımı — her prompt için README.
- Search edilebilir (semantic + keyword).
- Contribution guidelines.
External paylaşım (müşteriye export, open-source publish) için sensitive verilerin scrubbing'i şart.
Sonuç
Prompt library 2026'da büyüyen LLM uygulamalarının operasyonel temeli. Doğru organizasyon, semantic versioning, composability ve access control ile prompt'lar takımın asset'i haline gelir. AIOR olarak müşteri LLM projelerinde prompt library yapısını standart paket halinde teslim ediyoruz. Sizin tarafınızda prompt'ları nasıl organize ediyorsunuz — code'da inline mi, ayrı dosyalar mı, yoksa dedicated tool mu?What is a prompt library and when is it needed?
With three to five prompts in an LLM application, keeping them inline in source code is fine. With twenty+ prompts in an app or an organisation sharing prompts across multiple apps, you need a prompt library. AIOR moves customer LLM projects to library structure once the prompt count crosses the critical threshold.Ways to organise prompts
Three approaches we see in practice:- File-based — each prompt in a separate .md or .yaml file; versioned in git.
- Database-stored — prompts in a DB, managed via admin UI.
- Dedicated platform — tools like LangSmith, PromptLayer, Helicone, BAML.
File-based is sufficient for small-to-mid projects at AIOR; dedicated platforms for large projects.
Prompt metadata — not just text
A good prompt library carries rich metadata per prompt:- Name and version.
- Description (what it does, what for).
- Target model (Claude, GPT-4, Gemini).
- Expected output format.
- Reference to test cases.
- Owner (who's responsible).
- Last modified date.
- Eval suite performance metrics.
- Production usage stats.
Without this metadata the library degrades into "who wrote it, what does it do" chaos over time.
Versioning — semantic versioning
Prompt changes deserve the same care as code changes. We apply semantic versioning at AIOR:- Major (1.0.0 → 2.0.0) — breaking change (format, scope, output structure changed).
- Minor (1.0.0 → 1.1.0) — new feature, existing behaviour preserved.
- Patch (1.0.0 → 1.0.1) — small improvement, semantics unchanged.
Prompt version is explicitly referenced in production; rollback is easy.
Template and parameter substitution
Prompts usually contain dynamic variables (user name, context, date). The templating standard:
Code:
You are a {role} assistant. You are speaking with {customer_name} on {current_date}.
User question: {user_input}
Please respond in {language}.
AIOR prefers Jinja2 or Handlebars syntax — native escape and conditional logic.
Composability — combining prompts
Large prompts are split into modular pieces:- Base personality — defines the model's character.
- Domain knowledge — sector-specific rules.
- Tool definitions — available tools.
- Output format — structured output rules.
- Safety guardrails — prohibitions.
These pieces come together in different combinations. Customer-specific prompts at AIOR are compositions of base + domain + safety layers.
Localisation
In bilingual or multilingual applications, the prompt language is also variable. On AIOR projects:- TR and EN versions of each prompt in separate files.
- Detection layer identifies user language.
- Appropriate version loaded.
- Output format the same across languages (JSON schema unchanged).
Access control
Sensitive prompts (system prompts, containing enterprise logic) shouldn't stay in the repo. AIOR's approach:- Public/protected/internal/restricted levels.
- Restricted prompts in AWS Secrets Manager or Vault.
- Injected during production deploy.
- Audit log — who accessed, when.
Prompt diff and review
Prompt changes go through code review. Extra checks on prompt PRs at AIOR:- Eval suite passing.
- Token budget change (if increased, justification).
- Has the diff simplified or become more complex.
- Backward compatibility check.
Sharing — inside and outside the team
As teams grow, prompt sharing matters. AIOR's internal prompt library:- Centralised in a GitHub repo.
- Doc-as-code — README per prompt.
- Searchable (semantic + keyword).
- Contribution guidelines.
External sharing (export to customers, open-source publish) requires scrubbing of sensitive data.