Kirat - Multi Model AI Council
resmiBir yapay zeka size tek bir akıl yürütme hattı sunar. Kirat, ChatGPT ve Gemini'yi bir konsey olarak ekleyen bir Claude Desktop uzantısı ve Claude Code eklentisidir: bağımsız görüşler, muhalefetin korunduğu bir oylama ve her bulgunun ikinci bir model ailesi tarafından kontrol edildiği kod incelemesi. Kendi API anahtarlarınızı getirin. Ücretli, tek seferlik.
Kirat Multi Model AI Council MCP ile neler yapabilirsiniz?
- Bir karar için çok modelli oylama alın —
kirat_votearacılığıyla konseyin seçenekler ve bağlamla birlikte bir iş veya teknik soruya görüş bildirmesini isteyin. - Kodu güvenlik ve doğruluk açısından inceleyin — Yayına almadan önce önem dereceleri ve önerilen düzeltmelerle çapraz kontrol edilmiş bulgular almak için
kirat_reviewkullanın. - Bir kararın arkasındaki muhalefeti ve gerekçeyi görün — Güven puanları ve gerekçelerle birlikte azınlık oyu dahil her modelin tam pozisyonlarını alın.
Dokümantasyon
01 — Tekrar oynatma
Konseyin çalışmasını izleyin.
Kirat'ın araçlarının, satın aldığınız sürümle 13 Ekim 2026'da yapılmış gerçek kayıtları. Bir araç seçin ve konseyin çalışmasını izleyin: bağımsız görüşler, çapraz kontroller, anonim sıralamalar ve muhalefet. Bu bir tekrar oynatmadır: burada tıkladığınız hiçbir şey bir modeli çağırmaz ve hiçbir şey bu sayfadan ayrılmaz. Sohbet yalnızca örnekleme amacıyla yazılmıştır ve yalnızca kaydedilen sonucu yeniden ifade eder; Claude'un Kirat'a gönderdiği ve geri gelen şeyler "Perde arkası" altında değiştirilmeden gösterilir.
Farklı alanlardan beş soru. Birini seçin.
Kirat bu konuda oylasın: Tek başıma küçük bir B2B SaaS işletiyorum. Ücretsiz bir katman eklemeli miyim?
kirat_vote konseye sordu
Konsey karar verdi (çoğunluk 2:1): Yalnızca ücretli kal, hiçbir şeyi değiştirme.
Benim kendi oyum muhalefetti: "Yalnızca ücretli kal, deneme süresini 30 güne çıkar". Gerekçesiyle birlikte kayıtlarda kalıyor, böylece kendiniz değerlendirebilirsiniz.
Perde arkası
kirat_vote Claude'un Kirat'a gönderdiği
Soru: Tek başıma küçük bir B2B SaaS işletiyorum. Ücretsiz bir katman eklemeli miyim?
KAYDEDİLDİ 2026-10-13 · KIRAT_VOTE · EFFORT: STANDARD · 1 TUR
Gönderilen bağlam: Tek geliştirici. Serbest çalışanlar için faturalama aracı, ayda 19 USD, 14 günlük ücretsiz deneme, 5 ay sonra 30 ödeme yapan müşteri. Kayıtlar çoğunlukla Google'da sıralanan iki blog yazısından geliyor. Denemelerin yaklaşık %12'si dönüşüyor. Destek zaten haftada yaklaşık 5 saat alıyor. Geliştiricinin bir gündüz işi var ve ürün için haftada yaklaşık 10 saati var.
Seçenekler: Ücretsiz bir katman ekle · Yalnızca ücretli kal, deneme süresini 30 güne çıkar · Yalnızca ücretli kal, hiçbir şeyi değiştirme
Konseyden gelen sonuç
gpt-5.6 güven 88
Yalnızca ücretli kal, hiçbir şeyi değiştirmeÜcretsiz bir katman muhtemelen ödeme yapmayan kullanıcıları ve destek yükünü artırır; bu da mevcut haftalık 10 saatin yarısını zaten tüketiyor. %12'lik deneme dönüşümü saygıdeğer bir orandır, dolayısıyla deneme süresinin darboğaz olduğuna dair net bir kanıt yok. Mevcut modeli koruyun ve kıt zamanı destek ihtiyaçlarını azaltmaya ve edinimi iki blog yazısının ötesine genişletmeye harcayın.
gemini-3.6-flash güven 90
Yalnızca ücretli kal, hiçbir şeyi değiştirmeHaftada yalnızca 10 saat mevcutken destek zaten kapasitenin %50'sini alıyor. Ücretsiz bir katman, ödeme yapmayan kullanıcılardan gelen destek hacmini hiçbir kontrol olmadan artırır. %12'lik deneme dönüşüm oranı zaten güçlü; darboğaz fiyatlandırma modeli değil, trafiktir.
claude (üçüncü oylayıcı) güven 58
Yalnızca ücretli kal, deneme süresini 30 güne çıkarÜcretsiz bir katman esas olarak destek yükünü artırır; bu da mevcut zamanın zaten yarısını alıyor. Faturalama aylık olduğundan, 14 günlük bir deneme, bir serbest çalışan ikinci bir fatura gönderip değeri görmeden önce sona erebilir. 30 günlük bir deneme, kalıcı ücretsiz kullanıcı eklemeden tam bir faturalama döngüsünü kapsar.Muhalefet, kaydedildi
Karar Yalnızca ücretli kal, hiçbir şeyi değiştirme Yol çoğunluk 2:1 Maliyet $0.015
Kirat bu konuda oylasın: Müşterimizin çevrimiçi mağazasının yeniden yapılması gerekiyor. WooCommerce üzerinde mi yeniden yapalım yoksa Shopify'a mı taşıyalım?
kirat_vote konseye sordu
Konsey karar verdi (oybirliği 3:0): Shopify'a taşı.
Benimki de dahil olmak üzere üç görüş de aynı yönü gösteriyor. Her biri gerekçesiyle birlikte geliyor.
Perde arkası
kirat_vote Claude'un Kirat'a gönderdiği
Soru: Müşterimizin çevrimiçi mağazasının yeniden yapılması gerekiyor. WooCommerce üzerinde mi yeniden yapalım yoksa Shopify'a mı taşıyalım?
KAYDEDİLDİ 2026-10-13 · KIRAT_VOTE · EFFORT: STANDARD · 1 TUR
Gönderilen bağlam: Küçük bir dijital ajansız. Müşteri Almanya, Avusturya ve İsviçre'de yaklaşık 1.800 mobilya ürünü satıyor, 3 çalışanı var ve şirket içi geliştiricisi yok. Mevcut mağaza, 6 yıllık, 31 eklentili, yavaş sayfalara sahip ve son bir yılda iki güvenlik olayı yaşamış, kendi barındırılan bir WooCommerce kurulumu. Gelir yılda yaklaşık 1,2 milyon EUR. Müşteri daha az bakım ve daha az acil durum istiyor; ürün verilerini CSV olarak dışa aktaran yerel bir ERP kullanıyorlar. Yeniden yapım bütçesi: 25.000 EUR.
Seçenekler: WooCommerce üzerinde yeniden yap · Shopify'a taşı
Konseyden gelen sonuç
gpt-5.6 güven 89
Shopify'a taşıShopify, müşterinin birincil hedefleriyle daha iyi örtüşüyor: daha az bakım, daha az güvenlik acil durumu ve şirket içi geliştiriciye duyulan ihtiyacın ortadan kalkması. 1.800 ürünlük bir katalog ve CSV tabanlı ERP iş akışı yönetilebilir ve 25.000 EUR'luk bütçe, disiplinli bir taşıma ile DACH'a özgü vergi, ödeme ve yasal kurulumu karşılamalıdır. Ödünleşimler, yinelenen uygulama/platform maliyetleri, daha az arka uç esnekliği ve taahhütte bulunmadan önce ERP içe aktarma iş akışını ve mobilyaya özgü herhangi bir varyantı doğrulama ihtiyacıdır. WooCommerce'i yeniden yapmak esnekliği koruyabilirdi, ancak barındırma, güncellemeler, eklenti uyumluluğu ve güvenlik sorumluluğunu sürdürürdü—müşterinin azaltmak istediği tam da bu operasyonel yüktür.
gemini-3.6-flash güven 90
Shopify'a taşıŞirket içi geliştirici olmadan, 3 çalışanla ve güvenlik olayları geçmişiyle Shopify, bakım yükünü ve güvenlik risklerini büyük ölçüde azaltır. 25.000 €'luk bütçe, CSV ERP entegrasyonu dahil bir Shopify taşıması için yeterlidir; oysa WooCommerce üzerinde yeniden yapmak yüksek bakım maliyetlerini ve süregelen acil durum risklerini sürdürürdü.
claude (üçüncü oylayıcı) güven 72
Shopify'a taşıŞirket içi geliştirici, 31 eklenti ve iki güvenlik olayıyla müşterinin gerçek sorunu özellikler değil, bakımdır. Shopify barındırmayı, güncellemeleri ve güvenlik işlerinin çoğunu ortadan kaldırır; ERP'den CSV ürün içe aktarımı standarttır. Ödünleşim, işlem ve uygulama ücretleri ile daha az esnekliktir; bu da bu ölçekte istikrardan daha az önemlidir.
Karar Shopify'a taşı Yol oybirliği 3:0 Maliyet $0.015
Kirat bu konuda oylasın: Yerel bir pastane daha fazla pasta ön siparişi istiyor. Sonraki 3.000 EUR önce nereye gitmeli?
kirat_vote konseye sordu
Konsey karar verdi (oybirliği 3:0): Düzgün bir çevrimiçi sipariş sayfası.
Benimki de dahil olmak üzere üç görüş de aynı yönü gösteriyor. Her biri gerekçesiyle birlikte geliyor.
Perde arkası
kirat_vote Claude'un Kirat'a gönderdiği
Soru: Yerel bir pastane daha fazla pasta ön siparişi istiyor. Sonraki 3.000 EUR önce nereye gitmeli?
KAYDEDİLDİ 2026-10-13 · KIRAT_VOTE · EFFORT: STANDARD · 1 TUR
Gönderilen bağlam: 40.000 nüfuslu bir Alman kasabasında 6 çalışanı olan pastane. Özel pastalar ve ön siparişler en iyi marja sahip. Bugün siparişler yalnızca telefon ve e-posta ile geliyor; web sitesinde açılış saatleri ve bir iletişim formu var, sipariş vermek için hiçbir şey yok. Google Business Profile'da 120 yorumdan 4,7 yıldız var. Şimdiye kadar ücretli reklam yok. Bütçe: sonraki çeyrek için 3.000 EUR, sahibinin çok az zamanı var.
Seçenekler: Google Ads · Düzgün bir çevrimiçi sipariş sayfası · İkisi arasında eşit olarak böl
Konseyden gelen sonuç
gpt-5.6 güven 94
Düzgün bir çevrimiçi sipariş sayfasıÖnce darboğazı düzeltin: şu anda ilgilenen müşteriler kolayca veya yapılandırılmış bir şekilde ön sipariş veremiyor. Pasta seçimi, teslim alma tarihi, özelleştirme seçenekleri, fiyat veya depozito ve bir onay içeren basit, mobil uyumlu bir sipariş sayfası, pastanenin zaten sahip olduğu güçlü yerel görünürlüğü kullanır ve telefon ile e-posta işini azaltır. Güvenilir bir sipariş süreci olmadan Google Ads, ücretli trafiği zayıf bir dönüşüm yoluna gönderirdi. Birkaç hafta ölçülebilir siparişten sonra, daha sonraki bir reklam bütçesi daha hedefli bir şekilde harcanabilir.
gemini-3.6-flash güven 90
Düzgün bir çevrimiçi sipariş sayfasıDijital bir sipariş yolu olmadan, reklamlar yalnızca sahibinin zar zor başa çıkabildiği telefon ve e-posta yoluyla daha fazla zaman alıcı manuel iş yaratır. Üstelik güçlü Google profili (4,7 yıldız), zaten getirdiği organik trafiği gerçek bir sipariş sayfasıyla çok daha iyi dönüştürecektir; hemen, reklamlara herhangi bir para gitmeden önce.
claude (üçüncü oylayıcı) güven 74
Düzgün bir çevrimiçi sipariş sayfasıReklamlar yalnızca tıklama bir siparişe dönüşebiliyorsa işe yarar. Şu anda her ziyaretçi aramak veya e-posta göndermek zorunda, dolayısıyla ücretli trafik sızardı. Ürün seçenekleri, teslim alma tarihleri ve ön ödeme içeren bir sipariş sayfası, 4,7 yıldızlı profilin zaten getirdiği talebi dönüştürür ve sonraki reklamları ölçülebilir kılar.
Karar Düzgün bir çevrimiçi sipariş sayfası Yol oybirliği 3:0 Maliyet $0.012
Kirat bu konuda oylasın: Faturalama modülümüzü şimdi ayrı bir hizmete çıkaralım mı, yoksa önce monolit içindeki sınırlarını mı sağlamlaştıralım?
kirat_vote konseye sordu
Konsey karar verdi (oybirliği 3:0): Önce monolit içindeki sınırları sağlamlaştır.
Benimki de dahil olmak üzere üç görüş de aynı yönü gösteriyor. Her biri gerekçesiyle birlikte geliyor.
Perde arkası
kirat_vote Claude'un Kirat'a gönderdiği
Soru: Faturalama modülümüzü şimdi ayrı bir hizmete çıkaralım mı, yoksa önce monolit içindeki sınırlarını mı sağlamlaştıralım?
KAYDEDİLDİ 2026-10-13 · KIRAT_VOTE · EFFORT: STANDARD · 1 TUR
Gönderilen bağlam: 8 mühendislik ekibi. Yaklaşık 60.000 satırlık bir TypeScript monoliti, bir Postgres veritabanı, günde birkaç kez dağıtım. Faturalama modülü her hafta değişiyor ve son 8 üretim olayının 5'ine neden oldu, çoğunlukla diğer modüllerin faturalama tablolarını doğrudan okuması ve yazması yüzünden. Ekipten hiç kimse üretimde dağıtık bir sistem işletmedi. Yönetim iki çeyrek içinde daha az olay istiyor.
Seçenekler: Faturalamayı şimdi bir hizmete çıkar · Önce monolit içindeki sınırları sağlamlaştır
Konseyden gelen sonuç
gpt-5.6 güven 94
Önce monolit içindeki sınırları sağlamlaştırOlaylar esas olarak kontrolsüz veritabanı erişiminden kaynaklanıyor, bir ağ sınırının eksikliğinden değil. Monolit içinde faturalama sahipliğini zorunlu kılın: doğrudan tablo erişimini kaldırın, dar bir dahili API sunun, veritabanı izinleri veya şema düzeyinde kontroller ekleyin ve sözleşme ile entegrasyon testleri ekleyin. Bu, iki çeyreklik pencere içinde arıza modunu hızlıca hedefler. Şimdi çıkarmak, dağıtık sistem deneyimi olmayan bir ekibe dağıtım, gözlemlenebilirlik, yeniden denemeler, veri tutarlılığı ve operasyonel karmaşıklık eklerdi. Erişim yolları ve veri sahipliği açık hale geldikten sonra çıkarma daha güvenli olur ve bağımsız ölçeklendirme veya dağıtım hâlâ değerliyse yeniden değerlendirilebilir.
gemini-3.6-flash güven 90
Önce monolit içindeki sınırları sağlamlaştırKesintilerin ana nedeni, diğer modüllerin veritabanındaki faturalama tablolarına doğrudan erişmesidir. Modül sınırlarını sağlamlaştırmak bu sorunu mevcut monolit içinde doğrudan çözer. 8 kişilik ekibin dağıtık sistemlerle deneyimi olmadığından, modülü şimdi çıkarmak yeni riskler yaratır ve iki çeyrek içinde olayları azaltma hedefini tehlikeye atardı.
claude (üçüncü oylayıcı) güven 76
Önce monolit içindeki sınırları sağlamlaştırOlaylar, diğer modüllerin faturalama tablolarına doğrudan dokunmasından kaynaklanıyor. Bir hizmet ayrımı bu sınırı da zorunlu kılardı, ancak bu deneyime sahip olmayan bir ekip için ağ arızası, dağıtık işlemler ve yeni operasyon işleri ekler. Monolit içinde bir modül API'si ve tablo sahipliğini zorunlu kılmak nedeni daha hızlı düzeltir ve çıkarma seçeneğini ileride için açık tutar.
Karar Önce monolit içindeki sınırları sağlamlaştır Yol oybirliği 3:0 Maliyet $0.014
Kirat bu konuda oylasın: Sistematik derlememizde, tek bir LLM tarama geçişi ikinci insan tarayıcının yerini alabilir mi?
kirat_vote konseye sordu
Konsey karar verdi (oybirliği 3:0): LLM'i ek bir tarayıcı olarak kullan; çelişkileri insanlar çözsün.
Benimki de dahil olmak üzere üç görüş de aynı yönü gösteriyor. Her biri gerekçesiyle birlikte geliyor.
Perde arkası
kirat_vote Claude'un Kirat'a gönderdiği
Soru: Sistematik derlememizde, tek bir LLM tarama geçişi ikinci insan tarayıcının yerini alabilir mi?
KAYDEDİLDİ 2026-10-13 · KIRAT_VOTE · EFFORT: STANDARD · 1 TUR
Gönderilen bağlam: Sağlık hizmetleri araştırmalarında yayın için planlanan bir sistematik derleme için yaklaşık 3.000 kaydın başlık ve özet taraması. Mevcut protokol: iki bağımsız insan tarayıcı, çelişkiler tartışılarak çözülür. Personel zamanı kıt. Derleme PRISMA'yı takip ediyor ve derginin hakemleri taramanın nasıl yapıldığını soracak. İlgili bir çalışmayı kaçırmak (yanlış dışlama), ilgisiz bir çalışmayı dahil etmekten daha kötüdür. Seçenekler: Evet, ikinci insan tarayıcıyı değiştir · LLM'i ek bir tarayıcı olarak kullan; çakışmaları insanlar çözsün · Hayır, iki insan tarayıcıyı koru ve LLM kullanma
Konseyden gelen sonuç
gpt-5.6 güven 94
LLM'i ek bir tarayıcı olarak kullan; çakışmaları insanlar çözsün. Hatalı dışlamalar ana risk olduğunda tek bir LLM geçişi bağımsız insan taramasının yerini almamalıdır: performans konuya, isteme ve model sürümüne göre değişebilir ve hatalar sistematik olabilir. Kayıtları önceliklendirmek veya anlaşmazlıkları işaretlemek için kullanın, ancak çakışmaların insanlar tarafından çözülmesini ve dışlamaların insanlar tarafından onaylanmasını zorunlu kılın. PRISMA raporlaması ve yeniden üretilebilirlik için modeli, sürümü, istemi, doğrulama örneklemini ve karar iş akışını belgeleyin.
gemini-3.6-flash güven 88
LLM'i ek bir tarayıcı olarak kullan; çakışmaları insanlar çözsün. Hibrit bir yaklaşım, 3.000 başlık ve özet için insan iş yükünü önemli ölçüde azaltırken PRISMA'nın ve hakemlerin gerektirdiği metodolojik titizliği korur. Hatalı dışlamalardan kaçınılması gerektiğinden, her tutarsızlığın insanlar tarafından çözülmesi (veya yüksek duyarlılıkta bir istem yaklaşımı kullanılması) ilgili hiçbir çalışmanın kaybolmamasını sağlar.
claude (üçüncü oylayıcı) güven 70
LLM'i ek bir tarayıcı olarak kullan; çakışmaları insanlar çözsün. Maliyetli hata hatalı dışlamalardır ve taramada LLM geri çağırması konuya ve isteme göre değişir. İkinci insanın kaldırılması, bu hataları yakalayan kontrolü ortadan kaldırır ve dergi hakemlerine savunulması zordur. LLM'i üçüncü bir tarayıcı olarak eklemek ve çakışmaları insanların çözmesi protokolü savunulabilir kılar ve olası kaçırmaları yine de işaretler.
Karar LLM'i ek bir tarayıcı olarak kullan; çakışmaları insanlar çözsün Yol oybirliği 3:0 Maliyet $0.019
13 Ekim 2026'da standart çaba düzeyinde kirat_vote ile kaydedildi; her oturum 20 saniyeden kısa sürdü ve iki sentten az maliyetliydi. Sorular, seçenekler ve bağlam tam olarak gönderildiği şekilde, gerekçeler ise tam olarak gösterilir. Gemini dört kez Almanca, ChatGPT ise bir kez yanıt verdi; bu yanıtlar burada çevrilmiştir. Ücretsiz katman sorusunda Claude oylamayı 2:1 kaybetti ve itirazı kayıtlarda kaldı. Güven değerleri her modelin kendi öz bildirimidir.
Farklı alanlardan beş kod alıntısı, her biri tam olarak gösterildiği şekilde gönderildi. ChatGPT ve Gemini paralel olarak inceler, Claude kendi iki bulgusunu ekler ve her bulgu diğer model ailesi tarafından kontrol edilir. Yalnızca doğrulanmış bulgular sayılır. Birini seçin.
Kirat, Stripe ödeme webhook'umuzu yayına almadan önce güvenlik ve doğruluk açısından incelesin.
kirat_review konseye sordu
Kirat 14 doğrulanmış sorun buldu (4 × kritik, 4 × yüksek, 6 × orta). Her bulgu diğer model ailesi tarafından çapraz kontrol edildi.
Listenin en üstündekilerle başlayın; her biri önerilen bir düzeltmeyle birlikte gelir.
Perde arkası
kirat_review Claude'un Kirat'a gönderdiği
KAYDEDİLDİ 2026-10-13 · KIRAT_REVIEW · ÇABA: STANDART · 14 DOĞRULANMIŞ, 0 REDDEDİLMİŞ · $0.14
Odak: bir ödeme webhook'unun güvenliği ve doğruluğu
Gönderilen kod:
// routes/webhooks.js — payment webhook of a solo invoicing SaaS (Node 20, Express 4, Stripe, pg)
const express = require('express');
const { db } = require('../db');
const router = express.Router();
router.post('/webhooks/stripe', express.json(), async (req, res) => {
const event = req.body;
if (event.type === 'invoice.paid') {
const invoice = event.data.object;
const userId = invoice.metadata.userId;
await db.query('UPDATE users SET plan = $1, paid_until = $2 WHERE id = $3',
['pro', new Date(invoice.period_end * 1000), userId]);
await db.query('INSERT INTO payments (user_id, amount) VALUES ($1, $2)',
[userId, invoice.amount_paid / 100]);
}
if (event.type === 'customer.subscription.deleted') {
await db.query("UPDATE users SET plan = 'free' WHERE stripe_customer = '" + event.data.object.customer + "'");
}
res.sendStatus(200);
});
module.exports = router;
Konseyden gelen sonuç
- kritik
Webhook, istek gövdesini Stripe imzasını kontrol etmeden işler. Bu nedenle herhangi bir harici çağıran, sahte
invoice.paid\veyacustomer.subscription.deleted\olayları göndererek kullanıcı hesaplarının kilidini açabilir veya planlarını düşürebilir. JSON ayrıştırıcısı ayrıca Stripe imza doğrulamasının gerektirdiği değiştirilmemiş ham gövdeyi de atar. Düzeltme: Bu rota içinexpress.raw({ type: 'application/json' })\kullanın ve herhangi bir işleme başlamadan öncestripe.webhooks.constructEvent(req.body, req.headers\['stripe-signature'\], webhookSecret)\çağırın. Bu rotaya önceden genel bir JSON ayrıştırıcısının uygulanmadığından emin olun; geçersiz imzaları 400 ile reddedin. satır 6 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - kritik Stripe webhook imzasının doğrulanması eksik. Bir saldırgan, hesapları yetkisiz olarak Pro'ya ayarlamak veya veritabanı kayıtlarını değiştirmek için bu uç noktaya rastgele sahte webhook olayları gönderebilir. Düzeltme: Her olayın özgünlüğünü ve bütünlüğünü doğrulamak için Stripe webhook gizli anahtarıyla stripe.webhooks.constructEvent() kullanın. satır 6 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- kritik Kullanıcı girdisinin (event.data.object.customer) SQL sorgu dizesine doğrudan eklenmesi nedeniyle SQL enjeksiyonu güvenlik açığı. Düzeltme: Önceki ifadelerde olduğu gibi parametreli sorgular kullanın: db.query('UPDATE users SET plan = $1 WHERE stripe_customer = $2', ['free', event.data.object.customer]). satır 18 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- kritik Webhook, Stripe imzasını hiçbir zaman doğrulamaz ve express.json() bunu yapmak için gereken ham gövdeyi atar. Herkes sahte bir invoice.paid olayı POST'layarak herhangi bir hesabı ücretsiz olarak pro'ya yükseltebilir. Düzeltme: Bu rotada express.raw({ type: 'application/json' }) kullanın ve olayı stripe.webhooks.constructEvent(req.body, req.headers['stripe-signature'], endpointSecret); ile oluşturun; başarısızlık durumunda isteği reddedin. satır 6 · claude tarafından bulundu · gpt-5.6, gemini-3.6-flash tarafından doğrulandı
- yüksek
Müşteri kimliği doğrudan bir SQL ifadesine eklenir.
' OR 1=1 --\gibi bir değer WHERE yan tümcesini değiştirerek tüm kullanıcıları ücretsiz plana ayarlayabilir; veritabanı yapılandırmasına bağlı olarak daha fazla SQL enjeksiyonu da mümkündür. Düzeltme: Sorguyu tamamen parametreleştirin:UPDATE users SET plan = 'free' WHERE stripe\_customer = $1\ile\[event.data.object.customer\]\. Ayrıca olayı Stripe imzası aracılığıyla kimlik doğrulayın. satır 19 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - yüksek
Idempotency kontrolü yok. Stripe webhook'ları en az bir kez teslim eder ve zaman aşımı veya hatalarda yeniden dener. Bu nedenle aynı
invoice.paid\olayı aynı ödeme kayıtlarını birden çok kez oluşturabilir. Düzeltme: Stripe olay kimliğini veya fatura kimliğini ödeme kaydında saklayın, bunu bir UNIQUE kısıtlamasıyla güvence altına alın ve olay işlemeyi ödemeyle birlikte atomik olarak bir insert/upsert olarak yürütün. Zaten işlenmiş olayları iş işlemini tekrarlamadan 200 ile onaylayın. satır 14 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - yüksek
async\işleyicisinde hata iletimi yok. Express 4, eşzamansız rota işleyicilerinden gelen reddedilmiş promise'leri otomatik olarak yakalamaz. Bu nedenle bir DB hatası veya eksik birinvoice.paid\nesnesi, işlenmemiş bir promise reddine yol açar ve Node 20 altında süreci kontrollü bir şekilde hata yanıtı döndürmek yerine sonlandırabilir. Düzeltme: İşleyiciyitry/catch\içine alın ve hatalarınext(err)\'ye iletin veya bir async sarmalayıcı kullanın. Erişmeden önce girdi yapısını doğrulayın ve geçici işleme hatalarında Stripe'ın yeniden teslim etmesi için kontrollü bir şekilde 5xx durumu döndürün. satır 6 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - yüksek Webhook uç noktası için express.json() kullanmak gövdeyi önceden JSON olarak ayrıştırır. Ancak Stripe'ın imza doğrulaması değiştirilmemiş ham gövdeyi gerektirir. Düzeltme: Stripe webhook rota işleyicisi için express.json() yerine express.raw({ type: 'application/json' }) kullanın. satır 6 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- orta Kullanıcı güncellemesi ve ödeme kaydı bağımsız olarak işlenen iki veritabanı işlemidir. Başarılı bir UPDATE'ten sonra INSERT başarısız olursa, ilgili ödeme kaydı olmasa bile kullanıcı Pro planı alır. Düzeltme: Her iki işlemi de idempotency işaretiyle birlikte aynı istemci üzerinde tek bir veritabanı işleminde yürütün ve herhangi bir hatada tamamen geri alın. satır 12 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- orta
İşleme, Stripe'ın olayları oluşturulma sırası dışında teslim edebileceğini hesaba katmaz. Gecikmeli daha eski bir
invoice.paid\paid\_until\değerini sıfırlayabilir; gecikmeli bircustomer.subscription.deleted\o zamandan beri yeniden etkinleştirilmiş bir kullanıcıyı tekrarfree\durumuna ayarlayabilir. Düzeltme: Mevcut abonelik durumunu kararlı Stripe kimliklerini kullanarak uzlaştırın, örneğin Stripe'tan alarak, ve durum geçişlerini veya son işlenen olayın zaman damgasını kalıcı hale getirin. En azındanpaid\_until\değerini yalnızca ileri yönde güncelleyin ve silme olaylarını mevcut kullanıcı durumuna körü körüne uygulamayın. satır 12 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - orta
amount\_paid / 100\, para biriminin tam olarak iki ondalık basamağı olduğunu kontrol etmeden varsayar. Bu, örneğin JPY için yanlıştır. Ayrıca para birimi yanında saklanmaz, bu nedenle ödeme kaydındaki tutarın belirsiz olmayan bir birimi yoktur. Düzeltme: Tercihen tutarları en küçük para birimi birimindeinvoice.currency\ile birlikte değiştirmeden saklayın. Ana para birimi birimleri gerekiyorsa, dönüşümü ilgili para birimi üslerine göre yapın. satır 15 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - orta Eşzamansız bir Express 4 rotasında istisna işleme eksik. Bir veritabanı hatasında veya eksik alanlarda bu, uygulamayı çökertebilecek işlenmemiş bir promise reddine yol açar. Düzeltme: Bir try-catch bloğu ekleyin ve hataları next(err)'ye iletin veya express-async-handler gibi bir yardımcı kullanın. satır 6 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- orta invoice.metadata.userId'nin mevcut olduğuna dair doğrulama yok. Metadata veya userId alanı eksik ya da tanımsızsa, SQL sorguları başarısız olur veya geçersiz değerler üzerinde çalışır. Düzeltme: Veritabanı sorgularını yürütmeden önce invoice.metadata ve invoice.metadata.userId'nin mevcut ve geçerli olup olmadığını açıkça kontrol edin. satır 10 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- orta Stripe webhook'ları yeniden dener ve aynı olayı birden çok kez teslim edebilir. Her teslim başka bir ödeme satırı ekler, bu nedenle gelir raporları çift sayar. Düzeltme: event.id (veya fatura kimliği) değerini benzersiz bir kısıtlamayla saklayın ve zaten işlenmiş olayları atlayın. satır 14 · claude tarafından bulundu · gpt-5.6, gemini-3.6-flash tarafından doğrulandı
Kirat bu WooCommerce içe aktarma eklentisini güvenlik ve doğruluk açısından incelesin.
kirat_review konseye sordu
Kirat 21 doğrulanmış sorun buldu (5 × kritik, 5 × yüksek, 10 × orta, 1 × düşük). Her bulgu diğer model ailesi tarafından çapraz kontrol edildi.
Listenin en üstündekilerle başlayın; her biri önerilen bir düzeltmeyle birlikte gelir.
Perde arkası
kirat_review Claude'un Kirat'a gönderdiği
KAYDEDİLDİ 2026-10-13 · KIRAT_REVIEW · ÇABA: STANDART · 21 DOĞRULANMIŞ, 0 REDDEDİLMİŞ · $0.17
Odak: bir WooCommerce içe aktarma eklentisinin güvenliği ve doğruluğu
Gönderilen kod:
<?php
// erp-import.php — custom plugin: imports the ERP's CSV export into WooCommerce (WordPress 6, WooCommerce 9)
add_action('wp_ajax_erp_import', 'erp_import');
add_action('wp_ajax_nopriv_erp_import', 'erp_import');
function erp_import() {
global $wpdb;
$path = $_POST['file'];
$rows = array_map('str_getcsv', file($path));
foreach ($rows as $row) {
[$sku, $name, $price, $stock] = $row;
$id = $wpdb->get_var("SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key = '_sku' AND meta_value = '$sku'");
if (!$id) continue;
update_post_meta($id, '_price', $price);
update_post_meta($id, '_regular_price', $price);
update_post_meta($id, '_stock', $stock);
wp_update_post(['ID' => $id, 'post_title' => $name]);
}
echo 'Imported ' . count($rows) . ' rows';
wp_die();
}
Konseyden gelen sonuç
- kritik
Giriş,
wp\_ajax\_nopriv\_erp\_import\aracılığıyla herkese açık olarak erişilebilir; kimliği doğrulanmış kancada da yetki ve nonce kontrolleri eksik. Sonuç olarak, anonim kullanıcılar veya CSRF saldırıları ürün adlarını, fiyatlarını ve stok seviyelerini değiştirebilir. Düzeltme:nopriv\kancasını kaldırın, herhangi bir işlemden öncemanage\_woocommerce\gibi uygun bir yetkiyi kontrol edin ve isteğicheck\_ajax\_referer()\ile güvence altına alın. satır 3 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - kritik wp_ajax_nopriv_erp_import kancası, kimliği doğrulanmamış ziyaretçilere içe aktarma işlevine erişim sağlar. Düzeltme: nopriv kancasını kaldırın ve izni current_user_can('manage_options') kullanarak kontrol edin. satır 4 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- kritik $_POST['file'] içindeki dosya yolu denetlenmeden file() işlevine aktarılır; bu da yol geçişine (path traversal) ve rastgele dosya okumaya (LFI) olanak tanır. Düzeltme: Dosya yüklemelerini $_FILES aracılığıyla işleyin veya giriş yolunu izin verilen dizinlere (ör. wp_upload_dir()) karşı sıkı bir şekilde doğrulayın. satır 7 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- kritik $sku doğrudan SQL sorgusuna temizlenmeden eklendiği için SQL enjeksiyonu açığı vardır. Düzeltme: $wpdb->prepare() ile hazırlanmış ifadeler kullanın. satır 11 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- kritik İçe aktarma wp_ajax_nopriv için kaydedilmiş ve ne yetki kontrolü ne de nonce var. Herhangi bir ziyaretçi bunu tetikleyebilir ve fiyatları, stokları ve ürün adlarını üzerine yazabilir. Düzeltme: nopriv kancasını kaldırın, current_user_can('manage_woocommerce') kontrolü yapın ve herhangi bir işlem yapmadan önce check_ajax_referer() ile nonce doğrulayın. satır 4 · claude tarafından bulundu · gpt-5.6, gemini-3.6-flash tarafından doğrulandı
- yüksek
İstemci tarafından sağlanan yol denetlenmeden
file()\işlevine aktarılır. Bu, okunabilen herhangi bir yerel dosyanın ve –allow\_url\_fopen\ayarına bağlı olarak – harici veya dahili URL'lerin işlenmesine olanak tanır; bu da istenmeyen dosya erişimine ve kör SSRF'ye yol açar. Düzeltme: Serbestçe seçilen yolları kabul etmeyin. Yalnızca sunucu tarafında bilinen yükleme kimliklerini kullanın, kurallı yolu sabit bir içe aktarma dizinine karşı kontrol edin ve yalnızca normal yerel CSV dosyalarına izin verin. satır 8 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - yüksek
$sku\CSV'den gelir ve doğrudan SQL'e yerleştirilir. SQL meta karakterleri içeren bir SKU değeri sorguyu manipüle edebilir ve diğer şeylerin yanı sıra herhangi bir gönderi kimliğini güncelleme hedefi olarak seçebilir. Düzeltme: Sorguyu$wpdb-\>prepare()\ile parametreleştirin, örneğinmeta\_value = %s\ile veya bir ürünü SKU'ya göre aramak için WooCommerce işlevini kullanın. satır 13 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - yüksek
file()\tüm girdiyi belleğe yükler vearray\_map()\ayrıca tamamen ayrıştırılmış diziyi oluşturur. Boyut sınırı olmadan, büyük veya sonsuz bir uzak kaynak belleği, çalışma süresini ve PHP çalışanlarını tüketebilir; herkese açık erişilebilirlik bunu daha da kötüleştirir. Düzeltme: Dosya boyutunu ve satır sayısını sınırlayın, dosyayıfopen()\ile yerel olarak açın ve kayıtlarıfgetcsv()\aracılığıyla akış halinde işleyin. Ayrıca hız sınırları veya kontrollü bir arka plan işi kullanın. satır 9 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - yüksek CSRF koruması eksik (nonce doğrulaması). Düzeltme: İşlevin başında check_ajax_referer() çağırın. satır 6 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- yüksek Dosya yolu doğrudan istekten gelir ve file() işlevine aktarılır. Bir saldırgan, web sunucusunun okuyabildiği herhangi bir dosyayı veya allow_url_fopen açıksa uzak bir URL'yi okuyabilir. Düzeltme: wp_handle_upload() aracılığıyla yüklenen bir dosyayı kabul edin veya yalnızca sabit bir içe aktarma dizininden okuyun; yolu asla istekten almayın. satır 8 · claude tarafından bulundu · gpt-5.6, gemini-3.6-flash tarafından doğrulandı
- orta Her satırın tam olarak dört kullanılabilir sütunu olduğu varsayılır. Boş veya bozuk satırlar eksik değerler üretir; bu da uyarılara yol açar ve ad, fiyat veya stoğu istemeden boş değerlere ayarlayabilir. Düzeltme: Yapı bozma işleminden önce sütun sayısını ve gerekli alanları kontrol edin, boş satırları atlayın ve hatalı kayıtları açık bir hata mesajıyla reddedin. satır 12 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- orta
file()\vestr\_getcsv()\kombinasyonu her fiziksel satırı ayrı ayrı ayrıştırır. Bu nedenle satır sonu içeren geçerli CSV alanları birkaç hatalı kayda bölünür. Düzeltme: CSV'yifgetcsv()\ile akış olarak okuyun; bu işlev kayıt sınırları boyunca çok satırlı, doğru şekilde tırnaklanmış alanları işler. satır 9 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - orta
Fiyat ve stok, denetlenmeden rastgele dizeler olarak saklanır. Sayısal olmayan değerler, yanlış ondalık biçimleri veya izin verilmeyen stok seviyeleri ürün verilerini bozabilir ve tutarsız hesaplamalara yol açabilir.
Düzeltme: Yazmadan önce fiyat ve stoğu doğrulayın ve
wc\_format\_decimal()\ilewc\_stock\_amount()\gibi WooCommerce yardımcılarıyla normalleştirin; geçersiz veya iş açısından izin verilmeyen değerleri reddedin. satır 15 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - orta
WooCommerce verileri doğrudan gönderi meta verisi olarak değiştirilir. Sonuç olarak,
\_stock\_status\gibi ilgili durumlar, ürün arama tabloları ve muhtemelen önbellekler yeni fiyatlar ve stok seviyeleriyle güvenilir şekilde eşitlenmez. Düzeltme: Ürünüwc\_get\_product()\aracılığıyla yükleyin,set\_regular\_price()\,set\_price()\veset\_stock\_quantity()\gibi CRUD yöntemlerini kullanın, iş kurallarına göre stok durumunu veyamanage\_stock\ayarını yapın ve ardındansave()\çağırın. satır 15 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - orta
SKU araması tüm gönderi meta verilerini dikkate alır ve ne gönderi türünü ne de bulunan kimliğin gerçekten bir WooCommerce ürünü veya varyasyonu olup olmadığını kontrol eder. Yinelenen veya ilgisiz
\_sku\meta verileriyle, belirsiz bir eşleşme de güncellenir. Düzeltme:wc\_get\_product\_id\_by\_sku()\kullanın ve ardından sonucuwc\_get\_product()\ve beklenen ürün türüyle doğrulayın; yinelenen SKU'ları içe aktarma hatası olarak değerlendirin. satır 13 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - orta
update\_post\_meta()\vewp\_update\_post()\dönüş değerleri yok sayılır. İçe aktarma kısmen başarısız olabilir veya iptal edilebilir, ancak yine de okunan toplam satır sayısını başarıyla içe aktarılmış olarak bildirir. Düzeltme: Ürün başına başarı ve başarısızlığı kaydedin,wp\_update\_post(..., true)\kullanın, yalnızca gerçekten güncellenen kayıtları sayın ve yapılandırılmış bir hata yanıtı döndürün. Büyük içe aktarmalar için devam ettirilebilir bir arka plan işi sağlayın. satır 15 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - orta Her CSV satırı için en az bir arama sorgusu ve birkaç ayrı yazma işlemi eşzamanlı olarak yürütülür. Bu nedenle büyük içe aktarmalar çok sayıda veritabanı gidiş-dönüşüne neden olur, istek zaman aşımına uğrayabilir ve yalnızca kısmen güncellenmiş bir katalog bırakabilir. Düzeltme: İçe aktarmayı sınırlı gruplar halinde arka plan işlemi olarak çalıştırın, SKU'ları toplu olarak çözün ve ilerlemeyi ve devam durumunu saklayın. satır 11 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- orta file() tüm dosyayı bir kerede belleğe okur; bu da büyük CSV dosyalarında bellek tükenmesi hatalarına yol açar. Düzeltme: Dosyayı fopen() ve fgetcsv() aracılığıyla satır satır akış olarak okuyun. satır 8 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- orta Dizi yapı bozma işlemi her satırın en az 4 öğe içerdiğini varsayar; aksi takdirde PHP uyarıları veya başlatılmamış dizin hataları oluşur. Düzeltme: Açmadan önce count($row) ile yeterli sütun olup olmadığını kontrol edin. satır 10 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- orta Veritabanı sorguları ve gönderi güncellemeleri bir döngü içinde tek tek gerçekleştirilir (N+1 sorunu), bu da yürütme süresini önemli ölçüde yavaşlatır. Düzeltme: İçe aktarmayı gruplara bölün ve sorguları/güncellemeleri birleştirin. satır 11 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- düşük
file()\hataları kontrol edilmez. Eksik, okunamayan veya desteklenmeyen bir yol içinfile()\false\döndürür; bunun üzerinearray\_map()\mevcut PHP sürümlerinde birTypeError\fırlatabilir. Düzeltme: Açma ve okumayı açıkça kontrol edin, PHP uyarılarını akış kontrolü olarak kullanmayın ve hatalarda uygun bir HTTP veyawp\_send\_json\_error()\yanıtı döndürün. satır 9 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
Kirat'ın fırının sipariş sayfasının sipariş ve ödeme akışını güvenlik ve doğruluk açısından incelemesini sağlayın.
kirat_review konseye sordu
Kirat 14 doğrulanmış sorun buldu (4 × kritik, 4 × yüksek, 5 × orta, 1 × düşük). Her bulgu diğer model ailesi tarafından çapraz kontrol edildi.
Listenin en üstündekilerle başlayın; her biri önerilen bir düzeltmeyle birlikte gelir.
Perde arkası
kirat_review Claude'un Kirat'a gönderdikleri
KAYDEDİLDİ 2026-10-13 · KIRAT_REVIEW · EFFORT: STANDARD · 14 DOĞRULANDI, 0 REDDEDİLDİ · $0.11
Odak: bir sipariş ve ödeme akışının güvenliği ve doğruluğu
Gönderilen kod:
// routes/order.js — order endpoint of the bakery's ordering page (Node 20, Express 4, pg)
const express = require('express');
const { pool } = require('../db');
const { sendConfirmation } = require('../mail');
const router = express.Router();
router.post('/order', async (req, res) => {
const { cakeId, pickupDate, name, email, price, note } = req.body;
const cake = await pool.query(\`SELECT * FROM cakes WHERE id = ${cakeId}\`);
if (!cake.rows.length) return res.status(404).send('Unknown cake');
const order = await pool.query(
'INSERT INTO orders (cake_id, pickup_date, name, email, amount, note) VALUES ($1, $2, $3, $4, $5, $6) RETURNING id',
[cakeId, pickupDate, name, email, price, note]
);
sendConfirmation(email, order.rows[0].id);
res.redirect(\`/pay?order=${order.rows[0].id}&amount=${price}\`);
});
module.exports = router;
Konseyden gelen sonuç
- kritik
cakeId doğrudan SQL dizesine enterpolasyonla ekleniyor. Bir saldırgan SQL ifadeleri veya ek ifadeler enjekte ederek verileri okuyabilir ya da değiştirebilir veya veritabanına yük bindirebilir.
Düzeltme: Bu sorguyu da parametreleştirin, örn.
SELECT... FROM cakes WHERE id = $1\ile\[cakeId\]\ve ayrıca cakeId'yi beklenen tür açısından kontrol edin. satır 10 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - kritik cakeId'nin SQL sorgusunda doğrudan şablon dizesi enterpolasyonu nedeniyle SQL enjeksiyonu güvenlik açığı. Düzeltme: Parametreli bir SQL sorgusu kullanın: pool.query('SELECT * FROM cakes WHERE id = $1', [cakeId]). satır 9 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- kritik İstemci tarafında fiyat manipülasyonu mümkün. Fiyat req.body'den alınıyor ve doğrudan saklanıp işleniyor. Düzeltme: Fiyatı sunucu tarafında veritabanından okuyun (cake.rows[0].price) ve istemcinin gönderdiği değere güvenmeyin. satır 8 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- kritik İstek gövdesinden gelen cakeId SQL dizesine enterpolasyonla ekleniyor: SQL enjeksiyonu. Düzeltme: Parametreli bir sorgu kullanın: SELECT * FROM cakes WHERE id = $1. satır 10 · claude tarafından bulundu · gpt-5.6, gemini-3.6-flash tarafından doğrulandı
- yüksek
Saklanan ve ödeme akışına aktarılan tutar tamamen
req.body.price\kaynağından geliyor. Bir müşteri herhangi bir kek için manipüle edilmiş, negatif veya çok küçük bir tutar girebilir. Düzeltme: Fiyatı yalnızca sunucu tarafında seçilen kekten veya değiştirilemez bir fiyat sürümünden belirleyin. Ödeme sağlayıcısında bu tutarla sunucu tarafında bir ödeme oturumu oluşturun ve ödeme onayında beklenen tutarı sunucu tarafında yeniden doğrulayın. satır 16 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - yüksek
Herhangi bir başarılı ödeme doğrulanmadan önce sipariş oluşturuluyor ve onay gönderiliyor. Bu nedenle iptal edilen veya kasıtlı olarak ödenmemiş işlemler onaylanmış siparişler olarak görünür ve istenildiği gibi oluşturulabilir.
Düzeltme: Siparişleri başlangıçta
pending\_payment\gibi bir durumla oluşturun. Yalnızca kimliği doğrulanmış, idempotent şekilde işlenmiş bir ödeme sağlayıcısı bildiriminden sonrapaid\durumuna geçin ve ardından onayı gönderin veya üretimi ya da rezervasyonu tetikleyin. satır 19 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - yüksek Async bir Express 4 rotasında eksik hata işleme. Veritabanı veya çalışma zamanı hataları işlenmemiş promise redlerine yol açar. Düzeltme: Bir try/catch bloğu kullanın ve hataları next(err) ile iletin veya express-async-errors gibi bir paket kullanın. satır 8 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- yüksek Tutar istemciden alınıyor (istek gövdesindeki fiyat), bu nedenle bir müşteri kendi fiyatını belirleyebilir. Düzeltme: Fiyatı sunucudaki cakes satırından okuyun ve istemciden gelen herhangi bir değeri yok sayın. satır 15 · claude tarafından bulundu · gpt-5.6, gemini-3.6-flash tarafından doğrulandı
- orta
Async işleyicide hata iletimi yok. Express 4,
async\işleyicilerinden gelen reddedilmiş promise'leri otomatik olarak işlemez; bu nedenle veritabanı veya eşzamanlı posta hataları yanıtsız isteklere ve işlenmemiş redlere yol açabilir. Düzeltme: İşleyiciyitry/catch\içine alın ve hatalarınext(err)\'e iletin veya yerleşik bir async sarmalayıcı kullanın. Ayrıca merkezi hata işlemeyi yapılandırın. satır 7 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - orta
sendConfirmation\sonucu ne bekleniyor ne de hatalar açısından başka bir şekilde işleniyor. Bir promise reddi işlenmemiş kalabilir; aynı zamanda postanın gönderilmesi başarısız olmuş olabilecekken istemci zaten bir başarı yanıtı alıyor. Düzeltme: Gönderimi onaylanmış ödemeden sonra kalıcı bir outbox veya yeniden denemeli iş kuyruğu aracılığıyla gerçekleştirin. En azından promise'i bekleyin ve hataları kontrollü bir şekilde günlüğe kaydedin veya işleyin. satır 19 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı - orta Idempotency koruması yok. Tarayıcı yeniden denemeleri, çift tıklamalar veya ağ yeniden denemeleri her seferinde yeni bir sipariş ve muhtemelen birden fazla onay veya ödeme denemesi oluşturur. Düzeltme: Bir idempotency anahtarı veya checkout oturum kimliği kabul edin, bunu benzersiz bir kısıtla güvence altına alın ve yeniden denemelerde zaten var olan siparişi döndürün. satır 13 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- orta pickupDate, name, email, price ve note iş veya sözdizimsel doğrulama olmadan işleniyor. Bu, örneğin geçmiş veya geçersiz teslim alma tarihlerinin, eksik müşteri verilerinin ve uygun olmayan alan değerlerinin saklanabileceği anlamına gelir; veritabanı hataları da yalnızca geç ve kontrolsüz bir şekilde ortaya çıkar. Düzeltme: Türler, zorunlu alanlar, uzunluk sınırları ve normalleştirilmiş biçimler içeren bir istek şeması kullanın. Teslim alma tarihlerini saat dilimi, hazırlık süresi ve izin verilen çalışma saatleri veya kapasite kurallarına göre kontrol edin; fiyatı istemci girdisi olarak kabul etmeyin. satır 8 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- orta sendConfirmation'a yapılan async çağrı ne bekleniyor ne de hatalar açısından yakalanıyor. Düzeltme: sendConfirmation'ın önüne await koyun ve e-posta gönderirken olası hataları işleyin. satır 17 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- düşük email, pickupDate, name ve note gibi alanlar için eksik girdi doğrulaması. Düzeltme: İstek verilerini işlemeden önce şema doğrulaması uygulayın (örn. Zod veya express-validator ile). satır 8 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
Kirat'ın bu faturalama işlevini doğruluk ve veri bütünlüğü açısından kontrol etmesini sağlayın.
kirat_review konseye sordu
Kirat 16 doğrulanmış sorun buldu (1 × kritik, 11 × yüksek, 3 × orta, 1 × düşük). Her bulgu diğer model ailesi tarafından çapraz kontrol edildi.
Listenin en üstündekilerle başlayın; her biri önerilen bir düzeltmeyle birlikte gelir.
Perde arkası
kirat_review Claude'un Kirat'a gönderdiği
KAYDEDİLDİ 2026-10-13 · KIRAT_REVIEW · EFFORT: STANDARD · 16 DOĞRULANDI, 0 REDDEDİLDİ · $0.14
Odak: bir faturalama işlevinin doğruluğu ve veri bütünlüğü
Gönderilen kod:
// billing/applyCredit.ts — billing module in the monolith (TypeScript, node-postgres)
import { pool } from '../db';
export async function applyCredit(customerId: string, invoiceId: string, creditCents: number) {
const inv = await pool.query('SELECT total_cents, status FROM invoices WHERE id = $1', [invoiceId]);
const balance = await pool.query('SELECT credit_cents FROM customers WHERE id = $1', [customerId]);
const available = balance.rows[0].credit_cents;
if (creditCents > available) throw new Error('Not enough credit');
const newTotal = inv.rows[0].total_cents - creditCents;
await pool.query('UPDATE invoices SET total_cents = $1 WHERE id = $2', [newTotal, invoiceId]);
await pool.query('UPDATE customers SET credit_cents = credit_cents - $1 WHERE id = $2', [creditCents, customerId]);
if (newTotal <= 0) {
await pool.query("UPDATE invoices SET status = 'paid' WHERE id = $1", [invoiceId]);
}
return newTotal * 1.19 / 100;
}
Konseyden gelen sonuç
- kritik Eksik veritabanı işlemi ve satır kilidi. Paralel isteklerde yarış koşulları (ör. kredinin çift harcanması) ve bir hata durumunda tamamlanmamış güncellemeler oluşabilir. Düzeltme: Havuzdan bir istemci kullanarak BEGIN/COMMIT ile çalışın ve satırları atomik olarak kilitlemek ve güncellemek için SELECT FOR UPDATE kullanın. satır 5 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- yüksek İlgili üç güncelleme bir veritabanı işlemi içinde yürütülmüyor. Müşteri kredisinin borçlandırılması veya durum değişikliği başarısız olursa, kredi doğru şekilde tahsil edilmeden veya durum ayarlanmadan fatura zaten azaltılmış olabilir. Düzeltme: Havuzdan özel bir istemci edinin ve tüm kontrolleri ve güncellemeleri BEGIN ile COMMIT arasında yürütün; herhangi bir hatada ROLLBACK kullanın. satır 11 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- yüksek Fatura önce okunur ve daha sonra mutlak hesaplanmış bir değerle üzerine yazılır. İki paralel çağrı aynı başlangıç değerini okuyup ardından birbirinin üzerine yazabilir; her iki kredi borçlandırması da gerçekleşirken faturada yalnızca bir kredi tam olarak görünür kalır. Düzeltme: Etkilenen faturayı aynı işlem içinde SELECT... FOR UPDATE ile kilitleyin veya tutarı uygun koşullarla UPDATE... SET total_cents = total_cents - $1 aracılığıyla atomik olarak değiştirin. satır 4 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- yüksek Müşteri kredisinin kontrol edilmesi ve borçlandırılması atomik değildir. Paralel çağrılar aynı mevcut kapsamı görebilir ve ardından krediyi sıfırın altına düşürebilir. Düzeltme: Müşteri kaydını işlem içinde kilitleyin veya koşullu bir UPDATE kullanın; örneğin UPDATE customers SET credit_cents = credit_cents - $1 WHERE id = $2 AND credit_cents >= $1 RETURNING credit_cents ve tam olarak bir satırın döndürülmesini zorunlu kılın. satır 8 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- yüksek Faturanın belirtilen müşteriye ait olup olmadığı kontrol edilmiyor. Sonuç olarak, bir müşterinin kredisi invoiceId aracılığıyla tanımlanan herhangi bir faturaya uygulanabilir. Düzeltme: Faturayı ve müşteriyi sahiplik ilişkisi üzerinden sorgulayın ve güncelleyin; örneğin WHERE invoices.id = $1 AND invoices.customer_id = $2 ile; eşleşme yoksa işlemi iptal edin. satır 4 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- yüksek Uygulanacak kredi, açık fatura tutarıyla sınırlandırılmıyor. creditCents total_cents'ten büyükse negatif bir fatura tutarı saklanır ve fazla müşteri kredisi tüketilir. Düzeltme: Yalnızca açık fatura değerine kadar olan tutarlara izin verin veya fiilen kullanılan tutarı min(creditCents, total_cents) olarak belirleyin ve müşteri kredisinden yalnızca bu tutarı borçlandırın. satır 10 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- yüksek Negatif, tam sayı olmayan veya güvenli şekilde temsil edilemeyen değerler reddedilmiyor. Özellikle negatif bir creditCents değeri fatura tutarını ve aynı zamanda negatif bir değerin çıkarılması yoluyla müşteri kredisini artırır. Düzeltme: Herhangi bir veritabanı erişiminden önce Number.isSafeInteger(creditCents) && creditCents > 0 koşulunu zorunlu kılın; parasal tutarları tutarlı biçimde tam sayı sent değerleri olarak ele alın. satır 8 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- yüksek Okunan fatura durumu tamamen yok sayılıyor. Bu nedenle kredi, zaten ödenmiş, iptal edilmiş veya başka şekilde artık değiştirilemeyen faturalara da uygulanabilir; bunun sonucunda zaten ödenmiş bir fatura negatife dönebilir. Düzeltme: İzin verilen başlangıç durumlarını açıkça tanımlayın ve bunları UPDATE koşulunda atomik olarak kontrol edin; örneğin AND status = 'open'. Eşleşme yoksa işlemi iptal edin. satır 4 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- yüksek Önceden kontrol yapılmadan balance.rows[0] ve inv.rows[0] erişimi. Bir müşteri veya fatura bulunamazsa, uygulama işlenmemiş bir TypeError ile çöker. Düzeltme: Erişimden önce inv.rows.length ve balance.rows.length değerlerini kontrol edin ve açık bir hata mesajı fırlatın. satır 8 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- yüksek creditCents için negatif değerlerin doğrulanması eksik. Negatif bir değer kontrolü (creditCents > available) atlar ve hatalı kredi veya fatura düzeltmelerine yol açar. Düzeltme: creditCents değerinin 0'dan büyük pozitif bir tam sayı olduğundan emin olun. satır 9 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- yüksek Okumalar ve üç güncelleme bir işlem dışında ve satır kilitleri olmadan çalışır. İki eşzamanlı çağrı kredi kontrolünü birlikte geçebilir ve aynı krediyi iki kez harcayabilir; güncellemeler arasında bir çökme fatura ile kredi bakiyesini tutarsız bırakır. Düzeltme: Her şeyi tek bir istemci üzerinde tek bir işlem içinde çalıştırın, satırları SELECT... FOR UPDATE ile kilitleyin ve yalnızca tüm güncellemeler başarılı olduktan sonra commit edin. satır 5 · claude tarafından bulundu · gpt-5.6, gemini-3.6-flash tarafından doğrulandı
- yüksek Fonksiyon, faturanın müşteriye ait olduğunu veya hâlâ açık olduğunu hiçbir zaman kontrol etmez. Bir müşterinin kredisi başka bir müşterinin faturasına veya zaten ödenmiş bir faturaya uygulanabilir. Düzeltme: Faturayı WHERE id = $1 AND customer_id = $2 AND status = 'open' ile seçin ve hiçbir satır dönmezse başarısız olun. satır 11 · claude tarafından bulundu · gpt-5.6, gemini-3.6-flash tarafından doğrulandı
- orta Faturanın ve müşterinin varlığı kontrol edilmiyor. Bilinmeyen kimlikler için rows[0] erişimi, kontrollü bir iş hatası yerine çalışma zamanı hatalarına yol açar; ayrıca bu durum ortaya çıkmadan önce her iki sorgu da gereksiz yere yürütülür. Düzeltme: Her iki sorgu için rowCount veya rows.length değerlerini kontrol edin ve tanımlı bir bulunamadı hatası yükseltin; kontrolü işleme ve mümkünse ilişkisel bir sorguya entegre edin. satır 4 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- orta Dönüş değeri ne saklanan sent tutarına ne de ana para birimine basit bir dönüşüme karşılık gelir: düz yüzde 19 ekler ve kayan nokta aritmetiği kullanır. Sonuç olarak, çağıran taraf, vergi ve yuvarlama açısından fiilen saklanan kalan fatura bakiyesinden farklı bir değer alabilir. Düzeltme: Kalan tutarı sent cinsinden değiştirmeden döndürün veya açıkça tiplenmiş bir dönüş değeri tanımlayın. İş gerekçeleriyle bir vergi hesaplaması gerekiyorsa, vergi oranını ve yuvarlama kuralını fatura verilerinden alın ve tam sayı veya ondalık aritmetikle hesaplayın. satır 17 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- orta Finansal hesaplamalar için IEEE 754 kayan nokta aritmetiği (newTotal * 1.19 / 100) kullanımı. Bu, hassasiyet ve yuvarlama hatalarına yol açar. Düzeltme: Tam sayılarla (BigInt/Math.round) tutarlı biçimde sent cinsinden hesaplayın veya kesin ondalık aritmetik için bir kütüphane kullanın. satır 18 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- düşük Fatura durumu için ayrı bir UPDATE komutu gereksiz veritabanı gidiş-dönüşlerine neden olur. Düzeltme: total_cents ve status güncellemesini tek bir UPDATE sorgusunda birleştirin. satır 12 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
Kirat'ın sistematik derlememiz için tarama analizi betiğini doğruluk açısından kontrol etmesini sağlayın.
kirat_review konseye sordu
Kirat 11 doğrulanmış sorun buldu (6 × yüksek, 4 × orta, 1 × düşük). Her bulgu diğer model ailesi tarafından çapraz kontrol edildi.
Listenin en üstündekilerle başlayın; her biri önerilen bir düzeltmeyle birlikte gelir.
Perde arkası
kirat_review Claude'un Kirat'a gönderdikleri
KAYDEDİLDİ 2026-10-13 · KIRAT_REVIEW · EFFORT: STANDARD · 11 DOĞRULANDI, 0 REDDEDİLDİ · $0.09
Odak: sistematik bir derlem için tarama analizinin doğruluğu
Gönderilen kod:
# screening/agreement.py — compares two screeners' include/exclude decisions (Python 3.12, pandas)
import pandas as pd
a = pd.read_csv('screener_a.csv') # columns: record_id, decision ('include'/'exclude')
b = pd.read_csv('screener_b.csv')
merged = a.merge(b, on='record_id', suffixes=('_a', '_b'))
agree = (merged.decision_a == merged.decision_b).mean()
p_inc_a = (merged.decision_a == 'include').mean()
p_inc_b = (merged.decision_b == 'include').mean()
expected = p_inc_a * p_inc_b + (1 - p_inc_a) * (1 - p_inc_b)
kappa = (agree - expected) / (1 - expected)
conflicts = merged[merged.decision_a != merged.decision_b]
excluded = merged[merged.decision_a == 'exclude']
print(f'Records screened: {len(a)}')
print(f"Cohen's kappa: {kappa:.2f}")
excluded.record_id.to_csv('excluded.csv', index=False)
conflicts.to_csv('conflicts.csv', index=False)
Konseyden gelen sonuç
- yüksek Varsayılan iç birleştirme, iki dosyadan yalnızca birinde bulunan tüm record_id değerlerini kaldırır. Bu nedenle kappa ve çakışmalar yalnızca kesişim için hesaplanır ve eksik taramalar görünür hale gelmez. Aynı zamanda, 18. satırdaki "Taranan kayıtlar" gerçekte analiz edilen kesişim yerine a'nın uzunluğunu bildirir. Düzeltme: Bir birleştirme göstergesiyle dış birleştirme kullanın, ID kümelerini açıkça karşılaştırın ve eksik kararları ayrıca bildirin veya veri hatası olarak ele alın. Her metrik için gerçekte kullanılan paydayı çıktı olarak verin. satır 7 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- yüksek record_id'nin benzersizliği kontrol edilmiyor. Yinelenen ID'ler birleştirme sırasında çoktan çoğa Kartezyen çarpıma yol açar ve tek tek çalışmaları birden fazla kez ağırlıklandırarak uyumu, prevalansları, kappa'yı ve çıktı dosyalarını bozar. Düzeltme: Birleştirmeden önce her iki dosyada da record_id'nin boş olmadığını ve benzersiz olduğunu kontrol edin ve yinelenenlerde işlemi durdurun. Ek olarak merge(..., validate='one_to_one') kullanın. satır 7 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- yüksek Karar değerleri doğrulanmıyor. Eksik değerler, yazım hataları, büyük/küçük harf farkları veya ek kategoriler, dahil etme prevalansı hesaplanırken örtük olarak "hariç tut" gibi ele alınırken, gözlenen uyum tam değerleri karşılaştırır. Bu nedenle hesaplama artık ikili Cohen kappa'sına karşılık gelmez ve çelişkili sonuçlar üretebilir. Düzeltme: Analizden önce decision değerini kontrollü bir şekilde normalleştirin ve her değerin tam olarak 'include' veya 'exclude' olduğundan emin olun. Eksik veya bilinmeyen değerleri veri hatası ya da tamamlanmamış tarama olarak ayrıca ele alın. satır 9 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- yüksek excluded, tarayıcı A tarafından hariç tutulan tüm kayıtları içerir; buna tarayıcı B'nin "include" kararı verdiği çakışmalar da dahildir. Bu nedenle bu tür kayıtlar hem excluded.csv hem de conflicts.csv dosyalarına yazılır. excluded.csv nihai olarak hariç tutulan isabetleri temsil etmesi gerekiyorsa, çözülmemiş çakışmalar incelemeden yanlışlıkla çıkarılabilir. Düzeltme: Belgelenmiş bir öncelik kuralı yoksa yalnızca eşleşen hariç tutmaları seçin, yani (decision_a == 'exclude') & (decision_b == 'exclude'). Bir konsensüs kararı verilene kadar çakışmaları yalnızca conflicts.csv içinde tutun. satır 16 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- yüksek Hariç tutulan çalışmaların hatalı filtrelenmesi: 'excluded' yalnızca tarayıcı A'nın kararını dikkate alır ('merged.decision_a == "exclude"'). Bir çakışma varsa (tarayıcı A hariç tutar, tarayıcı B dahil eder), çalışma yanlışlıkla hariç tutulmuş olarak sayılır. Düzeltme: Hariç tutmaları yalnızca her iki tarayıcı da tutarlı biçimde 'exclude' seçtiyse dışa aktarın (ör. '(merged.decision_a == "exclude") & (merged.decision_b == "exclude")') veya çakışmanın çözülmesini bekleyin. satır 16 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- yüksek excluded.csv, tarayıcı A'nın hariç tuttuğu her kaydı içerir; buna tarayıcı B'nin dahil ettiği çakışmalar da dahildir. Bu kayıtlar çakışma tartışmasından önce çıkarılır; bu da tam olarak protokolün kaçınması gereken yanlış hariç tutmadır. Düzeltme: Yalnızca her iki tarayıcının da hariç tuttuğu kayıtları hariç tutun: merged[(merged.decision_a == 'exclude') & (merged.decision_b == 'exclude')]; her çakışmayı önce çözüme gönderin. satır 16 · claude tarafından bulundu · gpt-5.6, gemini-3.6-flash tarafından doğrulandı
- orta Her iki tarayıcı da yalnızca aynı kategoriyi kullanırsa expected 1'e eşit olur ve kappa'nın paydası 0 olur. Sonuç NaN olur veya sıfıra bölme uyarısı üretebilir; biçimlendirilmiş "nan" çıktısı kappa'nın matematiksel olarak tanımsız olduğunu açıklamaz. Boş bir analiz edilen kesişim de anlamsız NaN metriklerine yol açar. Düzeltme: Bölmeden önce hiç eşleştirilmiş geçerli karar olup olmadığını ve 1 - expected değerinin 0'dan büyük olup olmadığını kontrol edin. Dejenere durumlarda kappa'yı açıkça "tanımsız" olarak bildirin ve altında yatan frekansları raporlayın. satır 13 · gpt-5.6 tarafından bulundu · gemini-3.6-flash tarafından doğrulandı
- orta Cohen kappa'sında beklenen şans değeri 'expected' 1'e eşitse olası sıfıra bölme (ör. her iki tarayıcı da kayıtların %100'ü için aynı kategoriyi seçerse). Düzeltme: Hesaplamadan önce '1 - expected == 0' olup olmadığını yakalayın ve bu durumda tanımlı bir değer atayın (ör. 1.0 veya NaN). satır 12 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- orta Varsayılan iç birleştirme ile kayıtların sessizce atılması. Tarayıcı A ve tarayıcı B farklı 'record_id' kümelerini değerlendirdiyse, işlenen çalışmalardaki tutarsızlıklar bildirilmez. Ayrıca konsol çıktısındaki 'len(a)' o zaman gerçekte eşleştirilen çalışma sayısına karşılık gelmez. Düzeltme: 'len(a) == len(b) == len(merged)' koşulunun geçerli olup olmadığını kontrol edin veya tamamlanmamış değerlendirilmiş kayıtları açıkça göstermek için dış birleştirme yapın. satır 7 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
- orta İç birleştirme, yalnızca bir tarayıcının karar verdiği kayıtları sessizce atar ve yazdırılan sayı len(a) kullanır. Taranmamış kayıtlar hem uyumdan hem de PRISMA sayılarından kaybolur. Düzeltme: how='outer', indicator=True ile birleştirin ve herhangi bir kayıtta tarayıcılardan birinin kararı yoksa başarısız olun veya bildirin. satır 7 · claude tarafından bulundu · gpt-5.6, gemini-3.6-flash tarafından doğrulandı
- düşük 'decision' sütununda eksik girdi temizliği ve eksik değerlerin işlenmesi yok. Büyük/küçük harf, boşluk veya NaN değerleri yanlış karşılaştırmalara yol açar. Düzeltme: Karşılaştırmadan önce sütun değerlerini temizleyin (ör. '.str.strip().str.lower()' ile) ve veri türü güvenliğini sağlayın. satır 9 · gemini-3.6-flash tarafından bulundu · gpt-5.6 tarafından doğrulandı
Gösterilen: üyelerin yazdığı şekliyle düzeltmeleriyle birlikte her doğrulanmış bulgu; doğrulayıcıların gerekçeleri kararlarına kısaltıldı. Yinelenenler birleştirilmez, bu nedenle bir sorun birden fazla üye tarafından bildirildiğinde birden fazla kez görünebilir. Kod, odak ve Claude'un kendi bulguları İngilizce gönderildi; üyelerin Almanca yazdığı bulgular burada çevrildi.
Farklı alanlardan beş fikir özeti. ChatGPT ve Gemini üç iz üzerinde çalışır, Claude bir fikir ekler ve her iki üye de her fikri anonim olarak puanlar (her biri 1–10, en fazla 20 puan). Birini seçin.
İki blog yazım Google'da sıralanıyor, ancak çok az okuyucu deneme başlatıyor. Kirat ile fikirler üretin.
kirat_brainstorm konseye sordu
Konsey 14 fikir ortaya koydu ve her birini anonim olarak puanladı. İlk üç:
- 14 günlük süreyi üç gerçek gönderimle değiştirin (18/20 puan)
- Görevi makale içinde tamamlayın (17/20 puan)
- Takip makalesini bir kurtarma konsoluna dönüştürün (17/20 puan)
Perde arkası
kirat_brainstorm Claude'un Kirat'a gönderdiği
KAYDEDİLDİ 2026-10-13 · KIRAT_BRAINSTORM · EFFORT: STANDARD · 14 FİKİR · 1 TUR · $0.11
Konu: Tek başına çalışan bir geliştiricinin, Google'da sıralanan iki blog yazısının daha fazla okuyucusunu serbest çalışanlar için bir faturalama aracının deneme kayıtlarına dönüştürmesine yönelik fikirler
Gönderilen bağlam: Serbest çalışanlar için faturalama aracı, ayda 19 USD, 14 günlük ücretsiz deneme, 5 ay sonra 30 ödeme yapan müşteri. Kayıtlar çoğunlukla Google'da sıralanan iki blog yazısından geliyor (serbest çalışan faturası nasıl yazılır; geciken ödemeler nasıl takip edilir). Denemelerin yaklaşık %12'si dönüşüyor. Geliştiricinin bir gündelik işi var ve ürün için haftada yaklaşık 10 saati var. KESİN: ücretli reklam yok. KESİN: bunun için haftada en fazla 3 saat.
Konseyden gelen sonuç
- 1 14 günlük süreyi üç gerçek gönderimle değiştir gpt-5.6 · kural ihlalcisi · 18/20 puan (9 + 9) 14 takvim günü yerine üç gönderilmiş fatura veya ödeme hatırlatmasından sonra sona eren bir deneme sürecini test edin. Bu, süreyle sınırlı denemenin uygun olduğu yönündeki yumuşak varsayımı bilinçli olarak bozar: serbest çalışanlar keyfi iki haftalık bir pencerede fatura kesmeyebilir, dolayısıyla mevcut deneme, ürün değerini kanıtlamadan önce sona erebilir. Aylık 19 dolarlık planı değiştirmeden bırakın ve aktivasyondan ücretliye dönüşümü kohort bazında karşılaştırın.
- 2 Görevi makalenin içinde tamamla gpt-5.6 · brief dahilinde · 17/20 puan (9 + 8) "Serbest çalışan faturası nasıl yazılır" yazısına küçük bir fatura oluşturucu yerleştirin: okuyucular müşteri, tutar, vade tarihi ve ödeme koşullarını girer, ardından tamamlanmış bir önizleme görür. "Bu faturayı gönder veya kaydet" bu ayrıntıların zaten yüklü olduğu bir deneme başlatır ve öğrenme ile yapma arasındaki boşluğu ortadan kaldırır. Haftalık üç saatle sınırlı dilimler halinde oluşturun, ardından bakımı neredeyse sıfırda tutun.
- 3 Takip makalesini bir kurtarma konsoluna dönüştür gpt-5.6 · komşu · 17/20 puan (9 + 8) Gömülü fatura oluşturucunun tek adımlı bir ikamesi olarak, okuyucuların gecikmiş bir tutar ve vade tarihi girerek tarihli üç mesajlık bir takip dizisi oluşturmasına izin verin. Deneme başlatmak borçluyu kaydeder, mesajları planlar ve gönderime hazır ilk taslağı açar. Bu, en güçlü kalıbı—kayıttan önce faydalı çıktı—korurken ikinci yazının amacına da uyar.
- 4 Dönüşüm anını borçlunun takvimine koy gpt-5.6 · brief dahilinde · 16/20 puan (7 + 9) Geç ödeme makalesinde, vade tarihi ve 1., 7. ve 14. günlerde artan takipler için hatırlatıcılar içeren oluşturulmuş bir .ics dosyası sunun. Her takvim etkinliği, ilgili takip iş akışını tarihler önceden doldurulmuş şekilde açan bir derin bağlantı içerir ve okuyucuyu yalnızca araştırma yaparken değil, sorun gerçekken geri getirir. E-posta toplama gerektirmez ve gözetimsiz çalışabilir.
- 5 Deneme süresi yerine tek müşteri için kalıcı ücretsiz plan gemini-3.6-flash · kural ihlalcisi · 16/20 puan (8 + 8) Bu fikir, 14 günlük denemenin yumuşak kısıtını bozar ve yerine tam olarak bir aktif müşteri için freemium planı koyar. Serbest çalışanlar ürünü ilk müşterileri için kalıcı olarak ücretsiz kullanır ve ikinci bir müşteri eklendiği anda 19 dolarlık sabit ücrete sorunsuz şekilde yükseltir.
- 6 Okuyucuları acil soruna göre yönlendir gpt-5.6 · brief dahilinde · 14/20 puan (8 + 6) Genel deneme banner'larını "İlk faturama ihtiyacım var", "Düzenli olarak fatura kesiyorum" ve "Bir müşteri zaten gecikti" gibi üç satır içi seçenekle değiştirin. Her seçim aynı ana sayfa yerine eşleşen bir onboarding durumu açar ve makale bölüm kimlikleri makul varsayılanları önceden seçebilir. Yalnızca CTA tıklamalarını değil, tamamlanmış deneme aktivasyonunu ölçün ve haftada bir rotayı test edin.
- 7 Üç adli fatura makyajı yayınla gpt-5.6 · brief dahilinde · 14/20 puan (8 + 6) İzinle, üç anonimleştirilmiş müşteri faturasını tam olarak neyin değiştiğini ve nedenini gösteren statik öncesi-sonrası vaka çalışmalarına dönüştürün. Her makyajı sıralama yazısındaki ilgili tavsiyenin yanına, aynı düzeltilmiş yapıyı düzenlenebilir bir deneme şablonu olarak açan bir CTA ile yerleştirin. Küçük bir müşteri tabanından gelen somut kanıtlar, geniş referanslardan daha inandırıcı olabilir.
- 8 Okuyucuların ilerlemesini iki yazı arasında taşımalarına izin ver gpt-5.6 · brief dahilinde · 14/20 puan (7 + 7) Okuyucunun seçtiği para birimini, fatura aşamasını ve vade tarihini tarayıcıda yerel olarak saklayın, ardından iki makale arasında geçiş yaptıklarında bu durumu kullanın. Bir fatura planı oluşturan biri daha sonra "Faturanız artık 3 gün gecikti—hazırlanmış takibi açın" gibi bağlamsal bir istem görebilir ve deneme onboarding'i önceden doldurulmuş olur. Bu, hesap veya sürekli içerik üretimi gerektirmeden hafif bir iki yazılık yolculuk yaratır.
- 9 Etkileşimli hatırlatma mektubu yapılandırıcısı gemini-3.6-flash · brief dahilinde · 14/20 puan (7 + 7) Gecikmiş ödemelerin takibiyle ilgili makaleye artan ödeme hatırlatma mektupları için bir oluşturucu ekleyin. Metin girildikten sonra şablon oluşturulur ve deneme hesabında gelecekteki faturalar için otomatik ödeme hatırlatıcıları kurma CTA'sıyla birleştirilir.
- 10 Önceden kayıt olmadan anında gönderim sihirli bağlantısı gemini-3.6-flash · komşu · 14/20 puan (8 + 6) İçerik içi oluşturucunun mutasyonu: okuyucu fatura ayrıntılarını doğrudan blog makalesine girer ve "Faturayı şimdi gönder"e tıklar. Arka planda sistem sorunsuz şekilde bir deneme hesabı oluşturur ve e-postayı doğrudan gönderir; parola yalnızca sonradan belirlenir.
- 11 Doğrudan blog makalesinde canlı fatura oluşturucu gemini-3.6-flash · brief dahilinde · 13/20 puan (6 + 7) Fatura yazma makalesine doğrudan basit, etkileşimli bir form aracı yerleştirin. Okuyucular fatura ayrıntılarını yazar ve tamamlanmış PDF'yi hemen ve ücretsiz olarak indirebilir. Belirgin bir düğme, faturanın tek tıkla dijital olarak gönderilmesini ve ödeme durumunun 14 günlük deneme hesabında izlenmesini önerir.
- 12 Aylık abonelik yerine tek seferlik kullandıkça öde hatırlatması gemini-3.6-flash · kural ihlalcisi · 13/20 puan (6 + 7) Bu fikir, ayda 19 dolarlık saf SaaS abonelik modelinin yumuşak kısıtını bozar. Geç ödeme makalesinin okuyucuları, 5 dolarlık tek seferlik bir ücretle, takip bağlantısı içeren hukuken geçerli bir hatırlatma mektubunun gönderilmesini sağlayabilir; daha sonra abonelik alırlarsa ücret tamamen mahsup edilir.
- 13 Araçta açılan şablon claude · brief dahilinde · 11/20 puan (6 + 5) Yazıdaki fatura şablonunu araçta kullanıma hazır bir fatura olarak sunun: tek tıkla dosya indirmek yerine önceden doldurulmuş bir deneme hesabı açılır.
- 14 Otomatik e-posta dizisiyle soruna özgü çıkış niyeti gemini-3.6-flash · brief dahilinde · 8/20 puan (4 + 4) Geç ödeme makalesinde, geç ödeyen müşteriler için bir acil durum e-posta şablonunu e-posta adresi karşılığında sunan bir çıkış niyeti açılır penceresi uygulayın. Ardından otomatik üç bölümlü bir e-posta dizisi, otomatik iş akışlarının geç ödemeleri nasıl azalttığını pasif olarak açıklar ve deneme hesabına bağlantı verir.
Kirat ile beyin fırtınası yapın: bu tek seferlik mağaza yeniden yapılandırmasını müşterinin gerçekten istediği bir bakım planına nasıl dönüştürebiliriz?
kirat_brainstorm konseye sordu
Konsey 15 fikir ortaya koydu ve her birini anonim olarak derecelendirdi. İlk üç:
- Bütçe molası: lansman parlaklığından önce operasyonlar (18/20 puan)
- CSV Ürün Kapı Bekçisi (17/20 puan)
- Güvenilirlik Temettüsü (17/20 puan)
Perde arkasında
kirat_brainstorm Claude'un Kirat'a gönderdiği
KAYDEDİLDİ 2026-10-13 · KIRAT_BRAINSTORM · EFFORT: STANDARD · 15 FİKİR · 1 TUR · $0.10
Konu: Küçük bir dijital ajansın, tek seferlik bir mağaza yeniden yapılandırmasını müşterinin gerçekten istediği düzenli bir bakım anlaşmasına dönüştürmesi için fikirler
Gönderilen bağlam: 4 kişilik ajans. Müşteri Almanya, Avusturya ve İsviçre'de yaklaşık 1.800 mobilya ürünü satıyor, 3 çalışanı var ve şirket içi geliştiricisi yok, yıllık geliri yaklaşık 1,2 milyon EUR. Eski kendi barındırılan WooCommerce mağazasında 31 eklenti vardı ve geçen yıl iki güvenlik olayı yaşandı; müşteri daha az bakım ve daha az acil durum istiyor. Yerel bir ERP, ürün verilerini CSV olarak dışa aktarıyor. Yeniden yapılandırma bütçesi: 25.000 EUR. KESİN: kilitlenme yok; müşteri tüm veriler ve erişimle istediği zaman ayrılabilmelidir. KESİN: ajansda ek işe alım yok.
Konseyden sonuç
- 1 Bütçe kırılması: lansmandan önceki operasyonlar için parlak sunum gpt-5.6 · kural ihlalcisi · 18/20 puan (9 + 9) Bu fikir, 25.000 EUR'luk yeniden yapılandırma bütçesinin yumuşak kısıtını bilinçli olarak ihlal ediyor: teklif, örneğin, bilinçli olarak yalın bir lansman için 22.000 EUR artı bağlayıcı ilk işletme yılı için 12.000 EUR'dur. Karşılığında, ilk projeden güzel-olsa-iyi-olur özellikler çıkarılır; bunun yerine içe aktarma sağlamlaştırması, geri yükleme tatbikatları, izleme ve aylık iyileştirmeler finanse edilir. Daha yüksek toplam hacim kendini amorti eder çünkü müşteri bir kez daha görünüşte bitmiş, gerçek işletme maliyetleri ancak lansmandan sonra ortaya çıkan bir mağaza satın almıyor; tüm erişim kimlik bilgileri, veriler ve iş sonuçları her an devredilebilir kalır.
- 2 CSV Ürün Kapı Bekçisi gpt-5.6 · brief içinde · 17/20 puan (9 + 8) Her ERP içe aktarmasından önce, otomatik bir işlem hattı CSV'yi eksik fiyatlar, yinelenenler, geçersiz varyantlar, görsel hataları, DACH vergi mantığı ve şüpheli stok değişiklikleri açısından kontrol eder. Aylık retainer, kural bakımını, içe aktarma izlemesini ve üç çalışan için anlaşılır bir hata raporunu kapsar. Bu, teknik bakımı doğrudan bir iş faydasına dönüştürür: daha az yanlış ürün, takip sorusu ve yarıda bırakılan satın alma.
- 3 Güvenilirlik Temettüsü gpt-5.6 · brief içinde · 17/20 puan (8 + 9) Müşteri, izleme ve bakım için orta düzeyde bir temel ücret öder; ek bir üç aylık tutar yalnızca başarılı içe aktarmalar, test edilmiş geri yükleme ve yanıt süreleri gibi kararlaştırılan güvenilirlik hedefleri karşılandığında ödenir. Ajansın neden olduğu önlenebilir kesintiler, faturalandırılabilir acil durum saatleri yerine hizmet kredisi oluşturur. Bu model, ekonomik teşvikleri önlemeyle uyumlu hale getirir ve müşterinin ajansın sorunlardan kâr ettiği korkusunu ortadan kaldırır.
- 4 Çıkışa Hazır Bakım Sözleşmesi gpt-5.6 · brief içinde · 16/20 puan (9 + 7) Retainer bilinçli olarak bir kilitlenme karşıtı ürün olarak satılır: izleme, güncellemeler, yedeklemeler, güvenlik kontrolleri ve ayda yaklaşık 1.200–1.500 EUR karşılığında iki küçük değişiklik. Tüm hesaplar müşteriye aittir ve kod ile içe aktarma betikleri müşterinin deposunda bulunur; ayrıca müşteri her ay dokümantasyon, bir veri dışa aktarımı ve istediği zaman iptal etmesini sağlayan bir devir paketi alır. Bu şekilde müşteri bağımlılık yerine kanıtlanabilir işletilebilirlik için ödeme yapar.
- 5 Mevsimsel sürüm treni gpt-5.6 · brief içinde · 16/20 puan (8 + 8) Rastgele destek talepleri yerine yılda dört planlanabilir ticaret sürümü vardır; örneğin bahçe mobilyaları, yaz sonu, Black Week ve Noel için. Retainer'a her sürüm için küçük bir UX veya merchandising paketi, regresyon testleri ve aradaki teknik bakım dahildir. Bu, müşteriye görünür sürekli gelişim sağlar ve dört kişilik ajans için eforu paketlenebilir tutar.
- 6 Üç aylık kaçış testi gpt-5.6 · brief içinde · 16/20 puan (9 + 7) Ajans üç ayda bir ürün, müşteri, sipariş ve içerik verilerinin tam bir dışa aktarımını sağlar ve tarafsız bir test ortamında belgelenmiş bir yeniden başlatma gerçekleştirir. Müşterinin her şeyden önce ödediği şey, düzenli olarak kanıtlanan çıkıştır: erişim listesi, geri yükleme günlüğü ve devir kılavuzu müşteriye aittir. Katı kilitlenme olmaması kriteri böylece bir itirazdan retainer için sıra dışı bir satış argümanına dönüşür.
- 7 Bakım Sözleşmesi artı büyüme takası gpt-5.6 · komşu · 16/20 puan (8 + 8) Çıkışa Hazır Bakım Sözleşmesi'nin küçük bir mutasyonu olarak, dahil edilen değişiklik saatleri önceden sabitlenmez, aylık olarak operasyonlar, veri kalitesi ve dönüşüm iyileştirmeleri arasında kaydırılır; kullanılmayan hacim en fazla bir çeyrek devreder. Ortak 30 dakikalık bir kurul, riskler ve gelir fırsatlarına dayanarak bunların nasıl kullanılacağına karar verir. Retainer çıkışa hazır kalır ancak sigorta gibi değil, daha çok esnek bir harici dijital ekip gibi hissettirir.
- 8 ERP senkronizasyonu ve katalog güvenliği retainer'ı gemini-3.6-flash · brief içinde · 13/20 puan (7 + 6) Ajans, yerel ERP CSV'si ile çevrimiçi mağaza arasındaki arayüzün sürekli izlenmesini ve bakımını üstlenir. Hatalı veri içe aktarmaları, eksik mobilya varyantları veya yanlış fiyatlar yayına girmeden önce otomatik olarak yakalanır. Bu, veri bakımının operasyonel yükünü müşterinin 3 kişilik ekibinden tamamen alır.
- 9 Yapay zekâ destekli ürün verisi zenginleştirme sabit ücreti gemini-3.6-flash · komşu · 13/20 puan (6 + 7) ERP arayüzü fikrinin mutasyonu: ajans yalnızca CSV içe aktarmasını sürdürmekle kalmaz, aynı zamanda ham verileri yapılandırılmış öznitelikler, SEO metni ve DACH'a özgü teslimat süresi notlarıyla otomatik olarak zenginleştirmek için yapay zekâ betikleri kullanır. Bu, müşteriye manuel bakım eforundan tasarruf sağlar ve ek ajans personeli olmadan mobilya pazarındaki görünürlüğü artırır.
- 10 CI/CD tabanlı görsel regresyon bakım sözleşmesi gemini-3.6-flash · brief içinde · 12/20 puan (6 + 6) Riskli canlı güncellemeler yerine ajans, aylık eklenti güncellemelerini görsel ve işlevsel olarak otomatik kontrol eden bir staging işlem hattı kurar. Müşteri aylık bir şeffaflık raporu ve güvenlik açıkları için garantili yanıt süreleri alır. Bu, önceki acil durumlar olmadan mutlak kararlılık garantisi verir.
- 11 Üç aylık dönüşüm ve UX cilası gemini-3.6-flash · brief içinde · 11/20 puan (6 + 5) Temel bakıma ek olarak retainer, ödeme işlevlerini ve mobilya varyantı gösterimlerini optimize etmek için sabit saat kotaları içerir. Ajans her ay DACH bölgesindeki kullanıcı davranışını analiz eder ve yüksek getirili ayarlamalar uygular. Bu, retainer'ı saf bir maliyet faktöründen bir gelir sürücüsüne dönüştürür.
- 12 Güvenli güncelleme ve anında geri alma garantisi gemini-3.6-flash · komşu · 11/20 puan (5 + 6) CI/CD bakım sözleşmesinin mutasyonu: retainer, olaylar durumunda 15 dakika içinde otomatik anlık görüntü geri yüklemesiyle garantili sıfır kesinti SLA'sına odaklanır. Bu, müşterinin iki güvenlik olayından sonraki korkusunu minimum sürekli manuel eforla doğrudan ele alır.
- 13 Sabit bütçe yerine gelir paylaşımı büyüme paketi gemini-3.6-flash · kural ihlalcisi · 9/20 puan (4 + 5) 25.000 EUR'luk katı tek seferlik yeniden yapılandırma bütçesinin yumuşak varsayımını ihlal eder: yeniden yapılandırma maliyetleri 10.000 EUR'ya düşürülür ve ek gelirin küçük bir payını içeren aylık bir retainer ile birleştirilir. Bu kendini amorti eder çünkü müşteri yatırım riskini azaltır ve ajans 1,2 milyon EUR'luk mağazanın büyümesine doğrudan katılır.
- 14 Headless Mimari Bakım Hizmeti gemini-3.6-flash · kural ihlalcisi · 7/20 puan (3 + 4) Klasik monolit kurulumun (örneğin standart WooCommerce) yumuşak kısıtını ihlal eder: ön uç arka uçtan ayrılır, böylece eklenti güvenlik açıkları artık web sitesine doğrudan saldıramaz. Bu kendini amorti eder çünkü acil durumlar yapısal olarak ortadan kaldırılır ve müşteri açık kaynak yığını ve tam Git erişimi sayesinde her an taşınabilir kalır.
- 15 Aylık tek sayfalık bakım raporu claude · brief içinde · 6/20 puan (4 + 2) Çalışma süresi, sayfa hızı, uygulanan güncellemeler ve önlenen olayları içeren tek sayfalık aylık bir rapor, böylece müşteri retainer'ın ne için ödediğini görür.
Yeni sipariş sayfamız gelecek ay yayına giriyor. Ücretli reklam olmadan daha fazla pasta ön siparişi nasıl alacağımızı Kirat ile birlikte beyin fırtınası yapın.
kirat_brainstorm konseye sordu
Konsey 15 fikir ortaya koydu ve her birini anonim olarak değerlendirdi. İlk üç:
- Yıllık doğum günü otopilotu (18/20 puan)
- Genel gönderiler yerine gerçek pasta dilimleri (17/20 puan)
- Pasta kendi reklam aracı olarak seyahat eder (16/20 puan)
Perde arkası
kirat_brainstorm Claude'un Kirat'a gönderdiği
KAYDEDİLDİ 2026-10-13 · KIRAT_BEYİN_FIRTINASI · EFFORT: STANDARD · 15 FİKİR · 1 TUR · $0.09
Konu: Yerel bir fırının yeni çevrimiçi sipariş sayfası aracılığıyla ücretli reklam olmadan daha fazla özel pasta ön siparişi alması için fikirler
Gönderilen bağlam: 40.000 kişilik bir Alman kasabasında 6 çalışanı olan fırın. Özel pastalar ve ön siparişler en iyi marja sahiptir. Yeni bir çevrimiçi sipariş sayfası (pasta seçimi, teslim alma tarihi, ön ödeme) gelecek ay yayına giriyor; şimdiye kadar siparişler yalnızca telefon ve e-posta ile geliyordu. Google Business Profili 120 yorumdan 4,7 yıldıza sahip. Sahibinin çok az zamanı var, bu nedenle fikirler haftada en fazla 2 saat ile yürütülebilmeli. KATI: bu çeyrekte ücretli reklam yok. KATI: ek personel yok.
Konseyden gelen sonuç
- 1 Yıllık doğum günü otopilotu gpt-5.6 · brief kapsamında · 18/20 puan (9 + 9) Ödeme sırasında müşteriler, gelecek yıl için bir hatırlatma amacıyla etkinliği ve ayı gönüllü olarak bırakabilir. 21 gün önceden gönderilen otomatik bir e-posta, önceden doldurulmuş sipariş sayfasına yönlendirir; bu sayede her sipariş, sürekli müşteri kazanımı olmadan ve temiz bir rıza ile gelecekteki bir siparişi oluşturur.
- 2 Genel gönderiler yerine gerçek pasta kontenjanları gpt-5.6 · brief kapsamında · 17/20 puan (9 + 8) Sipariş sayfası, önümüzdeki dört hafta için gerçek kalan üretim kontenjanlarını gösterir; örneğin "Cumartesi için hâlâ 2 özel pasta mevcut". Haftalık bir Google Business gönderisi doğrudan bu görünüme bağlantı verir; güncellemek ve gönderi paylaşmak birlikte en fazla 20 dakika sürer ve indirim olmadan inandırıcı bir aciliyet yaratır.
- 3 Pasta kendi reklam aracı olarak yolculuk eder gpt-5.6 · brief kapsamında · 16/20 puan (8 + 8) Alınan her pastaya "Bu pastayı yeniden sipariş edin veya kişiselleştirin" yazan küçük bir kart ve eşleşen varyant için bir QR kodu verilir. Kart, pasta kesilirken görünür şekilde sergilenir; böylece tam olarak orada bulunan doğum günü veya düğün misafirleri sipariş verme yolunu keşfeder; bir kez oluşturulan bir kart seti neredeyse hiç haftalık çaba gerektirmez.
- 4 Lansmanda tek seferlik pasta danışma saati gpt-5.6 · kural ihlalcisi · 16/20 puan (8 + 8) Lansmandan sonraki ilk Cumartesi dört saatlik açık bir pasta danışma saati düzenlenir: misafirler örnek kartlardan lezzet ve stil seçer, ardından kendileri için yerleştirilmiş QR kodları aracılığıyla siparişlerini verir. Bu, o hafta en fazla iki saatlik çaba yönündeki yumuşak kısıtı bilinçli olarak ihlal eder; ekstra çaba karşılığını verir çünkü gerçek siparişler, gözlemlenen kullanılabilirlik sorunları ve yeniden kullanılabilir fotoğraflar ile müşteri soruları aynı anda üretilir — ek personel veya ücretli reklam olmadan.
- 5 Influencer'lar yerine etkinlik ortakları gpt-5.6 · brief kapsamında · 15/20 puan (8 + 7) Çocuk oyun alanları, fotoğrafçılar, çiçekçiler, düğün mekânları ve kulüp binaları, her biri kendi etkinlikleri için önceden yapılandırılmış bir pasta seçimine yönlendiren küçük bir QR standı alır. Karşılığında fırın, bu ortakları yerel bir öneriler sayfasında adlandırır; ayda beş hedefli talep yeterlidir ve komisyonlar ile ücretli erişim ortadan kalkar.
- 6 Ofisler ve kulüpler için pasta rotasyonu gpt-5.6 · brief kapsamında · 15/20 puan (8 + 7) Yerel ofisler, muayenehaneler ve kulüpler, birden fazla doğum gününün veya tekrarlayan tarihin toplanıp birbiri ardına ön ödemeli olarak alınabileceği bir sayfa edinir. Üç aylık rotasyonlar, bir kez kurulduktan sonra bireysel etkinlikleri planlanabilir seri siparişlere dönüştürür; erişim haftada iki kuruluşla sınırlandırılabilir.
- 7 Tezgâh tabletinde hibrit pasta danışmanlığı gemini-3.6-flash · kural ihlalcisi · 14/20 puan (7 + 7) Cuma günleri mağaza içinde 1 saatlik danışmanlık sunarak 'yalnızca çevrimiçi sipariş' yönündeki yumuşak kısıtı bilinçli olarak ihlal eder; bu sırada siparişler bir tablette birlikte girilir. Karşılığını verir çünkü kararsız ve yaşlı müşteriler yavaş yavaş yeni çevrimiçi sisteme alıştırılır.
- 8 Yorumlar bir karar aracına dönüşür gpt-5.6 · komşu · 13/20 puan (7 + 6) En güçlü mevcut materyalin küçük bir yeniden birleşimi olarak, 120 Google yorumundan on iki anlamlı cümle, her biri doğrudan sipariş bağlantısıyla eşleşen pasta stilleriyle eşleştirilir. Bu sayede 4.7 yıldız yalnızca bir güven sinyali olarak gösterilmez, ürün seçimine de yardımcı olur; tek seferlik kurulumdan sonra sayfa büyük ölçüde bakım gerektirmez.
- 9 Mağaza derin bağlantılarıyla örnek pasta vitrinleri gemini-3.6-flash · komşu · 13/20 puan (6 + 7) Satış alanındaki en güzel pastaların fiziksel bir fotoğraf galerisi, her resimle birlikte çevrimiçi mağazada tam olarak bu pasta modelini önceden seçili olarak açan belirli bir QR kodu içerir. Fikir 1'in mutasyonu: mağaza içi vitrini mağazadaki doğrudan bir derin bağlantıyla ilişkilendirmek.
- 10 Google profili optimizasyonu ve otomatik yorum bağlantıları gemini-3.6-flash · brief kapsamında · 12/20 puan (6 + 6) Güçlü Google profili (4.7 yıldız), resmi 'Çevrimiçi sipariş ver' düğmesiyle tamamlanır ve haftalık olarak güncel pastaların bir fotoğrafıyla güncellenir. Teslim alma sırasında müşteriler, yorum ve yeniden sipariş sayfasına bağlantı içeren bir şablonu e-posta ile alır. Haftada 30 dakikadan az sürer.
- 11 Fişlerde ve ekmek poşetlerinde QR kod tanıtımı gemini-3.6-flash · brief kapsamında · 11/20 puan (6 + 5) Her fişe ve ambalaja, doğrudan çevrimiçi pasta yapılandırıcısına yönlendiren dikkat çekici bir QR kodu basılır ('Kutlamanız için hayalinizdeki pastayı çevrimiçi planlayın'). Bu, günlük gelen müşterileri tezgâhta ekstra çaba olmadan dijital ön sipariş verenlere dönüştürür.
- 12 Yerel etkinlik mekânlarıyla B2B ortaklığı gemini-3.6-flash · brief kapsamında · 11/20 puan (6 + 5) Yerel restoranlara, etkinlik ahırlarına ve düğün planlayıcılarına web sitesi için doğrudan rezervasyon kodu içeren standlar ve el ilanları yerleştirilir. Kutlama yapan müşteriler pastalarını doğrudan çevrimiçi rezerve ederken, mekân karşılığında küçük bir masraf ödeneği veya bir yönlendirme alır.
- 13 Kreş ve okul doğum günü takvimi gemini-3.6-flash · komşu · 10/20 puan (4 + 6) Yerel anaokullarıyla, çocuk temalı pastalar için sabit bir indirim kodu içeren veli konseyleri için bilgi el ilanları aracılığıyla işbirliği. Fikir 3'ün mutasyonu: genel B2B ortakları yerine, çocuk doğum günlerinin yüksek frekanslı etkinliği otomatik bir şekilde özel olarak ele alınır.
- 14 Süslenmiş pastalar için aylık mini atölye gemini-3.6-flash · kural ihlalcisi · 10/20 puan (4 + 6) Ayda bir kez 4 saatlik bir atölye düzenlendiğinden, 'haftada en fazla 2 saat zaman' yönündeki yumuşak kısıtı bilinçli olarak ihlal eder. Karşılığını verir çünkü katılımcılar marka elçisi olarak hareket eder, coşkulu sosyal medya içeriği oluşturur ve çevrimiçi mağaza üzerinden takip siparişleri vermeleri garanti edilir.
- 15 Her pasta kutusunda sipariş bağlantısı claude · brief kapsamında · 8/20 puan (4 + 4) Pasta kutularına ve fişlere sipariş sayfasına bir QR kodu basın; böylece zaten pasta alan her müşteri, bir sonraki doğum günü için arama yapmadan yeniden sipariş verebilir.
Kirat'ın Claude'a notu: En iyi kural_ihlalcisi fikri yalnızca 4. sırada: "Lansmanda tek seferlik pasta danışma saati" — yumuşak bir kısıtı bilinçli olarak ihlal ediyor. Atmadan önce bir kez onu güçlü yönleriyle savun.
Faturalandırmayı monolitten ayırmadan iki çeyrek içinde faturalandırma olaylarını nasıl azaltacağımızı Kirat ile birlikte beyin fırtınası yapın.
kirat_brainstorm konseye sordu
Konsey 15 fikir ortaya koydu ve her birini anonim olarak değerlendirdi. İlk üç:
- Faturalandırma tabloları etrafında veritabanı güvenlik duvarı (17/20 puan)
- Yürütülebilir finansal değişmezler (17/20 puan)
- Sürüm gauntlet'i olarak olay tekrarı (17/20 puan)
Perde arkasında
kirat_brainstorm Claude'un Kirat'a gönderdiği
KAYDEDİLDİ 2026-10-13 · KIRAT_BEYİN_FIRTINASI · ÇABA: STANDART · 15 FİKİR · 1 TUR · $0.06
Konu: Faturalandırma modülünün ayrı bir hizmete çıkarılmadan iki çeyrek içinde neden olduğu üretim olaylarını azaltmaya yönelik fikirler
Gönderilen bağlam: 8 mühendisten oluşan ekip. Yaklaşık 60.000 satırlık bir TypeScript monolity, tek bir Postgres veritabanı, günde birkaç kez dağıtım. Faturalandırma modülü her hafta değişiyor ve son 8 üretim olayının 5'ine neden oldu; çoğunlukla diğer modüllerin faturalandırma tablolarını doğrudan okuması ve yazması yüzünden. Ekipteki hiç kimse üretimde dağıtık bir sistem çalıştırmadı. Yönetim iki çeyrek içinde daha az olay istiyor. KESİN: faturalandırma modülünün yeniden yazılması yok. KESİN: faturalandırma üzerindeki özellik çalışmaları her hafta devam ediyor.
Konseyden gelen sonuç
- 1 Faturalama tabloları etrafında veritabanı güvenlik duvarı gpt-5.6 · brief kapsamında · 17/20 puan (9 + 8) Monolitin faturalama ve faturalama dışı kod yolları için ayrı Postgres rolleri oluşturun, ardından genel uygulama rolünden faturalama tablolarına doğrudan yazma yetkisini kaldırın. Tüm değişiklikleri, gözden geçirilmiş az sayıda saklı yordam veya işlem fonksiyonu üzerinden yönlendirin; haftalık özellik çalışmalarını durdurmadan çağıranları keşfetmek ve taşımak için önce geçici denetim günlüğü ekleyin.
- 2 Yürütülebilir finansal değişmezler gpt-5.6 · brief kapsamında · 17/20 puan (9 + 8) Kısa bir değişmez listesini—değiştirilemez kesinleşmiş faturalar, dengeli defter kayıtları, idempotent ücret oluşturma ve geçerli durum geçişleri gibi—güvenli olduğu yerlerde veritabanı kısıtları, olmadığı yerlerde zamanlanmış üretim yoklamaları olarak kodlayın. Aynı yoklamaları CI içinde anonimleştirilmiş üretim biçimli fikstürlere karşı çalıştırın; böylece olay bilgisini geniş test kapsamı yerine kalıcı tetikleyicilere dönüştürün.
- 3 Sürüm sınavı olarak olay yeniden oynatma gpt-5.6 · brief kapsamında · 17/20 puan (9 + 8) Beş faturalama olayını yakalanmış sorgu biçimlerini ve temizlenmiş satırları kullanarak deterministik yeniden oynatma senaryolarına dönüştürün, ardından her faturalama değişikliğinin bunları geçmesini zorunlu kılın. Bu tam senaryolar etrafında yeniden denemeleri, yinelenen olayları, işlem sıralamasını ve kısmi hataları permüte eden üretken testler ekleyin; kapsamlı monolit kapsamı yerine hata komşuluğunu hedefleyin.
- 4 Faturalama sınırını gölge modda uygulayın gpt-5.6 · komşu · 16/20 puan (9 + 7) Veritabanı güvenlik duvarının daha düşük riskli bir varyasyonu olarak, başlangıçta mevcut izinleri koruyun ancak faturalama tablolarına dokunan her sorguyu modülü, çağrı noktası ve işlem kimliğiyle günlüğe kaydedin. Dört hafta sonra beklenmeyen yazmaları CI hatalarına, ardından modül modül üretim hatalarına dönüştürün; bu, anlık bir izin geçişi yerine aşamalı uygulamayı ikame eder.
- 5 Faturalama etki alanı anahtarlama panosu gpt-5.6 · brief kapsamında · 16/20 puan (9 + 7) Riskli faturalama davranışlarını—tüm modülü değil—sunucu tarafı kill switch'ler ve yüzdesel kademeli dağıtımlar arkasına alın; panolar fatura, ödeme ve mutabakat anormalliklerine göre anahtarlansın. Her haftalık özellik, test edilmiş bir kapatma yoluyla birlikte sevk edilsin; böylece müdahale ekipleri ilgisiz monolit dağıtımlarını geri almadan veya şema geçişlerini geri çevirmeden yeni davranışı devre dışı bırakabilsin.
- 6 Postgres şema kapsülleme ve Satır Düzeyi Güvenlik gemini-3.6-flash · brief kapsamında · 15/20 puan (7 + 8) Faturalama tablolarını ayrı bir Postgres şemasında (billing.*) yalıtın ve diğer DB rollerinden doğrudan yazma ve okuma erişimini kaldırın. Modüller bunlara yalnızca tanımlı SQL görünümleri veya saklı arayüzler aracılığıyla erişsin. Bu, olayların ana nedenini doğrudan veritabanı düzeyinde ortadan kaldırır.
- 7 Faturalama sürümleri için sözleşme testi ve gölge işlem hattı gemini-3.6-flash · brief kapsamında · 15/20 puan (8 + 7) CI işlem hattındaki tüm faturalama arayüzleri için otomatik tüketici odaklı sözleşme testleri oluşturun. Ayrıca, kritik hesaplamalara yönelik faturalama değişiklikleri üretimde gölge modda, yan etkisiz ve otomatik fark denetimiyle çalışsın.
- 8 Güvenlik aracı olarak ikinci bir veritabanı gpt-5.6 · kural ihlalcisi · 14/20 puan (7 + 7) Faturalamayı monolit içinde tutup birincil veritabanını tek yazıcı olarak korurken, mantıksal çoğaltma ile beslenen salt okunur bir gölge veritabanı ekleyerek "tek Postgres veritabanı" yumuşak varsayımını bilinçli olarak kırın. Yeni faturalama okumalarını ve mutabakat kontrollerini her iki veritabanına karşı çalıştırın, sonuçları açığa çıkarmadan önce karşılaştırın ve gölgeyi adli sorgular için kullanın; böylece olay teşhisi üretimi aşırı yükleyemez veya yanlışlıkla değiştiremez.
- 9 Katı modül sınırı linting ve genel API cephesi gemini-3.6-flash · brief kapsamında · 14/20 puan (7 + 7) dependency-cruiser aracılığıyla mimari linting ekleyin; bu, derleme adımında diğer modüllerin faturalama iç bileşenlerini doğrudan içe aktarmasını yasaklar. İletişim yalnızca tek, tip güvenli bir BillingFacade arayüzü üzerinden gerçekleşebilsin; böylece sinsi bağımlılık hemen engellenir.
- 10 Faturalama değişiklik pasaportları gpt-5.6 · brief kapsamında · 13/20 puan (7 + 6) Faturalamayla ilgili her pull request'in makine tarafından denetlenen bir pasaport taşımasını zorunlu kılın: etkilenen tablolar, değişmezler, geçiş uyumluluğu, geri alma yolu ve dağıtım sonrası sağlığı kanıtlayan bir üretim sorgusu. Bir CODEOWNERS kapısı ve 15 dakikalık dönüşümlü faturalama sorumlusu incelemesi, süreci haftalık değişiklikler için yeterince hafif tutarken incelemeyi modüller arası etkilere odaklar.
- 11 Harici modüller için otomatik oluşturulan salt okunur Postgres görünümleri gemini-3.6-flash · komşu · 13/20 puan (7 + 6) Şema kapsüllemenin bir varyasyonu: maliyetli API yeniden düzenlemeleri yerine, harici sorgular için salt okunur Postgres görünümleri otomatik olarak sağlanır. Harici modüller yalnızca bu kararlı görünümleri okurken, doğrudan tablo erişimi DB izinleri aracılığıyla engellenir.
- 12 Okuma modelleri için eşzamansız süreç içi olay veri yolu gemini-3.6-flash · brief kapsamında · 12/20 puan (4 + 8) Diğer modüllerin faturalama tablolarını doğrudan sorgulaması yerine, faturalama modülü durum değişikliklerinde bellek içi olaylar gönderir. Alıcı modüller kendi yerel projeksiyonlarını oluşturur. Bu, dağıtık sistemler getirmeden okuma erişimini faturalama tablolarından tamamen ayırır.
- 13 Faturalama kapsülleme için iki haftalık özellik dondurma gemini-3.6-flash · kural ihlalcisi · 11/20 puan (5 + 6) Sürekli haftalık özellik çıktısı yumuşak kısıtını tam olarak iki hafta boyunca kırar. Tüm ekip DB bağlantılarını ayırmaya odaklanır. Tek seferlik bu çaba, kalan 5 ay boyunca olay sayılarını sürdürülebilir biçimde azaltmanın temelini atar.
- 14 Modül başına veritabanı rolü claude · brief kapsamında · 11/20 puan (6 + 5) Faturalamaya kendi Postgres şemasını ve rolünü verin ve diğer modüllerin faturalama tablolarına yazma erişimini kaldırın; böylece doğrudan yazmalar üretime ulaşmadan önce staging'de başarısız olur.
- 15 İkinci bir Postgres örneğine fiziksel DB bölümleme gemini-3.6-flash · kural ihlalcisi · 9/20 puan (3 + 6) Tek veritabanı mimarisinin yumuşak kısıtını kırar ancak monolitik kodu korur. Faturalama verileri kendi veritabanı örneğine taşınır, bu da çapraz SQL birleştirmelerini teknik olarak imkansız hale getirir. Kod monolitik kaldığı için operasyonel karmaşıklık minimal kalır.
Kirat'ın Claude'a notu: En iyi kural_ihlalcisi fikri yalnızca 8. sırada: "Güvenlik aracı olarak ikinci bir veritabanı" — yumuşak bir kısıtı bilinçli olarak kırıyor. Atmadan önce bir kez çelikleştirin.
Yaklaşık 3.000 kayıt için tarama süresini incelemeyi zayıflatmadan nasıl kısaltabileceğimizi Kirat ile beyin fırtınası yapın.
kirat_brainstorm konseye sordu
Konsey 14 fikir ortaya koydu ve her birini anonim olarak derecelendirdi. İlk üç:
- İki kişilik dışlama kapısı (18/20 puan)
- Uç durum defteriyle kalibrasyon sprinti (16/20 puan)
- Minyatür veri çıkarımı değil, hızlı ikili konsol (15/20 puan)
Perde arkasında
kirat_brainstorm Claude'un Kirat'a gönderdiği
KAYDEDİLDİ 2026-10-13 · KIRAT_BEYİN_FIRTINASI · EFFORT: STANDARD · 14 FİKİR · 1 TUR · $0.18
Konu: Yaklaşık 3.000 kayıt için başlık ve özet taramasının personel süresini, sistematik bir derlemenin titizliğini zayıflatmadan kısaltmaya yönelik fikirler
Gönderilen bağlam: Sağlık hizmetleri araştırmalarında yayın için planlanan sistematik derleme. Mevcut protokol: iki bağımsız insan tarayıcı, çatışmalar tartışmayla çözülür. Personel süresi kısa. Dergi hakemleri taramanın nasıl yapıldığını soracak. İlgili bir çalışmayı kaçırmak (yanlış dışlama), ilgisiz bir çalışmayı dahil etmekten daha kötüdür. KATI: yöntem PRISMA 2020 kapsamında raporlanabilir olmalıdır. KATI: yanlış dışlama oranı artmamalıdır.
Konseyden sonuç
- 1 İki insan dışlama kapısı gpt-5.6 · kural ihlalcisi · 18/20 puan (10 + 8) Değerlendirici A her kaydı tarasın, ancak A'nın dahil etme ve belirsiz kararlarını doğrudan ileri gönderin; Değerlendirici B yalnızca A'nın önerdiği dışlamaları bağımsız olarak değerlendirsin. Bir kaydı yalnızca iki insan da bağımsız olarak dışladığında dışlayın ve her anlaşmazlığı otomatik olarak ilerletin; böylece çoğu çatışma tartışması ortadan kalkar. Bu, iki insanın her kaydı değerlendirmesi gerektiğine dair yumuşak mevcut protokol varsayımını bilinçli olarak ihlal eder; tarama süresinden tasarruf sağlarken yapısal olarak daha fazla yanlış dahil etmeye izin verdiği, ancak ek yanlış dışlamaya izin vermediği için buna değer ve PRISMA seçim süreci bölümünde açıklanması kolaydır.
- 2 Uç durum defteriyle kalibrasyon sprinti gpt-5.6 · brief kapsamında · 16/20 puan (9 + 7) Tabakalı bir ilk partiyi bağımsız olarak çift tarayın, çatışmaları çözün ve tekrarlayan belirsizlikleri olumlu ve olumsuz örneklerle kısa operasyonel kurallara dönüştürün. Devam etmeden önce kuralları kilitleyin; uygunluk kriterleri değişmediyse pilot kararları koruyun, aksi halde yeniden tarayın. Bu, çift bağımsız taramayı korurken sonraki müzakere ve çatışma çözme süresini azaltır ve kalibrasyon PRISMA kapsamında raporlanabilir.
- 3 Hızlı ikili konsol, minyatür veri çıkarımı değil gpt-5.6 · brief kapsamında · 15/20 puan (8 + 7) Her iki değerlendiriciye de yalnızca dahil et, dışla veya belirsiz seçenekleriyle sınırlı, klavyeyle çalışan kör bir arayüz verin; tam başlık ve özet her zaman görünür olsun; ayrıntılı kodlama ve dışlama gerekçelerini tam metin incelemesine bırakın. PRISMA 2020, başlık ve özet aşamasında kayıt düzeyinde gerekçe gerektirmez. Karar süreci değişmez, ancak önlenebilir okuma, tıklama ve dokümantasyon süresi azalır.
- 4 Yalnızca dahil etme makine tahliye valfi gpt-5.6 · komşu · 15/20 puan (9 + 6) İki insan dışlama kapısının tek adımlı bir mutasyonu olarak, A'nın önerdiği dışlamaları yalnızca kayıtları dahil etmeye bırakabilen, asla dışlayamayan doğrulanmış bir sınıflandırıcıdan geçirin; Değerlendirici B, sınıflandırıcının bırakmadığı her şeyi bağımsız olarak tarasın. Nihai dışlama hâlâ iki insandan uyumlu kararlar gerektirir, böylece bir makine hatası tam metin ekleyebilir ancak yanlış dışlama yaratamaz. Modeli, sürümü, girdileri, eşikleri, doğrulamayı ve kesinlikle yalnızca dahil etme rolünü PRISMA kapsamında raporlayın.
- 5 Asimetrik dışlama taraması gemini-3.6-flash · brief kapsamında · 15/20 puan (7 + 8) İlk değerlendirici 3.000 kaydın tamamını sınıflandırır. İkinci değerlendirici yalnızca ilk değerlendiricinin dışladığı kayıtları, yanlış negatifleri yakalamak için kontrol eder (dahil etmeler doğrudan kabul edilir). Bu, ikinci değerlendiricinin çabasını neredeyse yarıya indirir, yanlış dışlama riskini son derece düşük tutar ve tüm PRISMA gerekliliklerini karşılar.
- 6 Yüksek verimli tabakalar için taramayı atlama gpt-5.6 · kural ihlalcisi · 13/20 puan (8 + 5) Yüksek verimli alt kümeleri önceden bildirin—örneğin yüksek düzeyde özgül bir arama bloğundan gelen kayıtlar, bilinen uygun çalışmaların doğrudan torunları veya yakından ilişkili bir incelemede zaten dahil edilmiş kayıtlar—ve bunların tümünü başlık ve özet kararları olmadan doğrudan tam metin erişimine gönderin. Bu, bu kayıtlar için yumuşak iki tarayıcı protokolünü bilinçli olarak ihlal eder, ancak alt kümede hiçbir şey dışlanmadığı için yanlış dışlamaları artıramaz; ödünleşim ek tam metin çalışmasıdır. Atlama kuralını ve ortaya çıkan sayıları PRISMA akış diyagramında ve seçim yöntemlerinde açıkça raporlayın.
- 7 Aktif öğrenme ile önceliklendirilmiş tarama gemini-3.6-flash · brief kapsamında · 13/20 puan (5 + 8) Her iki insan tarayıcı da ilgili başlıkları/özetleri en üste sıralayan bir aktif öğrenme aracı (örneğin ASReview) kullanır. İstatistiksel olarak doğrulanmış bir durdurma kriterine ulaşılır ulaşılmaz (ör. art arda 500 ilgisiz isabet), tarama sonlandırılır. Prosedür zamandan %70'e kadar tasarruf sağlar, PRISMA 2020 uyumlu bir şekilde belgelenebilir ve algoritma kalibrasyonu sayesinde minimal yanlış dışlama oranını korur.
- 8 Taramadan önce yalnızca kesin tekilleştirme gpt-5.6 · brief kapsamında · 12/20 puan (8 + 4) Yalnızca DOI, veritabanı erişim numarası veya tam normalize edilmiş bibliyografik eşleştirme yoluyla aynı olduğu kanıtlanmış kayıtları kaldırın; meta veri açısından en zengin kopyayı koruyun ve belirsiz yakın kopyaları yalnızca işaretleyin. Her iki değerlendirici de kalan her benzersiz kaydı bağımsız olarak tarar; PRISMA ise taramadan önce kaldırılan kopyaları raporlar. Bu, benzersiz bir çalışmayı dışlamaya yol açmadan hacmi azaltır.
- 9 AI güvenlik ağıyla insan-AI kademesi gemini-3.6-flash · komşu · 12/20 puan (5 + 7) Asimetrik dışlama taramasının bir mutasyonu: bir insan tarayıcı tüm kayıtları tek başına işlerken, maksimum duyarlılık için ayarlanmış bir AI modeli yalnızca insan dışlamalarını kontrol eder. İkinci bir insan yalnızca tutarsızlık olan yerleri kontrol eder. Bu, tam kapsamla insan kapasitesini %50'den fazla azaltır.
- 10 Tam otomatik AI ikinci değerlendirici gemini-3.6-flash · kural ihlalcisi · 11/20 puan (3 + 8) Taramayı mutlaka iki insanın yapması gerektiğine dair yumuşak kısıtı ihlal eder. Büyük bir dil modeli (LLM), sıfır yanlış negatif istemiyle bağımsız ikinci değerlendirici rolünü üstlenir. İnsan çalışma süresi yarıya indiği ve LLM'lerin özet taramasında yüksek geri çağırma oranlarına ulaştığı gösterildiği için buna değer; PRISMA 2020, AI araçlarının raporlanmasına açıkça izin verir.
- 11 Güven üçlemesiyle riske uyarlanmış tek tarama gemini-3.6-flash · kural ihlalcisi · 11/20 puan (5 + 6) Tüm veri kümesi için sürekli çift tarama yönündeki yumuşak kısıtı ihlal eder. İlk değerlendirici yüksek öznel güven belirtirse ve net dışlama gerekçeleri varsa, ikinci değerlendirici devre dışı bırakılır; yalnızca belirsiz durumlar çift taramaya geçer. Bu, personel zamanından %60'a kadar tasarruf sağlarken, kaynaklar gri alanlara odaklandığı için kaçırılan çalışma riski minimal kalır.
- 12 Önce kalibrasyon turu claude · brief kapsamında · 11/20 puan (6 + 5) Her iki tarayıcı da aynı 100 kaydı tarar, her çatışmayı tartışır ve ana turdan önce uygunluk kriterlerini keskinleştirir; böylece sonraki çatışmalar ve yeniden okumalar azalır.
- 13 AI üçlemesiyle ikilileştirilmiş hızlı tarama gemini-3.6-flash · komşu · 10/20 puan (4 + 6) Aktif öğrenme önceliklendirmesinin mutasyonu: ekip hızlı derecelendirme için basitleştirilmiş bir arayüz kullanır (yalnızca 'Dahil et/Emin değil' ile 'Dışla' için tıklamalar). Bir AI modeli belirsizlikleri arka planda değerlendirir ve yalnızca sınırda kalan adayları derinlemesine çift kontrole gönderir. Özet başına bilişsel yükü ve okuma süresini büyük ölçüde en aza indirir.
- 14 Eşleştirme algoritmalarıyla deterministik ön filtreleme gemini-3.6-flash · brief kapsamında · 6/20 puan (3 + 3) Muhafazakâr arama filtreleri ve betikler, açıkça uygun olmayan isabetleri önceden ayıklar (ör. yanlış çalışma tasarımı veya insan dışı popülasyon). Her iki tarayıcı da bu otomatik dışlamaları yalnızca temsili bir örnek (ör. %10) üzerinden kontrol eder. Bu, manuel olarak taranacak toplam hacmi PRISMA uyumlu bir şekilde ve duyarlılık kaybı olmadan azaltır.
Tüm fikirler, eksiksiz ve sıralı olarak. Claude'un kendi fikri anonim ve eşit koşullarda katılır. Konu ve bağlam İngilizce gönderildi; üyelerin Almanca yazdığı fikirler burada çevrilmiştir.
Farklı alanlardan beş başlık ve başlık. Her üye bir varyant yazar, Claude'un taslağı katılır ve her iki üye de üçünü anonim olarak değerlendirir. Birini seçin.
Kirat'ın fiyatlandırma sayfam için başlık varyantları yazmasına izin ver. En fazla 8 kelime, abartısız.
kirat_create konseye sordu
Kazanan varyant (17/20 puan): "Get paid without Word—free for 14 days"
Kendi taslağım #2 sırada geldi; üyeler üçünü de anonim olarak değerlendirdi.
Perde arkası
kirat_create Claude'un Kirat'a gönderdiği
KAYDEDİLDİ 2026-10-13 · KIRAT_CREATE · MOD: VARIANTS · EFFORT: STANDARD · $0.03
Brief: Serbest çalışanlar için küçük bir faturalama aracının fiyatlandırma sayfası için başlık (aylık 19 USD, 14 günlük ücretsiz deneme). Hedef kitle: faturalarını şu anda Word veya Excel'de yazan serbest çalışanlar. Amaç: denemeyi risksiz ve değerli hissettirmek. Biçim: bir başlık, İngilizce.
Kriterler: en fazla 8 kelime · somut, abartısız · zamandan tasarruf veya ödeme almaktan bahseder · ünlem işareti yok
Konseyden sonuç
- 1 "Get paid without Word—free for 14 days" gpt-5.6 · 17/20 puan (9 + 8) Word kullanıcılarına doğrudan hitap eder, ödeme almayı ön plana koyar ve risksiz denemeyi somutlaştırır.
- 2 "Send invoices in minutes. Get paid on time." claude · 17/20 puan (8 + 9) Orkestratörün kendi taslağı.
- 3 "Replace Word and Excel. Get paid days faster." gemini-3.6-flash · 14/20 puan (7 + 7) Mevcut manuel iş akışına doğrudan hitap etmek, denemeyi nakit akışına hızlı, risksiz bir yükseltme olarak çerçeveleyerek genel abartıya başvurmadan anında bir karşıtlık sunar.
Kirat'ın WooCommerce üzerindeki mobilya mağazaları için açılış sayfamız için başlık varyantları yazmasına izin ver. En fazla 10 kelime, jargon yok.
kirat_create konseye sordu
Kazanan varyant (18/20 puan): "Losing furniture buyers to a slow, frustrating WooCommerce store?"
Kendi taslağım #3 sırada geldi; üyeler üçünü de anonim olarak değerlendirdi.
Perde arkası
kirat_create Claude'un Kirat'a gönderdiği
KAYDEDİLDİ 2026-10-13 · KIRAT_CREATE · MOD: VARIANTS · EFFORT: STANDARD · $0.02
Brief: WooCommerce kullanan mobilya perakendecileri için mağaza yeniden yapılandırmaları hakkında küçük bir dijital ajansın açılış sayfası için başlık. Hedef kitle: kendi geliştiricisi olmayan orta ölçekli mobilya mağazalarının sahipleri. Amaç: ücretsiz mağaza kontrolü rezervasyonu. Biçim: bir başlık, Alman pazarı ancak İngilizce yazın.
Kriterler: en fazla 10 kelime · ajansı değil, okuyucunun acısını adlandırır · "headless" veya "omnichannel" gibi jargon yok · abartı yok
Konseyden sonuç
- 1 "Losing furniture buyers to a slow, frustrating WooCommerce store?" gemini-3.6-flash · 18/20 puan (8 + 10) Sahibin birincil hayal kırıklığını—zayıf mağaza performansı nedeniyle kaybedilen satışlar—teknik jargon veya kendini öven ajans dili kullanmadan doğrudan hedefler.
- 2 "Is your WooCommerce shop turning furniture buyers away?" gpt-5.6 · 17/20 puan (9 + 8) Temel acıyı doğrudan adlandırır ve jargon kullanmadan mobilya perakendecilerine hitap eder.
- 3 "Fewer shop emergencies, more time for your furniture." claude · 11/20 puan (7 + 4) Orkestratörün kendi taslağı.
Kirat'ın fırının yeni pasta sipariş sayfası için başlık varyantları yazmasına izin ver. Kısa, yerel, zincir gibi değil.
kirat_create konseye sordu
Kazanan varyant (19/20 puan): "Your celebration cake, baked here for pickup."
Kendi taslağım #3 sırada geldi; üyeler üçünü de anonim olarak değerlendirdi.
Perde arkası
kirat_create Claude'un Kirat'a gönderdiği
KAYDEDİLDİ 2026-10-13 · KIRAT_CREATE · MOD: VARIANTS · EFFORT: STANDARD · $0.02
Brief: Fırının özel pastalar için yeni çevrimiçi sipariş sayfası için başlık. Hedef kitle: şimdiye kadar telefonla sipariş veren yerel müşteriler. Amaç: çevrimiçi sipariş vermeyi kolay ve kişisel hissettirmek. Biçim: bir başlık, Alman pazarı ancak İngilizce yazın.
Kriterler: en fazla 8 kelime · somut, abartısız · teslim almayı veya vesileyi belirtir · bir zincir değil, yerel bir fırın gibi kulağa gelir
Konseyden sonuç
- 1 "Your celebration cake, baked here for pickup." gpt-5.6 · 19/20 puan (10 + 9) Sıcak, somut ve kişisel: "baked here" yerel hissettirirken "for pickup" çevrimiçi süreci kolay anlaşılır kılar.
- 2 "Order your custom birthday cake, pick up fresh." gemini-3.6-flash · 16/20 puan (8 + 8) Başlık hem vesileyi hem de teslim almayı özellikle adlandırır ve tazelik vaadiyle kişisel olmayan klişeler olmadan yerel zanaat kalitesini aktarır.
- 3 "Your cake, your date. Order in two minutes." claude · 9/20 puan (5 + 4) Orkestratörün kendi taslağı.
Kirat'ın, faturalamanın sınırlarını önce monolit içinde sağlamlaştırma önerim için bir başlık bulmasına izin ver.
kirat_create konseye sordu
Kendi taslağım kazandı (19/20 puan): "Fix billing's boundaries first, split it later if needed"
Perde arkası
kirat_create Claude'un Kirat'a gönderdikleri
KAYDEDİLDİ 2026-10-13 · KIRAT_CREATE · MOD: VARIANTS · EFFORT: STANDARD · $0.02
Brief: Dahili bir mühendislik önerisi için başlık: ayrı bir servisi düşünmeden önce monolit içindeki faturalama modülünün sınırlarını sağlamlaştırmak. Hedef kitle: daha az olay isteyen 8 mühendis ve yönetim. Amaç: önerinin okunmasını ve onaylanmasını sağlamak. Biçim: tek başlık, İngilizce.
Kriterler: en fazla 10 kelime · sadece konuyu değil kararı belirtir · moda sözcük yok · mühendis olmayanlar için anlaşılır
Konseyin sonucu
- 1 "Fix billing's boundaries first, split it later if needed" claude · 19/20 puan (10 + 9) Orkestratörün kendi taslağı.
- 2 "Keep Billing Together, but Isolate It to Prevent Incidents" gpt-5.6 · 16/20 puan (9 + 7) Başlık, faturalamayı monolitte tutup sınırlarını güçlendirme kararını belirtiyor ve bu seçimi daha az olay ortak hedefine bağlıyor.
- 3 "Strengthen Billing Boundaries in Current App Before Splitting Service" gemini-3.6-flash · 13/20 puan (7 + 6) Başlık yön konusunda net bir karar veriyor, yönetim için 'monolit' gibi gereksiz jargonlardan kaçınıyor ve doğrudan istikrar ortak hedefine değiniyor.
Kirat'ın, LLM'in ek bir tarayıcı olarak kullanıldığı yöntem makalemiz için bir başlık bulmasına izin ver. Doğru, abartısız.
kirat_create konseye sordu
Kazanan varyant (18/20 puan): "Large Language Model–Assisted Study Selection in Health Services Research: A Method for Additional Screening in Systematic Reviews"
Kendi taslağım #2 oldu; üyeler üçünü de anonim olarak değerlendirdi.
Perde arkası
kirat_create Claude'un Kirat'a gönderdikleri
KAYDEDİLDİ 2026-10-13 · KIRAT_CREATE · MOD: VARIANTS · EFFORT: STANDARD · $0.02
Brief: Sağlık hizmetleri araştırmalarında sistematik bir derlemede LLM'in ek bir tarayıcı olarak kullanılmasına dair bir yöntem makalesi için başlık. Hedef kitle: araştırmacılar ve dergi hakemleri. Amaç: doğru ve atıf yapılabilir, abartısız. Biçim: tek başlık, iki nokta üst üste sonrası alt başlık içerebilir, İngilizce.
Kriterler: en fazla 20 kelime · yöntemi ve ortamı adlandırır · verilerin ötesinde iddia yok · "devrim yaratmak" gibi abartılı sözcükler yok
Konseyin sonucu
- 1 "Large Language Model–Assisted Study Selection in Health Services Research: A Method for Additional Screening in Systematic Reviews" gpt-5.6 · 18/20 puan (9 + 9) Başlık, tarama yöntemini, sistematik derleme bağlamını ve sağlık hizmetleri araştırmaları ortamını, performans veya fayda ima etmeden belirtiyor.
- 2 "An LLM as additional screener: a prospective comparison in a health services systematic review" claude · 16/20 puan (9 + 7) Orkestratörün kendi taslağı.
- 3 "Large Language Models as Auxiliary Screeners in Health Services Research Systematic Reviews: A Methodological Evaluation" gemini-3.6-flash · 15/20 puan (7 + 8) Başlık, uygulama alanını ve metodolojiyi tam olarak adlandırıyor, tetikleyici sözcüklerden kaçınıyor ve bilimsel bir yayın bağlamı için olgusal, atıf yapılabilir bir ton seçiyor.
Başlıklar ve manşetler, brieflerin istediği gibi, yazıldığı şekilde İngilizce gösteriliyor. Claude'un girdisindeki gerekçe, Kirat'ın ona verdiği kendi etiketidir. Almanca yazılmış gerekçeler burada çevrilmiştir.
Farklı alanlardan beş görsel briefi. OpenAI ve Google birer görsel üretir ve iki üye de iki görseli anonim olarak değerlendirir. Birini seç.
Kirat'ın faturalama aracımın açılış sayfası için bir hero görseli oluşturmasına izin ver: sakin bir ev ofisi masası, okunabilir ekran yok.
kirat_image konseye sordu
Jüri görseli gpt-image-2 ile seçti (18/20 puan). İki üye de iki görseli anonim olarak değerlendirdi.
Perde arkası
kirat_image Claude'un Kirat'a gönderdikleri
KAYDEDİLDİ 2026-10-13 · KIRAT_IMAGE · MOD: VARIANTS · LANDSCAPE · ≈ $0.17
Brief: Serbest çalışanlar için küçük bir faturalama aracının açılış sayfası için hero görsel: sabah düzenli bir ev ofisi masası, bir dizüstü bilgisayar (ekranı uzağa dönük veya bulanık, okunabilir arayüz yok), bir fincan kahve ve bir kağıt defter. Doğal gün ışığı, sakin belgesel fotoğraf tarzı, yazı yok, logo yok, insan yüzü yok.
Kriterler: gerçek bir serbest çalışanın çalışma alanı gibi hissettirir, stok fotoğraf ofisi gibi değil · sakin ve dağınık değil · bir başlık için sakin alan bırakır · yazı, logo veya okunabilir ekran yok
Konseyin sonucu

1 gpt-image-2 · 18/20 puan (9 + 9)

2 gemini-3.1-flash-image · 13/20 puan (6 + 7)
Kirat'ın mobilya mağazası için bir ürün fotoğrafı oluşturmasına izin ver: gerçek bir oturma odasında dört sandalyeli bir meşe yemek masası.
kirat_image konseye sordu
Jüri görseli gemini-3.1-flash-image ile seçti (18/20 puan). İki üye de iki görseli anonim olarak değerlendirdi.
Perde arkası
kirat_image Claude'un Kirat'a gönderdikleri
KAYDEDİLDİ 2026-10-13 · KIRAT_IMAGE · MOD: VARIANTS · LANDSCAPE · ≈ $0.17
Brief: Bir mobilya online mağazası için ürün fotoğrafı: aydınlık, gerçek görünümlü bir Orta Avrupa oturma odasında dört sandalyeli masif meşe yemek masası. Doğal gün ışığı, editoryal iç mekan tarzı, yazı yok, logo yok, insan yok.
Kriterler: masa net özne · gerçeğe uygun ahşap dokusu ve rengi · 3D render değil, gerçek bir ev gibi görünür · yazı veya logo yok
Konseyin sonucu

1 gemini-3.1-flash-image · 18/20 puan (9 + 9)

2 gpt-image-2 · 17/20 puan (8 + 9)
Kirat'ın pasta sipariş sayfası için bir hero görseli oluşturmasına izin ver: kutuda, teslim alınmaya hazır bir doğum günü pastası.
kirat_image konseye sordu
Jüri görseli gpt-image-2 ile seçti (17/20 puan). İki üye de iki görseli anonim olarak değerlendirdi.
Perde arkası
kirat_image Claude'un Kirat'a gönderdikleri
KAYDEDİLDİ 2026-10-13 · KIRAT_IMAGE · MOD: VARIANTS · LANDSCAPE · $0.17
Brief: Küçük bir yerel fırının özel pastalar için yeni online sipariş sayfası için hero görsel: aydınlık, gerçek görünümlü bir aile fırınında ahşap bir tezgah üzerinde, basit bir karton pasta kutusunda teslim alınmaya hazır bitmiş bir doğum günü pastası. Doğal gün ışığı, belgesel fotoğraf tarzı, yazı yok, logo yok, insan yüzü yok.
Kriterler: zincir veya stok fotoğraf değil, gerçek bir yerel fırın gibi görünür · pasta net özne · bir başlık için sakin alan bırakır · görselde yazı veya logo yok
Konseyin sonucu

1 gpt-image-2 · 17/20 puan (8 + 9)

2 gemini-3.1-flash-image · 7/20 puan (4 + 3)
Kirat'ın faturalamayı monolitten ayırma konusundaki blog yazımız için bir kapak görseli oluşturmasına izin ver. Soyut ve sakin.
kirat_image konseye sordu
Jüri görseli gpt-image-2 ile seçti (16/20 puan). İki üye de iki görseli anonim olarak değerlendirdi.
Perde arkası
kirat_image Claude'un Kirat'a gönderdikleri
KAYDEDİLDİ 2026-10-13 · KIRAT_IMAGE · MOD: VARIANTS · LANDSCAPE · ≈ $0.17
Brief: Bir faturalama modülünü monolitten ayırma konusundaki dahili bir mühendislik blog yazısı için kapak görseli: birbirine bağlı bloklardan oluşan yoğun bir kümeden ayrılmış, net sınırları olan tek bir bloğun soyut, sakin illüstrasyonu. Düz stil, soluk renkler, yazı yok, logo yok.
Kriterler: net bir sınır fikri bir bakışta okunabilir · sakin, dramatik değil · küçük boyutta işe yarar · yazı veya logo yok
Konseyin sonucu

1 gpt-image-2 · 16/20 puan (9 + 7)

2 gemini-3.1-flash-image · 10/20 puan (6 + 4)
Kirat'ın yapay zeka destekli tarama konusundaki konferans konuşmam için bir kapak görseli oluşturmasına izin ver. Ciddi, robot yok.
kirat_image konseye sordu
Jüri görseli gpt-image-2 ile seçti (18/20 puan). İki üye de iki görseli anonim olarak değerlendirdi.
Perde arkası
kirat_image Claude'un Kirat'a gönderdikleri
KAYDEDİLDİ 2026-10-13 · KIRAT_IMAGE · MOD: VARIANTS · LANDSCAPE · ≈ $0.17
Brief: Sistematik derlemelerde yapay zeka destekli tarama konusundaki bir konferans konuşması için kapak görseli: bir masada düzenli bir yığın basılı araştırma özeti, bazıları iki tepsiye ayrılmış, yumuşak gün ışığı, belgesel fotoğraf tarzı. Okunabilir yazı yok, logo yok, insan yüzü yok.
Kriterler: ciddi ve bilimsel, abartılı değil · robot veya parlayan beyin yok · ayırma fikri görünür · okunabilir yazı veya logo yok
Konseyin sonucu

1 gpt-image-2 · 18/20 puan (9 + 9)

2 gemini-3.1-flash-image · 9/20 puan (5 + 4)
Yapay zeka tarafından üretilen görseller, küçültülmüş ve başka türlü düzenlenmemiş. ≈ ile işaretlenen maliyetler paralel çalışan koşulardan gelir: her koşunun kendi görsel maliyeti artı değerlendirme çağrılarının eşit payı. Sıralama bir ön seçimdir ve nihai seçim size aittir. Almanca yazılmış değerlendirmeler burada çevrilmiştir.
02 — Sorun
Tek model, tek kör nokta.
Kendini değerlendirme pohpohlar
Kendi işini kontrol eden bir model kendini ikna edici bulur. Aynı modelin ikinci bir geçişi bağımsız bir kontrol değildir.
Daha fazla tur çözüm değil
Kirat tartışmayı bir istemde değil, kodda iki turla sınırlar. Bir model sınırı konuşarak aşamaz. Hâlâ çoğunluk yoksa size söylenir.
Farklı aileler farklı şekilde başarısız olur
Kirat Claude, ChatGPT ve Gemini'yi aynı soruya koyar ve size bölünmeyi gösterir — kimin aynı fikirde olmadığı ve neden dahil.
03 — Nasıl çalışır
Bir kez sor. Üç pozisyon ve bir oy al.
Adım 1
Claude'da sorarsınız
Her zamanki gibi sade bir dille: Kirat konseyine sor: Mağazam için Shopify mı WooCommerce mi? Kendi pozisyonunu da ver. Claude sizin için Kirat'ı çağırır.
Adım 2
Üç bağımsız pozisyon
ChatGPT ve Gemini diğerinin yanıtını görmeden yanıtlar. Claude üçüncü üye olarak kendi pozisyonunu alır.
Adım 3
Bir oy, muhalefet korunarak
Üçten ikisi aynı fikirdeyse bu çoğunluk görüşüdür. Her pozisyonu gerekçeleriyle ve kimin aynı fikirde olmadığını görürsünüz. Çoğunluk yoksa Kirat bunu söyler ve karar sizindir.
Kirat ayrıca kodu inceler (her bulgu diğer model ailesi tarafından kontrol edilir), fikirleri sıralar, metninizi eleştirir ve görselleri karşılaştırır. Yukarıdaki tekrar hepsini gösterir.
Kodlama gerekmez. Bir Claude eklentisi kurarsınız ve OpenAI'de bir, Google'da bir API anahtarı oluşturursunuz; kurulum adımları aşağıdaki ayrıntılarda.
Dokuz araç ve kaydedilmiş bir örnek çağrı →
04 — Fiyatlandırma
Claude Desktop ve Claude Code için tek satın alma.
Abonelik yok, koltuk yok, bizde hesap yok. Satın almadan önce Kirat'ın nerede çalıştığını kontrol edin:
Kirat nerede çalışır
Şurada çalışır
- macOS ve Windows'ta Claude Desktop sohbetlerinde
- Bir terminalde, VS Code'da veya Claude Desktop'ın Code sekmesinde Claude Code
- Bulut ortamı başına tek seferlik kurulumdan sonra Claude Code bulut oturumlarında Sınırlamalarla: ağ sırrı olarak saklanan anahtarlar okunamaz kalır (Team ve Enterprise planlarında bir yöneticinin bunları eklemesi gerekebilir), ortam değişkenlerindeki anahtarlar ortamı kullanan herkes tarafından okunabilir ve günlük bütçe oturum başına sayılır.
Şurada çalışmaz
- Tarayıcıdaki sohbette (claude.ai) veya Claude mobil uygulamalarında
- Bulutta çalışan Cowork görevlerinde
- Bazı şirket kurulumlarında: Windows hesabınızla oturum açan proxy'ler (NTLM/Kerberos) ve Desktop eklentilerini bir izin listesiyle kısıtlayan kuruluşlar Önce BT ekibinize sorun.
Nerede çalıştığı, tam olarak · Tüm bulut sınırlamaları
Desktop eklentisi + Claude Code eklentisi
Kirat
$99
$99 lansman fiyatı — ilk 50 alıcı
Sonra $149. Tek seferlik satın alma. Her iki biçimi içeren tek bir ZIP indirmesi. Ayrıca bir OpenAI ve bir Gemini API anahtarına ihtiyacınız var: sorduklarınız her iki sağlayıcıya da gider ve size kullanım başına faturalandırır.
- 01Claude Desktop eklentisi ve Claude Code eklentisi, tek indirmede
- 02Claude Code bulut oturumları için kurulum betiği
- 03Dokuz aracın tümü: oylama, kod incelemesi, fikir sıralaması, metin eleştirisi, görsel karşılaştırması ve daha fazlası
- 04Maliyet kontrolü: aşabilecek çağrıları geri tutan bir günlük bütçe (varsayılan $5). En iyi çaba, bu yüzden sağlayıcılarda da limitler belirleyin
- 05Kendi cihazlarınızda ve bulut ortamlarınızda bir kişi için lisans
- 06Mümkün olduğunda uyumluluk güncellemeleri — ücretsiz, ancak garanti yok Claude Desktop (macOS/Windows) ve Claude Code'da çalışır; Claude Code bulut oturumlarında tek seferlik bir kurulumla — tarayıcıda veya mobil sohbette değil. Nerede çalışır · Bulut sınırları
Blueprint
$49
Yalnızca belgeler — kendi konsey sunucunuzu bir kodlama ajanıyla oluşturmak veya uyarlamak için. Kirat'ı kullanmak için gerekli değildir.
- 01Şartname: araçlar için yapılandırılmış gereksinimler
- 02Mimari kararlar, her birinin arkasındaki gerekçeyle birlikte
- 03Bir ajanın kendisine karşı doğrulayabileceği kabul kontrol listesi
- 04Bu sitedeki sayıların arkasındaki kıyaslama verileri
Kod yok, kurulabilir uzantı yok.
Tek seferlik satın alma · Ödeme Lemon Squeezy aracılığıyla (kayıtlı satıcı), KDV ödeme sırasında işlenir · İadeler: bkz. Koşullar
API kullanımı doğrudan OpenAI ve Google'a, sizin hesaplarınız üzerinden ödenir — ölçümlerimizde konsey kararı başına $0.02–$0.15.
Kirat size uygun değilse…
- —Claude'u yalnızca tarayıcıda veya telefonunuzda sohbet olarak kullanıyorsanız. Kirat, Claude Desktop (macOS/Windows) ve Claude Code'da, ayrıca tek seferlik bir kurulumla Claude Code bulut oturumlarında çalışır — o sohbetlerde değil.
- —Barındırılan bir hizmete veya herhangi bir türde desteğe ihtiyacınız varsa.
- —İki sağlayıcıda API hesabı ve faturalandırma istemiyorsanız.
- —Ayda birkaç karar veriyorsanız ve yanıtları ayrı sohbetlerde elle karşılaştırmaktan memnunsanız.
- —Kesin görünen bir yanıt istiyorsanız. Bir konseyin işi size bölünmeyi göstermektir ve bazen bölünmenin kendisi yanıttır.
- —Verileriniz OpenAI veya Google'a gidemiyorsa. Kirat'a verdiğiniz her şey, sizin hesaplarınız ve onların koşulları altında her ikisine de gider.
05 — Sorular
Satın almadan önce.
Bunun llm-council veya PAL MCP'den farkı nedir?
Önce ikisine de bakın. llm-council açık kaynaklı bir web uygulamasıdır; yazarı onu tasarım gereği desteklenmiyor olarak tanımlıyor. PAL MCP, terminal üzerinden kurduğunuz ücretsiz, açık kaynaklı bir MCP sunucusudur; birçok sağlayıcıyı destekler ve kendi fikir birliği aracı vardır. Güncel durumlarını kontrol edin. Biri ihtiyacınızı karşılıyorsa onu kullanın.
Kirat'ın farkı paketin kendisidir: Claude Desktop'ın kendi uzantı iletişim kutusu üzerinden, anahtarlarınız işletim sisteminin güvenli depolamasında olacak şekilde kurulur; günlük üst sınırlı bir bütçe koruması, iki turlu bir sınır, alan bazlı bir eşitlik bozucu, arka plan biletleri, hata yönetimi, 345 test, İngilizce sonuç alanları ve sade dille kullanım sunar.
Geliştirici olmam gerekiyor mu?
Hayır. Bir Claude uzantısı kurabiliyor ve iki API anahtarı oluşturabiliyorsanız Kirat'ı kullanabilirsiniz. Claude'a sade bir dille sorarsınız — Ask the Kirat council: Postgres or SQLite? Give your own position too. — ve Claude araçları çağırır.
Neye ihtiyacım var?
macOS veya Windows'ta Claude Desktop. Kendi Node'unu içerir, bu yüzden başka bir şey kurmanız gerekmez. Veya Node.js 20 ya da üstüyle Claude Code. Claude Code bulut oturumları için bulut ortamınızın tek seferlik kurulumu (aşağıya bakın).
Ayrıca faturalandırması etkin bir OpenAI API anahtarı ve bir Google Gemini API anahtarı. Kirat tek anahtarla da çalışır: o zaman konseyin bir dış üyesi olur ve her sonuç eksik anahtarı belirtir.
Çalıştırmanın maliyeti nedir ve kontrolsüz bir faturayı ne durdurur?
Kullandığınız kadarını doğrudan OpenAI ve Google'a ödersiniz. Ölçümlerimizde bir konsey kararı, çaba düzeyine ve girdi boyutuna bağlı olarak $0.02–$0.15 tutar ve 8 saniye ile 3 dakika arasında sürer. Görsel oluşturma çağrı başına yaklaşık $0.05–$0.20 tutar.
Bütçe koruması her çağrıdan önce en kötü durum maliyetini ayırır ve günlük bütçenizi aşabilecek çağrıları engeller — varsayılan olarak UTC günü başına $5, ayarlanabilir. En iyi çaba esasıyla çalışır, bu yüzden sağlayıcılarda da harcama limitleri belirleyin. kirat_status bütçeyi ve harcamayı gösterir ve hiçbir ücrete tabi değildir.
Verilerim ve anahtarlarım nereye gidiyor?
Verileriniz: Kirat'a verdiğiniz her şey (sorular, bağlam, kod, görseller) doğrudan OpenAI ve Google'a, sizin hesaplarınız ve onların koşulları altında gider — bilgisayarınızdan veya Claude Code bulut oturumlarında kendi bulut ortamınızdan, o ortam için Anthropic'in ağ proxy'si üzerinden. Kirat sunucusu, bizde bir hesap ve telemetri yoktur. Anahtarlarınızı veya verilerinizi asla görmeyiz.
Anahtarlarınız: bunları Claude'un kendi kurulum veya ayarlar iletişim kutusuna girersiniz. Claude Desktop bunları işletim sisteminizin güvenli depolamasında (macOS Keychain, Windows Credential Manager) saklar. Claude Code bunları macOS Keychain'de; Windows ve Linux'ta ~/.claude/.credentials.json içinde, yalnızca kullanıcınız tarafından okunabilir şekilde saklar. Harcama limitli ayrı bir sağlayıcı projesi öneririz.
Claude Code bulut oturumlarında: Kirat bulut ortamınızda çalışır. Anahtarları orada ağ sırları olarak saklarsınız: Anthropic'in proxy'si bunları giden isteklerde Kirat'ın isteklerine ekler, böylece oturumdaki hiç kimse, Claude bile, onları okuyamaz. Team ve Enterprise planlarında, rolünüze bağlı olarak, bir kuruluş yöneticisinin bunları eklemesi gerekebilir. Yedek olarak, anahtarlar o ortamın ortam değişkenleri olabilir ve onu kullanan herkes tarafından okunabilir.
Bilgisayarınızda: Kirat, ana klasörünüzde günlük maliyet sayacını, maliyet günlüğünü, son 20 sonucu (sorularınızı ve yanıtlarınızı içerirler), devredilen kararların günlüğünü ve oluşturulan görselleri içeren bir .kirat klasörü tutar. İstediğiniz zaman silebilirsiniz. Bilgisayardaki tüm Kirat oturumları, Desktop ve Code, bunu paylaşır.
Kirat, Claude Code bulut oturumlarında nasıl çalışır ve sınırlar nelerdir?
Bulut oturumları — Code sekmesi bulut oturumları, web'de veya mobil uygulamada Claude Code — Anthropic'in sunucularında bir bulut ortamında çalışır. Bilgisayarınızdaki uzantı onlara ulaşamaz. Bunun yerine bulut ortamını bir kez kurarsınız:
- indirmedeki bloğu (
cloud/setup-script.txt) ortamın kurulum betiğinin en üstüne yapıştırın; - iki anahtarınızı ekleyin —
api.openai.comvegenerativelanguage.googleapis.comiçin ağ sırları olarak (Team ve Enterprise planlarında, bir yöneticinin bunları eklemesi gerekebilir; indirmedeki kılavuzda ayrıntılar vardır); aksi halde ortam değişkenleri olarak, ideal olarak bir projenin kendiOPENAI_API_KEYdeğişkeniyle çakışmayanKIRAT_OPENAI_API_KEYveKIRAT_GEMINI_API_KEYadlarıyla (Kirat ayrıcaOPENAI_API_KEYveGEMINI_API_KEYdeğişkenlerini de kabul eder); - ağ erişimi: Full ise değiştirilecek bir şey yoktur; aksi halde paket yöneticisi varsayılan listesi artı Kirat indirme ana bilgisayarıyla Custom (daha yeni uygulamalarda: Limited) olarak ayarlayın (anahtarlar ortam değişkenlerindeyse ayrıca
api.openai.com).
Betik, Kirat'ın tam olarak sizin sürümünüzü indirir, SHA-256 sağlama toplamını doğrular ve kurar. Bu tek seferlik bir kurulumdur, tek tık değil. Bir bulut konteynerinde test ettik.
Sınırlar: ortam değişkenlerindeki anahtarlar, ortamı kullanan herkes tarafından okunabilir (ağ sırları onları okunamaz tutar). Her bulut oturumu sıfırdan başlar, bu yüzden Kirat'ın günlük bütçesi oturum başına sayılır — OpenAI ve Google'da harcama limitleri belirleyin; bulutta gerçek üst sınırınız onlardır. Arka plan işleri ve son sonuçlar oturumla birlikte sona erer. Ortamın ağ erişimi Kirat indirme ana bilgisayarına ve anahtarlarınız ortam değişkenlerindeyse api.openai.com adresine de izin vermelidir (Gemini varsayılan liste kapsamındadır). Kurulum başarısız olursa oturum yine de başlar, yalnızca Kirat olmadan — ve başarısız durum, kurulum betiğini düzenleyene kadar yeni oturumlar için önbellekte kalabilir (herhangi bir değişiklik yeni oturumların onu yeniden çalıştırmasını sağlar).
Kurulum betiğindeki indirme adresi, ZIP gibi satın alımınızın bir parçasıdır; yayımlamayın. Lisans kendi bulut ortamlarınızı kapsar. Başkalarıyla paylaşılan bir bulut ortamı, her kişi için bir lisans gerektirir.
Hangi modelleri kullanır? Bir sağlayıcı bir modeli kullanımdan kaldırırsa ne olur?
Varsayılan olarak OpenAI'dan gpt-5.6 ve Google'dan gemini-3.6-flash, üçüncü oy veren olarak Claude ile.
Model adları ve fiyatlar ayarlardır. Bir sağlayıcı bir modeli kullanımdan kaldırırsa, yeni adı ve iki fiyatını girersiniz. Güncelleme gerekmez.
Claude Desktop, uzantının Anthropic tarafından doğrulanmadığını söylüyor. Bu bir sorun mu?
Bu uyarı beklenen bir durumdur. Claude Desktop bunu bir dosyadan kurulan uzantılar için gösterir ve Kirat bir dosyadan kurulur — Anthropic tarafından doğrulanmamış veya imzalanmamıştır.
Güncellemeler nasıl çalışır?
Claude Desktop'ta yeni .mcpb dosyasını ilkiyle aynı şekilde kurun. Anahtarlarınız ve ayarlarınız korunur.
Uyumluluk güncellemeleri mümkün olduğunda ücretsizdir, ancak garanti yoktur. Daha büyük yeni sürümler ayrıca satılabilir.
Destek alıyor muyum?
Hayır. Kirat destek, kurulum yardımı veya danışmanlık olmadan gelir. Ödeme ve makbuzlar Lemon Squeezy tarafından işlenir. Kirat desteklenen bir kurulumda çalışmazsa paranızı geri alırsınız; bkz. Koşullar.
Lisans neye izin veriyor?
Bir kişi, kendi cihazlarınızın istediğiniz sayısında ve kendi bulut ortamlarınızda. Başkalarıyla paylaşılan bir bulut ortamı, her kişi için bir lisans gerektirir. Yeniden satış ve yeniden dağıtım yok. Kirat tescilli yazılımdır, açık kaynak değildir.
Konseyin ürettiklerini kendi işinizde, ticari işler dahil, kullanmanız sorun değildir. Tam koşullar Koşullar içindedir.
Blueprint ne için? Ona ihtiyacım var mı?
Kirat'ı kullanmak için ona ihtiyacınız yok. Blueprint, kendi konsey sunucusunu bir kodlama ajanıyla oluşturmak veya uyarlamak isteyenler içindir.
Yalnızca belgelerdir — kod yok, kurulabilir uzantı yok: şartname (araçlar için yapılandırılmış gereksinimler), her birinin arkasındaki gerekçeyle mimari kararlar, bir ajanın kendisine karşı doğrulayabileceği kabul kontrol listesi ve bu sitedeki sayıların arkasındaki kıyaslama verileri. Paket fiyatı yoktur.
06 — Ayrıntılar
Kayıt için ayrıntılar.
Kurulum, Kirat'ın çalıştığı her yer ve bulut sınırları, dokuz araç ve sayıların arkasındaki kanıtlar. İhtiyacınız olanı açın.
Kirat'ı kurun ve API anahtarlarınızı bağlayın
Kirat, kaydolduğunuz bir hizmet değildir. Bilgisayarınızda (veya kendi Claude Code bulut ortamınızda), Claude'un içinde, kendi API anahtarlarınızla çalışır. Kirat sunucusu ve bizde bir hesap yoktur. Kirat'a verdiğiniz her şey doğrudan OpenAI ve Google'a, sizin hesaplarınız altında gider — bilgisayarınızdan veya Claude Code bulut oturumlarında kendi bulut ortamınızdan, o ortam için Anthropic'in ağ proxy'si üzerinden. Anahtarlarınızı veya sorularınızı asla görmeyiz.
Kirat'ı yeni mi aldınız? Adım adım kurulum kılavuzunu izleyin: önce hangi Claude'u kullandığınız, sonra yalnızca ona ait adımlar.
Adım 1 · yavaş kısım
İki API anahtarı
Faturalandırması etkin bir OpenAI API anahtarı ve bir Google Gemini API anahtarı. Burada zaman alan şey sağlayıcıların kayıt ve faturalandırma formlarıdır. Harcama limitli ayrı bir sağlayıcı projesi iyi bir fikirdir.
Minimal izinler (isteğe bağlı): OpenAI'da kısıtlı bir anahtar yeterlidir; “List models” Read ve “Model capabilities” Request üzerinde, geri kalan her şey None. Google AI Studio'dan alınan bir Gemini anahtarı zaten Gemini API ile kısıtlıdır; Google Cloud konsolundan alınan bir anahtarı Generative Language API ile kısıtlayın.
Her iki anahtarınız da var mı? Adım 2'ye geçin.
Adım 2
Kurulum
Claude Desktop: indirmeyi açın. Settings → Extensions → Advanced settings → Install Extension… yolunu izleyin ve .mcpb dosyasını seçin. İletişim kutusuna iki anahtarı da girin. Desktop kendi Node'unu içerir, bu yüzden başka bir şey kurmanız gerekmez.
Claude Code: indirmeyi açın ve çıkarılan kirat klasörünü ana klasörünüze taşıyın, böylece ~/kirat/claude-code var olsun. Ardından aşağıdaki komutları çalıştırın. Node.js 20 ya da üstü gerekir.
Claude Code bulut oturumları: bulut ortamınızın tek seferlik kurulumu, sınırlarla birlikte — aşağıya bakın.
Adım 3
Sorun
Kurulumu kontrol edin: Use the Kirat extension and call kirat_status. Ayrıca her iki API anahtarını da OpenAI ve Google ile ücretsiz olarak kontrol eder.
Ardından gerçek bir soru sorun: Ask the Kirat council: Postgres or SQLite? Give your own position too.
Veya bir şablondan başlayın: Claude Desktop'ta mesaj kutusundaki + düğmesinden, Claude Code'da ise eklenti olarak /kirat:decide, /kirat:review, /kirat:critique veya /kirat:brainstorm ile. Claude Code bulut oturumlarında bunlara /mcp__kirat__decide, /mcp__kirat__review, /mcp__kirat__critique ve /mcp__kirat__brainstorm adı verilir.
# in Claude Code, once ~/kirat/claude-code exists
/plugin marketplace add ~/kirat/claude-code
/plugin install kirat@kirat
# enter both keys when asked; to change them later:
/plugin configure kirat@kirat
Claude Desktop, uzantının Anthropic tarafından doğrulanmadığına dair bir uyarı gösterecektir. Bu uyarı, bir dosyadan yüklenen her uzantı için beklenen bir durumdur — SSS'ye bakın.
Nerede çalıştığı, tüm ayrıntılarıyla, bulut sınırlarıyla birlikte Dokuz araç ve kaydedilmiş örnek bir çağrı
Siz sade bir dille sorarsınız. Claude çağrıyı yapar:
// a real call and a real answer — nothing staged
kirat_vote({
question: "Cap the coupled effort default, or leave it at maximum?",
options: ["cap at high", "decouple", "leave as is"],
ownPosition: { position: "cap at high", reasoning: "…", confidence: 72 }
})
→ outcome: "completed"
decision: "cap at high"
decisionPath: "unanimous"
rounds: 1
votes: openai 94, gemini 92,
claude 72
cost: $0.021
Diğer sonuçlar: needs_human (çoğunluk yok — kararı siz verirsiniz), domain_decision, limited, budget_exhausted. Güven değerleri, her modelin kendi öz bildirimidir.
Şek. 6.3 — Parça listesi
Claude'un çağırdığı dokuz araç
7'si API maliyetli · 2'si maliyetsiz
| Poz. | Araç | Ne yapar | API maliyetleri |
|---|---|---|---|
| 01 | kirat_vote | Oylamayla karar: her üye bir pozisyon alır, ardından üçte iki çoğunluk, alan sahibi veya needs_human. | API maliyetleri |
| 02 | kirat_review | Kod incelemesi. Her bulgu diğer model ailesi tarafından doğrulanır. | API maliyetleri |
| 03 | kirat_create | Taslağınızı eleştirin, bir üyenin taslak yazmasına izin verin veya kısa varyantları sıralayın. | API maliyetleri |
| 04 | kirat_brainstorm | Üç kanalda farklı fikirler — brief içinde, komşu, kural bozucu — anonim olarak sıralanır. | API maliyetleri |
| 05 | kirat_decide | Geri alınabilir iş seçimleri için devredilmiş karar, veto ve günlük limit ile. | API maliyetleri |
| 06 | kirat_ask | Tam olarak bir üyeye sorun. Konsey yok. | API maliyetleri |
| 07 | kirat_image | Her iki sağlayıcı tarafından görsel üretimi, anonim bir jüri tarafından derecelendirilir. | API maliyetleri |
| 08 | kirat_result | Arka plan işlerini ve son sonuçları getirin. | yok |
| 09 | kirat_status | Bütçe, harcama, kullanılabilir üyeler, ayarlar, ücretsiz anahtar kontrolü. | yok |
"API maliyetleri", aracın kendi anahtarlarınızla OpenAI ve Google'ı çağırdığı ve bu sağlayıcılara doğrudan sizin ödeme yaptığınız anlamına gelir. Yukarıdaki tekrar, her çalıştırmanın ne kadara mal olduğunu gösterir. Kirat'in kendisi kullanım başına hiçbir ücret almaz: bir kez satın alırsınız. kirat_image ve görsel girişi bilgisayarınızdaki dosyalarla çalışır, bu nedenle en çok Claude Code'a uygundur.
Kanıt: kaydedilmiş kararlar, ölçülmüş maliyetler, belgelenmiş hatalar