---
title: "Üç Ajan ve Tek Bir Hafıza: Küçük Bir Ajans İçin Teklif Hazırlama Hattı"
url: https://blog.edumints.com/uc-ajan-ve-tek-bir-hafiza-kucuk-bir-ajans-icin-teklif-hazirlama-hatti
category: "LLM"
date: 2026-11-09T08:08:11.967Z
publisher: Edumints Blog
lang: tr-TR
source_name: "dev.to"
source_url: https://dev.to/jtersoli/three-agents-and-one-memory-a-proposal-pipeline-for-a-small-agency-66j
---

# Üç Ajan ve Tek Bir Hafıza: Küçük Bir Ajans İçin Teklif Hazırlama Hattı

Küçük ajanslarda her müşteri teklifi süreci genellikle aynı tekrarla başlar: müşteriyi yeniden keşfetmek için harcanan bir saat. Ne satıyorlar, web siteleri nasıl, rakipleri kimler, onlara gerçekten ne fayda sağlar ve ajansın fiyatlarıyla bunun maliyeti nedir? Yoğun haftalarda atlanan ama ajans bilgisinin kalbini oluşturan bu tekrarlı süreci dakikalar içinde tamamlamak için açık kaynaklı **bigpickle-brain** sistemi geliştirilmiştir.

Bu sistem, üç yapay zeka ajanından ve ortak bir hafızadan oluşur:
- **Araştırma Ajanı (Research Agent):** Müşteri adayının özetini alır, işletmenin web sitesini ve rakiplerini inceleyerek kanıtlara dayalı bir rapor yazar.
- **Teklif Ajanı (Proposal Agent):** Raporu sadece ajansın hizmetlerini ve fiyat aralıklarını kullanarak fiyatlandırılmış bir teklife dönüştürür.
- **Kalite İnceleme Ajanı (Quality Review):** Teklifi önce kod kurallarıyla, ardından bir inceleme ajanıyla denetler; yeterli değilse yeniden yazılması için geri gönderir.

Üç ajan da müşteriler hakkında tek bir hafızayı paylaşır: insanların okuyabildiği, düzenleyebildiği ve Obsidian gibi herhangi bir editörde açabildiği düz **Markdown** notları. Kod yapısı tamamen geneldir ve tüm bilgi birikimi kod deposunun dışında yaşar.

## 1. Elle Yazılmış Bir Döngü ve Çıkış Kapısı Olarak Araç Kullanımı

Bu mimaride hazır bir framework kullanılmamıştır. Ajan döngüsü (`src/loop.ts`), Anthropic Messages API üzerinde çalışan birkaç yüz satırlık yalın bir koddur: sistem istemini, araçları ve konuşmayı gönderir; modelin çağırdığı araçları çalıştırır; sonuçları geri besler ve tekrarlar. Bu yaklaşım, aynı kodun hem **Claude** üzerinde hem de **Ollama**'nın Anthropic uyumlu API'si üzerinden yerel bir modelde çalışmasını sağlar.

Buradaki en kritik mühendislik çözümü, ajanın sonucunu teslim etme biçimidir:
- Her ajanın çıktı şeması **Zod** ile doğrulanan bir bitiş aracı (`submit_research`, `submit_proposal`, `submit_review`) vardır ve döngü ancak model bu aracı geçerli bir girdiyle çağırdığında sona erer.
- Model düz metinle yanıt verirse bir hatırlatma alır; girdi hatalı biçimlendirilmişse doğrulama hatalarını alır ve kendini düzeltir.
- **Pratik Çıkarım:** Sağlayıcıların özel "structured output" özelliklerine bağımlı kalmadan (örneğin Ollama bunları yok sayar) yapılandırılmış çıktı elde etmek, kendi kendini iyileştiren (self-healing) sistemler kurmanın en sağlam yoludur. Gerçek testlerde yerel modelin arka arkaya üç kez hatalı teklif gönderip her seferinde hatayı düzelterek süreci başarıyla tamamlaması bu tasarımın gücünü kanıtlamaktadır.

Üç ajan da farklı sistem istemleri, araçlar ve şemalarla aynı döngüyü kullanır. Araştırma ajanında `fetch_url`, `recall_client` ve `remember_client` bulunurken; teklif ajanı `past_proposals` aracını ekler; inceleme ajanı ise geçmişi okuyabilir ancak yazma işlemi yapamaz.

## 2. Orkestratörün Bizzat Kod Olması

Sırada ne olacağına bir yapay zeka modelinin karar vermesi yerine, iş akışı (`src/pipeline.ts`) sabit sıralı bir kod fonksiyonu olarak tasarlanmıştır: önce araştırma, ardından araştırmaya dayalı teklif, sonrasında teklifin incelenmesi ve karar "onay" değilse inceleme notlarıyla birlikte yeniden yazım ve ikinci inceleme. Döngüyü durdurmak için bir revizyon sınırı (`BRAIN_MAX_REVISIONS`, varsayılan 1) bulunur.

- **Maliyet ve İzlenebilirlik:** Her aşama kendi notunu, müşteri hafızasındaki satırlarını ve izini (trace) bırakır.
- **Bağımsız Çalıştırma:** Her aşama kaydedilmiş bir çalışmadan bağımsız olarak tetiklenebilir; böylece araştırma aşamasına tekrar ücret ödemeden yalnızca teklif aşamasını yeniden çalıştırabilirsiniz.
- **Pratik Çıkarım:** Üretim ortamında ajan güvenilirliği (Agent Reliability) sağlamak ve maliyetleri kontrol altında tutmak için, ajanlar arası geçişleri LLM'in inisiyatifine bırakmak yerine deterministik kod akışlarıyla yönetmek en sağlıklı yazılım geliştirme pratiğidir.

**İlgili Edumints Modülleri:** Tool Calling ve Multi-Step Agent'lar, Structured Output ve JSON Modu, Production'da Agent Güvenilirliği

[](https://dev.to/jtersoli/three-agents-and-one-memory-a-proposal-pipeline-for-a-small-agency-66j)

---

**Kaynak:** dev.to (https://dev.to/jtersoli/three-agents-and-one-memory-a-proposal-pipeline-for-a-small-agency-66j)
**Yayıncı:** [Edumints Blog](https://blog.edumints.com) · Alıntılarken bu URL'ye bağlantı verin: https://blog.edumints.com/uc-ajan-ve-tek-bir-hafiza-kucuk-bir-ajans-icin-teklif-hazirlama-hatti
