Kullanıcıdan ne alıyorum?

Kullanıcı işini, sitenin amacını, istediği tarzı, renkleri, sayfaları ve iletişim bilgilerini seçiyor. Bu cevaplar ajanların anlayacağı bir iş tanımına dönüştürülüyor. Kullanıcı üretimden önce seçimlerini ve ekibe gönderilecek metni görebiliyor.

Çalıştırılan altı ajanlı site üreticisinin başlangıç ekranı.
Çalıştırılan altı ajanlı site üreticisinin başlangıç ekranı.

Altı ajan nasıl çalışıyor?

İlk ajan kısa isteği ayrıntılı bir ihtiyaç tanımına çeviriyor. Mühendislik lideri sayfa yapısını planlıyor, içerik ajanı metinleri yazıyor, ön yüz ajanı HTML, CSS ve JavaScript dosyalarını üretiyor. Test ve denetim ajanları sonucu değerlendiriyor.

Süreç sabit bir sırayla ilerliyor. Denetimde sorun çıkarsa hata bilgisi yeni denemeye ekleniyor. Deneme sayısı sınırlı tutulduğu için başarısız bir işin sınırsız tekrar ederek maliyet oluşturması engelleniyor.

Neden dosyaları tek tek üretiyorum?

Bütün siteyi tek cevapta istemek, modelin cevap uzunluğu sınırına takılıp son dosyanın yarım kalmasına yol açabiliyor. Bu yüzden önce ana sayfa, sonra alt sayfalar, ardından stil ve etkileşim dosyaları hazırlanıyor.

Sonraki dosyalar önceki yapıyı görebildiği için sayfalar arasında tutarlılık kurulabiliyor. Bunun karşılığında modele gönderilen bilgi miktarı artıyor. Buradaki karar, dosyaların tamamlanması ile çağrı maliyeti arasında denge kurmak.

Üretimden önce kullanıcının iş ve site tercihlerini toplayan soru ekranı.
Üretimden önce kullanıcının iş ve site tercihlerini toplayan soru ekranı.

Python kontrolü neye bakıyor?

Model denetiminden önce çalışan kontrol kodu, sayfa başlığı ve telefon görünümü ayarı gibi gerekli HTML bilgilerini, kırık iç bağlantıları, eksik görsel açıklamalarını ve yer tutucu metinleri tarıyor. Kritik bir hata varsa ajan olumlu karar verse bile sonuç başarılı kabul edilmiyor.

Bu tarama dosya içeriğini inceliyor. Tarayıcıdaki bütün görsel sorunları kendiliğinden gördüğü anlamına gelmiyor; bu nedenle gerçek ekran görünümünü ayrıca kontrol etmek gerekiyor.

Flask ekranı ve teslimat

Flask, soru ekranlarını ve üretim durumunu sunuyor. Üretim arka planda sürerken arayüz ilerleme bilgisini alıyor. Sonuçta önizleme, dosya listesi, kalite raporu ve ZIP indirme seçeneği gösteriliyor. Görsellerde uygulamanın başlangıç ve soru ekranlarını çalıştırarak gösterdim.

Ne öğrendim?

Ajan sayısını artırmak tek başına yeterli değil. Her ajanın girişinin, çıktısının ve sorumluluğunun belirli olması gerekiyor. Mülakatta özellikle dosya dosya üretimi, sınırlı tekrar döngüsünü ve modelden bağımsız hata kontrolünü anlatabilirim.

Bu sürümde ne geliştirdim?

API veya model çağrısı yapmadan uygulamanın ayakta olduğunu gösteren /health kontrolü eklendi. Yayın ve yerel başlatma kontrollerinde kullanılabilir. Bu davranışlar için API çağrısı yapmadan çalışan otomatik testler ekledim.

Mülakatta sorulabilecek bir soru

Model onay verdiyse neden ayrıca Python kontrolü var?

Model bazı hataları gözden kaçırabilir. Kırık bağlantı veya eksik dosya gibi kesin kontrol edilebilen sorunları doğrudan kodla denetlemek daha tutarlı ve daha düşük maliyetli.

Kısa Özet

Kullanıcının verdiği kısa bilgileri web sitesine dönüştüren altı ajanlı bir sistem kurdum. Python ve CrewAI ile planlama, içerik, kodlama ve kontrol görevlerini sıraya koydum. Flask ekranı kullanıcının seçimlerini alıyor ve sonucu gösteriyor. Site dosyaları tek tek üretiliyor; kırık bağlantı ve eksik HTML bilgileri ayrıca kodla kontrol ediliyor. Bu projede öğrendiğim, açık görev tanımının ve otomatik kontrolün çıktı kalitesini doğrudan etkilediği.