Capstone Module 20: Turkish E-Commerce Multi-Agent System — Production Agent with CrewAI
Module 20 capstone: Turkish e-commerce multi-agent system. 3 agents: (1) Research Agent — product search on Trendyol/Hepsiburada, (2) Price Compare Agent — price and shipping comparison, (3) Recommendation Agent — user recommendation. CrewAI framework, Pydantic AI tools, FastAPI backend, Next.js frontend, Stripe API. Turkish natural conversation → automated shopping research. KVKK compliant. Curriculum's 11th production artifact.
Şükrü Yusuf KAYA
90 min read
Advanced🎓 Capstone — 11. Production Artefakt
Modül 20'nin 2 dersinde tool use tarihçesi (ReAct → MCP) ve implementation (function calling, Pydantic AI) işlendi. Şimdi bunları multi-agent production sisteme dönüştürüyoruz: Türkçe E-Ticaret Asistanı.
Hedef: kullanıcı doğal Türkçe konuşur: 'iPhone 16 Pro Max 256GB en ucuz nerede?' → 3 ajan ekip çalışmasıyla araştırır, karşılaştırır, öner.
3 ajan ekibi (CrewAI):
- Research Agent: Trendyol, Hepsiburada, n11 API'lerinden ürün listesi
- Price Compare Agent: fiyat + kargo + KDV birleştirme
- Recommendation Agent: kullanıcı bütçesi + tercihlerine göre öneri
Tech stack:
- CrewAI: agent orchestration
- Pydantic AI: tool definitions
- FastAPI: backend API
- Next.js: frontend chat UI
- PostgreSQL: kullanıcı geçmişi (KVKK uyumlu)
- Redis: agent state cache
Maliyet: $50/ay (GPT-4o API + hosting). Volume büyürse Mixtral self-host.
Müfredatın 11. production artefaktı: shop.sukruyusufkaya.com. 90 dakikada full multi-agent system + Türkçe doğal dil. Gerçek müşteri değeri.
Capstone Akışı (10 Aşama)#
- Sistem mimarisi — multi-agent flow
- CrewAI setup — agent definitions
- Research Agent — Trendyol/Hepsiburada API mock
- Price Compare Agent — fiyat normalize
- Recommendation Agent — kullanıcı tercih modeli
- Orchestration — sequential vs hierarchical
- FastAPI backend — agent endpoint
- Next.js frontend — Türkçe sohbet UI
- KVKK + maliyet yönetimi
- Production deployment + launch
python
# Türkçe E-Ticaret Multi-Agent — CrewAIfrom crewai import Agent, Task, Crew, Processfrom crewai_tools import SerperDevToolfrom langchain.tools import toolfrom pydantic import BaseModelfrom typing import Listimport requests # 1. Tool tanımlarıclass UrunBilgisi(BaseModel): isim: str fiyat: float site: str url: str kargo: float = 0.0 teslim_suresi_gun: int = 3 @tool('trendyol_arama')def trendyol_arama(urun_adi: str) -> List[UrunBilgisi]: '''Trendyol'da ürün araması yapar.''' # Production'da Trendyol API kullan (örnek için mock) return [ UrunBilgisi(isim='iPhone 16 Pro Max 256GB', fiyat=87999, site='Trendyol', url='...', kargo=0, teslim_suresi_gun=2), ] @tool('hepsiburada_arama')def hepsiburada_arama(urun_adi: str) -> List[UrunBilgisi]: '''Hepsiburada'da ürün araması yapar.''' return [ UrunBilgisi(isim='iPhone 16 Pro Max 256GB', fiyat=88499, site='Hepsiburada', url='...', kargo=0, teslim_suresi_gun=1), ] @tool('n11_arama')def n11_arama(urun_adi: str) -> List[UrunBilgisi]: '''n11'de ürün araması yapar.''' return [ UrunBilgisi(isim='iPhone 16 Pro Max 256GB', fiyat=87499, site='n11', url='...', kargo=29.90, teslim_suresi_gun=3), ] # 2. 3 Agent tanımı (CrewAI)research_agent = Agent( role='E-Ticaret Araştırmacı', goal='Türk e-ticaret sitelerinden ürün bilgilerini toplamak', backstory='Türk e-ticaret pazarını bilen uzman araştırmacı.', tools=[trendyol_arama, hepsiburada_arama, n11_arama], llm='openai/gpt-4o',) price_compare_agent = Agent( role='Fiyat Karşılaştırma Uzmanı', goal='Farklı sitelerden ürün fiyatlarını normalize edip karşılaştırmak', backstory='KDV, kargo, indirim dahil net fiyat hesaplama uzmanı.', llm='openai/gpt-4o',) recommendation_agent = Agent( role='Türkçe Alışveriş Tavsiye Uzmanı', goal='Kullanıcıya en uygun ürün ve siteyi önermek', backstory='Türk tüketici davranışını bilen, samimi tonlu danışman.', llm='openai/gpt-4o',) # 3. Task tanımlarıresearch_task = Task( description='Kullanıcının istediği ürünü ({urun}) Trendyol, Hepsiburada ve n11\'de ara.', agent=research_agent, expected_output='Üç siteden ürün listesi (isim, fiyat, kargo, teslim süresi).',) compare_task = Task( description='Ürün fiyatlarını net karşılaştır (kargo + KDV dahil). Tablo oluştur.', agent=price_compare_agent, expected_output='Karşılaştırma tablosu: site, net_fiyat, teslim_suresi, avantaj.',) recommend_task = Task( description='Kullanıcıya samimi Türkçe ile önerini sun. En iyi seçeneği ve neden\'ini açıkla.', agent=recommendation_agent, expected_output='2-3 cümlelik Türkçe öneri + link.',) # 4. Crew (multi-agent orkestrasyonu)crew = Crew( agents=[research_agent, price_compare_agent, recommendation_agent], tasks=[research_task, compare_task, recommend_task], process=Process.sequential, # Sıralı: research → compare → recommend verbose=True,) # 5. Çalıştırresult = crew.kickoff(inputs={'urun': 'iPhone 16 Pro Max 256GB'})print(result.raw)# Beklenen:# 'iPhone 16 Pro Max 256GB için en uygun seçenek n11'de 87,529.90 TL (kargo dahil).# Hepsiburada 88,499 TL (kargosuz) ama 1 gün teslimat avantajı var.# Trendyol 87,999 TL (kargosuz, 2 gün). Bütçen sıkıysa n11, hızlı istiyorsan Hepsiburada.' Türkçe E-Ticaret Multi-Agent CrewAI Capstone
🎉 Modül 20 Tamamlandı — AI Ajanlarının Tam Anatomi
Modül 20 final (3 ders, 255 dakika):
- 20.1: Tool Use Tarihçesi — ReAct 2022'den MCP 2024'e
- 20.2: Tool Use Implementation — Function Calling, MCP, Pydantic AI
- 20.3 Capstone: Türkçe E-Ticaret Multi-Agent — 11. production artefakt
Müfredatın 11. production artefaktı: . Türkçe doğal dil → multi-agent araştırma → öneri. Gerçek müşteri değeri.
shop.sukruyusufkaya.comÖnceki: 1 ders / 75 dk → Şimdi: 3 ders / 255 dk. 3.4× genişleme, uzman kalitesi.
Modül 20 Envanteri (Yeniden Yazıldı)#
| # | Ders | Süre |
|---|---|---|
| 20.1 | Tool Use Tarihçesi: ReAct → MCP | 80 dk |
| 20.2 | Tool Use Implementation: JSON Schema, Pydantic AI | 85 dk |
| 20.3 | Capstone Türkçe Multi-Agent E-Ticaret | 90 dk |
| Toplam | 3 ders | 255 dk (~4.3 saat) |
Önceki: 1 ders / 75 dk → Şimdi: 3 ders / 255 dk.
Frequently Asked Questions
**Complex**:
**Trendyol**: Official API exists (Trendyol Marketplace). Can access if you have seller account. As customer, limited (only your orders).
**Hepsiburada**: Similar official API (HepsiJet, marketplace). For seller/partner.
**n11**: Marketplace API exists but more closed.
**Practical alternatives**:
1. **Web scraping**: respect robots.txt, rate limit. Legal grey area.
2. **Affiliate programs**: Trendyol Affiliate, limited product API.
3. **Mock data + LLM**: for capstone learning, not production.
4. **Official B2B partnership**: if serious company, partnership.
**For capstone scope**: start with mock API. If going to production, partnership or scraping (legal grey area, careful).
KVKK + KVK compliance: if scraping, careful with data retention. User data → ideal not to store.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
Related Content
Module 0: Course Framework & Workshop Setup
Who Is an LLM Engineer? The AI Engineering Career Ladder from Junior to Staff
Start LearningModule 0: Course Framework & Workshop Setup
Course Philosophy: Why This Path, Why This Order — The Skeleton of an 8-Month Curriculum
Start LearningModule 0: Course Framework & Workshop Setup