Bir ebeveyn, ajanımızdan bir öğrencinin bilim fuarı raporunu — termoelektrik bir içme suyu sebili hakkındaki bir Word belgesini — şehir düzeyinde bir inovasyon yarışması için sunuma dönüştürmesini istedi. Gerçek bir görev: gerçek bir teslim tarihi ve çıktıyı okuyacak gerçek bir öğretmenle.
Biten sunum iyi çıktı — düzenlenebilir sürüm, süslü render edilmiş sürüm kadar cilalı görünecek kadar temizdi. Ama oraya ulaşmak dört farklı şekilde kırıldı ve her kırılma, ancak biri dosyayı gerçekten indirip okul laptop'unda açtığında bulunan türden bir hataydı. İşte olanlar ve bu yüzden sistemde değiştirdiklerimiz.
1. kırılma: üç slayt bomboş döndü
Önizleme kusursuz görünüyordu. İndirilen HTML görünmüyordu — dokuz görsel boş render
edildi. Sebep: sunum görsellere göreli yolla
(src="assets/chart.png") başvuruyordu; bu, çalışma alanı önizlemesinde
düzgün çözümlenir ama .html dosyası tek başına bir indirilenler klasörüne gittiğinde
hiçbir yere işaret etmez.
Önemli olan düzeltme "görselleri göm" değil — değişmez kural: bir sunuma teslim
edilebilir denmeden önce, grep -c 'src="assets/' sıfır döndürmelidir.
Görselleri tek tek yamalamak, ilk düzeltme denemesinin üç grafiği kaçırmasının
yoludur. Bu hikâyedeki her kural aynı şekilde biter: döngüyü gözle değil, bir
kontrolle kapat.
2. kırılma: yalnızca çevrimiçiyken var olan grafikler
Etkileşimli grafik kitaplıkları canlı bir canvas üzerine render eder. Önizlememizin kaydırma modundaki DOM klonunda boyanmış pikseller kaybolur; çevrimdışıyken CDN script'i hiç gelmez. Sınıfta yansıtılması gereken bir sunum için "çevrimiçiyken çalışır" yeterince iyi değildir — bu yüzden sunum desteleri artık grafikleri önceden PNG'ye render edip görsel olarak gömüyor. Etkileşimli grafikler, yalnızca ortam biliniyorsa ve etkileşim amaçsa bir seçenek olarak kalıyor.
3. kırılma: sığmayan dışa aktarım
Kullanıcı iki sürüm istedi: cilalı, render edilmiş bir PPTX ve öğrencinin sunmadan önce rötuşlayabileceği düzenlenebilir bir sürüm. Düzenlenebilir-dışa-aktarım hattının sert bir girdi sınırı olduğu ortaya çıktı — tamamen kendi kendine yeten bir deste fazlasıyla büyüktür — üstelik göreli yollu görselleri düşürüyor ve metin kutularını yanlış birleştiriyordu. Bu yüzden düzenlenebilir deste python-pptx ile natif olarak yeniden inşa edildi. Bu da üç gerçek-dünya hatasını daha ortaya çıkardı:
- Yazı tipi boyutu hesabı ekrandan değil, slayttan gelmelidir. 16:9
bir slayt 960×540pt iken tasarım tuvali 1920×1080px'tir, yani
pt = px × 0.5— sezgisel 96dpi dönüşümü her metin parçasını 50% büyütüyor ve metin her yerde satır kırılıp çakışıyordu. - Yerleşim, farklı yazı tipi ölçümlerine dayanmalıdır. "Büyük sayı + küçük alt yazı" çiftleri tarayıcıda güzelce hizalanıyor ama glif genişlikleri farklı olan WPS'te üst üste biniyordu. Dikey istifleme buna bağışıktır; sabit ofsetli yan yana dizme değildir.
- Geometrinin bir lint'e ihtiyacı var. Bir kapak görseli slayt kenarının 200px ötesine taştı — build değil, ebeveynin gözleri yakaladı. Artık her şekil kayıttan önce bir sınır denetiminden geçiyor.
4. kırılma: teslimatı bozan doğrulama
QA script'i bir keresinde bitmiş dosyayı doğrularken yerinden taşıdı — kontrolün
kendisi, kontrol edilen şeyi yok etti. İki sessiz ders de kaldı: toplu metin
düzenlemeleri öğe başına tolerans artı kalıntı için bir leftover-grep ister; grafik sayıları yalnızca kaynak belgenin tablolarından gelebilir — küçük bir
ekran görüntüsünden asla yeniden okunmaz, orada bir keresinde 4.62, 5.89'a
dönüşmüştü.
Üründe ne değişti
Bunların her biri artık ajanın beceri setinde yazılı bir kural — her kullanıcının aldığı aynı beceriler. Teslimat-durumu değişmezi (sıfır harici referans, hash ile doğrulanmış), dışa aktarım hattı sınırları, python-pptx geometri ve yerleşim kuralları, önce-tek-slayt-sonra-toplu build'ler ve her sayfayı teslim etmeden önce render eden QA döngüsü. Ham yazıyı ayrıca bir çalışma alanı becerisi olarak sakladık; böylece gerçek bir projeden çıkan dersler buharlaşmak yerine birikiyor.
İşte "yapay zeka slayt yapıyor" sözünün kimsenin demo yapmadığı kısmı: dosyanın hâlâ bir okul laptop'ına, bir WPS kurulumuna ve bir projektöre giden yolculuğu atlatması gerekiyor. "Önizlemede harika görünüyor" ile "her yerde doğru açılıyor" arasındaki uçurum, tam da ustalığın yaşadığı yer — ve gerçek görevleri ürünün içinden kendimiz geçirip her kırılmayı yazıya dökmemizin sebebi bu.
Aynı hattı Document to Slides üzerinde kendiniz deneyin — ücretsiz önizleme, yalnızca temiz dosyayı isterseniz ödüyorsunuz.