Büyük dil modellerinin ve esnek yapay zeka araçlarının yükselişi, özel yapay zeka ajanları oluşturmayı her zamankinden daha erişilebilir hale getirdi. İster görevleri otomatikleştirmeye yardımcı olacak, ister araştırmaya destek olacak, kullanıcı etkileşimlerini destekleyecek veya yeni hizmetlere güç verecek bir ajan isteyin; sıfırdan başlamak ve ihtiyaçlarınıza göre tasarlamak genellikle en esnek ve güçlü sonuçları verir. Bu kılavuzda, bir yapay zeka ajanını sıfırdan oluşturmak için dokuz adımlık bir süreci ele alıyoruz — amaç belirlemekten etrafına bir kullanıcı arayüzü veya API oluşturmaya kadar.
Geliştirici Ekibinizin maksimum verimlilikle birlikte çalışması için entegre, Hepsi Bir Arada bir platform mu istiyorsunuz?
Apidog tüm taleplerinizi karşılıyor ve Postman'ı çok daha uygun bir fiyata değiştiriyor!
Adım 1: Ajanınızın Amacını ve Kapsamını Tanımlayın
Tek bir kod satırı veya komut istemi yazmadan önce, ajanınızın ne yapması gerektiği konusunda net olmalısınız. Bu şu anlama gelir:
- Ajanın ele alacağı kesin görevi belirtmek (örn. “satış potansiyelini değerlendirmek,” “tanıtım e-postaları taslağı hazırlamak,” “destek biletlerini özetlemek,” “kullanıcı tercihlerine göre kitap önermek”).
- Hedef kullanıcıları belirlemek — bunlar dahili ekip üyeleri mi, son müşteriler mi, yoksa başka ajanlar mı?
- Teslimatları netleştirmek — ajanın ne tür bir çıktı üretmesi gerektiği (örn. bir JSON nesnesi, biçimlendirilmiş bir rapor, bir taslak mesaj, bir karar vb.).
Örnek: Bir “satış asistanı” ajanı istediğinizi varsayalım. Şunları tanımlayabilirsiniz: potansiyel müşterinin profil verilerini girdi olarak alır, potansiyel müşterinin genel bilgilerini araştırır, potansiyel müşteri uygunluğunu puanlar ve bir taslak tanıtım e-postası çıktısı verir. Bu kapsam net bir şekilde tanımlandığında, komut istemlerinden veri akışına kadar her şeyin planlanması daha kolay hale gelir.
Adım 2: Açık Girdi / Çıktı Şemaları Oluşturun
Amaç netleştiğinde, her şeyi serbest biçimde bırakmak yerine yapılandırılmış girdi ve çıktı şemaları tasarlayın. Bu, API'lerin istek ve yanıt yapılarını tanımlamasına benzer şekilde, ajanıza istikrarlı bir “sözleşme” sağlar.
- Girdi ve çıktıları resmi olarak tanımlamak için Pydantic (Python'da), JSON Şeması veya TypeScript arayüzleri gibi araçlar kullanın (bu nokta RDD tarafından da vurgulanmıştır).
- Ajanın tam olarak hangi alanları beklediğini (türleri, zorunluya karşı isteğe bağlı, değer kısıtlamaları vb. ile birlikte) tanımlayın.
- Çıktılar için, yalnızca verileri (örn. “email_subject”, “email_body”, “lead_score”) değil, aynı zamanda faydalıysa meta verileri (örn. zaman damgası, model_version, processing_time) da belirtin — bu özellikle loglama, hata ayıklama veya ajanları zincirleme için kullanışlıdır.
from pydantic import BaseModel, Field
from typing import Optional, List
class LeadProfile(BaseModel):
name: str
email: Optional[str]
company: Optional[str]
description: Optional[str]
class OutreachEmail(BaseModel):
subject: str
body: str
lead_score: float = Field(..., ge=0, le=1)
# Example usage:
lead = LeadProfile(name="Alice Johnson", email="alice@example.com", company="Acme Corp")
print(lead.json())Bu şema öncelikli yaklaşım, tutarlılığı sağlar, çıktıları doğrulamayı kolaylaştırır ve diğer sistemler veya kullanıcı arayüzleri ile entegrasyonu basitleştirir.
Adım 3: Sistem Talimatlarını Yazın
Şema yerleştirildikten sonra, ajanınız için ayrıntılı rol tanımları ve sistem talimatları yazın. Esasen, yapay zekaya şunu söylersiniz: “Sen X'sin. İşte sorumlulukların, kısıtlamaların, tarzın, tonun ve çıktı formatın.”
- Davranış kurallarını tanımlayın (örn. “her zaman şemaya uyan JSON döndür,” “veri eksikse, bir hata nesnesiyle yanıt ver,” “kibar, öz ve profesyonel ol”).
- Yanıt varyasyonunu azaltmak için tutarlı istem / talimat şablonları kullanın. Birçok ajan, kararlı “sistem istemi + kullanıcı istemi + şema zorlaması” yapısından faydalanır.
- Farklı talimat stillerini deneyin — bazı ajanlar çok açık talimatlara, diğerleri ise daha esnek veya konuşma tabanlı olanlara daha iyi yanıt verir.
Bu stili destekleyen herhangi bir Büyük Dil Modelini (LLM) kullanabilirsiniz — örn. GPT-4, Claude veya diğer modeller. Birçok geliştirici, sistem talimatlarını doğrudan ajan başlatmalarına dahil eder.
Adım 4: Akıl Yürütmeyi ve Harici Eylemleri Etkinleştirin
Bir ajan, mantıksal olarak akıl yürütebildiğinde ve harici sistemlerle — veritabanları, API'ler, araçlar, web araması, kod yürütme vb. — etkileşim kurabildiğinde çok daha güçlü hale gelir.
- ReAct (Akıl Yürütme + Eylem) gibi çerçeveler veya benzer modeller kullanın: ajan akıl yürütür, ardından bir eylem (bir API çağırmak gibi) seçer, ardından sonucu gözlemler, sonra tekrar akıl yürütür ve bu böyle devam eder.
- Ajan'a çağırabileceği araç fonksiyonları/arayüzleri sağlayın, bunlar açıkça tanımlanmış girdi ve çıktılara (şemaya uygun) sahip olmalıdır; örneğin “search_web(sorgu)” → sonuçları döndürür; “send_email(yük)”; “query_database(parametreler)”; vb.
- Veri alma, hesaplamalar, veritabanı işlemleri, web kazıma, belge işleme gibi görevler için — bu harici eylemleri bağlamak, ajanı sadece metin oluşturmaktan daha fazlasına yetenekli hale getirir.
Bu adım, ajanınızı “akıllı bir metin üreticisi” olmaktan çıkarıp, sadece “yanıtlamak” yerine gerçekten eylem yapabilen bir “ajan” haline getirir.
import openai, os, json
openai.api_key = os.getenv("OPENAI_API_KEY")
SYSTEM_PROMPT = """
You are a helpful assistant. Use the available tools when needed.
Return output in JSON with keys: {action, action_input} or {final_answer}.
"""
TOOLS = {
"search": lambda query: f"[search results for: {query}]",
# add more tools as needed
}
def call_llm(messages):
resp = openai.chat.completions.create(
model="gpt-4o",
messages=messages
)
return resp.choices[0].message["content"]
def agent_loop(user_input):
messages = [{"role":"system","content":SYSTEM_PROMPT},
{"role":"user","content":user_input}]
while True:
reply = call_llm(messages)
data = json.loads(reply)
if "action" in data:
result = TOOLS[data["action"]](data["action_input"])
messages.append({"role":"assistant","content":reply})
messages.append({"role":"tool","content":result})
elif "final_answer" in data:
return data["final_answer"]
if __name__ == "__main__":
answer = agent_loop("Find the population of France and compute 10% of it.")
print(answer)
Adım 5: Gerekirse Birden Fazla Ajanı Koordine Edin
Çok adımlı bir satış hunisi, veri analizi + raporlama hattı veya çok departmanlı iş akışları gibi karmaşık iş akışları için, her birinin tanımlanmış bir rolü olan birden fazla ajanın birlikte çalışmasını isteyebilirsiniz.
- Örneğin: bir Planlayıcı ajan adımlara karar verir, bir Çalışan ajan görevleri yürütür (örn. veri alma, hesaplamalar) ve bir Doğrulayıcı ajan sonuçları kalite açısından inceler.
- Ajanlara görev atayan, eylemleri sıralayan, bağımlılıkları yöneten ve sonuçları birleştiren koordinasyon mantığı (orkestratör) oluşturun.
- Çerçeveler veya orkestrasyon kütüphaneleri kullanın ya da özel mantık yazın. Bu orkestrasyonu, bir uygulamadaki “denetleyici” katmanı gibi ele almak genellikle faydalıdır — görevleri, sonuçları, durumu ileterek ve ajanları koordine ederek.
Bu, sisteminizi modüler, sürdürülebilir ve karmaşık veya büyük ölçekli görevleri yönetebilecek hale getirir.
Adım 6: Hafıza ve Bağlam Ekleyin
Birçok kullanışlı ajan — sohbet asistanları, destek botları, araştırma ajanları, kişisel asistanlar — zaman içinde önceki etkileşimleri veya kalıcı bilgileri hatırlamalıdır. Hafıza olmadan, her etkileşim durum bilgisi olmayan ve bağlamdan yoksun olur.
- Çok turlu etkileşim içeren görevler için kısa süreli hafıza (konuşma geçmişi, oturum bağlamı) uygulayın.
- Uzun süreli hafıza/bilgi tabanı uygulayın — gerçekleri, kullanıcı tercihlerini, geçmiş kararları, harici verileri depolayın — genellikle vektör veritabanları veya diğer depolama çözümlerini kullanarak.
- Hafıza geri alımı ve temellendirme için, geri alım-artırılmış üretim (RAG) kullanmayı düşünün: ajan bağlama ihtiyaç duyduğunda, ilgili geçmiş verileri veya belgeleri getirir, bunları mevcut istemle birlikte gömer ve ardından üretir.
Hafıza ekleyerek, ajanınız süreklilik, kişiselleştirme ve giderek daha kullanışlı davranışlar sağlayabilir.
class ConversationMemory:
def __init__(self):
self.history = []
def add(self, message: str):
self.history.append(message)
# Optional: trim if too long
def get_context(self) -> str:
return "\n".join(self.history)
mem = ConversationMemory()
def run_conversation(input_text):
mem.add(f"User: {input_text}")
# pass context to agent
# agent generates response...
response = "..." # from LLM
mem.add(f"Agent: {response}")
return response
# Example usage
run_conversation("Hello, who are you?")
run_conversation("Remember my name is Alice.")
Adım 7: Multimedya Yeteneklerini Entegre Edin
Ajanın amacına bağlı olarak, görüntüler, ses, video veya dosya/belge işleme desteği eklemek isteyebilirsiniz veya istemeyebilirsiniz (oluşturmaya çalıştığınız Yapay Zeka Ajanına bağlı olarak bu adım başkaları için isteğe bağlı olabilir, ancak çoğu için oldukça gereklidir).
- Ses veya işitsel için: konuşmayı metne / metni konuşmaya dönüştürme araçlarını entegre edin (örn. Whisper, diğer ASR/TTS sistemleri).
- Görüntüler / görseller için: görüntü oluşturma veya görme yeteneğine sahip modelleri etkinleştirin (gerekirse), böylece ajan görüntüleri analiz edebilir veya görseller üretebilir.
- Belge işleme için: PDF'leri, Word belgelerini veya diğer veri formatlarını ayrıştırın ve ajanın yapılandırılmış çıktıları okumasına veya üretmesine izin verin.
Multimedya desteği, ajanınızın belge özetlemeden görüntü tabanlı analize veya etkileşimli kullanıcı arayüzü görevlerine kadar ele alabileceği görev aralığını genişletir.
Adım 8: Çıktıyı Biçimlendirin ve Teslim Edin
Ajanınızın çıktısı, hem insanlar hem de diğer programlar veya sistemler için iyi yapılandırılmış, temiz ve kullanılabilir olmalıdır.
- Çıktı programatik olarak tüketildiğinde yapılandırılmış çıktı formatlarını (JSON, XML, tip belirtilmiş şema) kullanın.
- Ajan raporlar, günlükler veya insanlar tarafından okunabilir özetler üretiyorsa — bunları açıkça biçimlendirin (Markdown, HTML, PDF vb.).
- Hata ayıklama veya iç gözlem için — çıktıya meta veri (zaman damgaları, araç çağrı günlükleri, token kullanımı) ekleyin.
Bu, çıktıların güvenilir, ayrıştırılabilir olmasını ve kullanıcı arayüzleri, veri hatları veya alt sistemlere entegrasyonunun daha kolay olmasını sağlar.
Adım 9: Bir Kullanıcı Arayüzü veya API Katmanı Oluşturun
Son olarak, yapay zeka ajanıza bir kullanıcı arayüzü veya API katmanı ekleyin, böylece başkaları — ister dahili kullanıcılar, ister müşteriler, isterse diğer sistemler olsun — tarafından kullanılabilir.
Seçenekler şunları içerir:
- Harici uygulamaların ajanı programatik olarak çağırabilmesi için bir REST API (tüm API uç noktalarınızı Apidog ile test edin) veya HTTP uç noktası (örn. FastAPI gibi çerçeveleri kullanarak). (daha fazla kod örneği Real Python'da)

- Kullanıcıların etkileşim kurması için basit bir sohbet kullanıcı arayüzü (web veya masaüstü) veya bir komut satırı arayüzü.
- Mevcut uygulamalara, Slack botlarına, kontrol panellerine veya özel ön uçlara entegre etme.
Bu son adım, ajanı bir “proje” olmaktan çıkarıp, kullanılabilir bir araca — etkin bir şekilde, değer sunan bir ürüne — dönüştürür.
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class AgentRequest(BaseModel):
prompt: str
class AgentResponse(BaseModel):
result: str
@app.post("/api/agent", response_model=AgentResponse)
def call_agent(req: AgentRequest):
response = agent_loop(req.prompt) # assume agent_loop is defined
return {"result": response}
Sıkça Sorulan Sorular
S1. Neden serbest biçimli metin yerine yapılandırılmış girdi/çıktı şemaları tanımlanmalı?
Yapılandırılmış şemalar (Pydantic, JSON Şeması vb. aracılığıyla) güvenceler sağlar — ajanın beklenen alanları almasını ve tahmin edilebilir, makine tarafından okunabilir çıktılar döndürmesini garanti eder. Bu, hatalı veri olasılığını azaltır, doğrulamayı basitleştirir ve diğer sistemlerle entegrasyonu çok daha sağlam hale getirir.
S2. ReAct nedir ve neden kullanışlıdır?
ReAct, “Akıl Yürütme + Eylem” anlamına gelir. Bir ajanın düşünme (akıl yürütme) ve yapma (bir aracı çağırma veya bir eylem gerçekleştirme) arasında geçiş yaptığı, ardından sonucu gözlemlediği ve gerektiğinde akıl yürütmeye devam ettiği bir tasarım desenidir. Bu, ajanların çok adımlı mantık yürütmesine, harici araçları veya API'leri çağırmasına ve sonraki adımları sonuçlara dayandırmasına olanak tanır — bu da onları basit, tek seferlik komut-yanıt botlarından çok daha güçlü hale getirir.
S3. Ne zaman tek bir ajan yerine birden fazla ajan kullanmalıyım?
Görev karmaşık olduğunda ve uzmanlaşmadan faydalanan belirgin alt görevler (örneğin planlama, yürütme, doğrulama veya veri getirme, akıl yürütme ve raporlama gibi farklı alanlar) içerdiğinde birden fazla ajan kullanın. Çoklu ajan kurulumları modülerliği, netliği ve sağlamlığı artırır. (Empathy First Media'da pratik kılavuz)
S4. Hafıza bir ajanı nasıl geliştirir — ve en iyi hafıza türü nedir?
Hafıza, ajanların önceki etkileşimleri, kullanıcı tercihlerini, geçmiş kararları veya birikmiş bilgiyi hatırlamasını sağlayarak süreklilik sağlar. Kısa süreli (oturum bağlamı) çok turlu konuşmalara yardımcı olur; uzun süreli (vektör veritabanları, belge depoları) ise bilgi geri alımını, kişiselleştirmeyi ve zaman içinde akıl yürütmeyi destekler. Birçok uygulama için bir kombinasyon idealdir.
S5. Bir yapay zeka ajanını güvenli bir şekilde nasıl dağıtırım — ve kontrol dışı döngüleri veya güvensiz davranışları nasıl önlerim?
Dağıtımdan önce güvenlik ve izleme ekleyin: istek başına akıl yürütme veya araç çağırma döngüsü sayısını sınırlayın; hassas eylemler için günlükleme, hata işleme ve insan döngüsü kontrol noktaları uygulayın; kullanımı, maliyeti ve performansı izleyin; ve uç durumları kapsamlı bir şekilde test edin.
Sonuç
Sıfırdan bir yapay zeka ajanı oluşturmak ödüllendirici — ve giderek daha erişilebilir — bir çabadır. Yapılandırılmış bir süreci takip ederek — amaç belirleme, net şemalar tasarlama, sağlam talimatlar yazma, akıl yürütme ve araç kullanımını etkinleştirme, isteğe bağlı olarak birden fazla ajanı koordine etme, hafıza ve bağlam ekleme, çıktıları doğru biçimlendirme ve kullanılabilir bir arayüz sunma — özel ihtiyaçlarınıza göre güçlü, güvenilir ajanlar oluşturabilirsiniz.
Ne inşa ediyor olursanız olun (bir satış asistanı, bir araştırma aracı, bir sohbet botu veya bir otomasyon motoru), bu adım adım kılavuz size bir taslak sunar. Düşünceli tasarım ve iyi bir mimari ile yapay zeka ajanınız bir prototipten kullanışlı, bakımı yapılabilir ve ölçeklenebilir bir araca dönüşebilir.
İlk ajanınızı oluşturmaya hazırsanız — basit bir amaç seçin, şemasını yazın ve deneyin. Temel işlevler çalışmaya başladığında, hafıza, araçlar ve arayüz katmanlarını ekleyebilir ve yaratımınızın gerçekten güçlü bir şeye dönüştüğünü görebilirsiniz.
Geliştirici Ekibinizin maksimum verimlilikle birlikte çalışması için entegre, Hepsi Bir Arada bir platform mu istiyorsunuz?
Apidog tüm taleplerinizi karşılıyor ve Postman'ı çok daha uygun bir fiyata değiştiriyor!
