Pek çok kişi, ChatGPT'nin yazılarımızı yazabileceğini, resimlerimizi çizebileceğini ve arama sorgularımızı yanıtlayabileceğini ilan etti. Ama o da kodlayabilir mi?

ChatGPT'yi çevreleyen aldatmacanın en büyük iddialarından biri, onun etkili bir programlama aracı olabileceğidir. Fikir şu şekilde ilerliyor: ne istediğinizi doğal dilde tanımlıyorsunuz; chatbot tam da bunu yapan bir kod üretir. Ancak ChatGPT bunu yapmakta gerçekten ne kadar iyi?

Teste tabi tutmaktan daha iyi bir öğrenme yolu var mı? ChatGPT'den sıfırdan basit bir web uygulaması oluşturmasını istedik. İşte testimizin sonucu ve ChatGPT kullanarak sıfırdan bir web sitesi oluşturmak için kullanabileceğiniz adımlar.

1. Adım: Web Uygulamanız için Plan Oluşturma

Tıpkı herhangi bir araçla bir web uygulaması oluştururken yaptığınız gibi, neyin planlandığını belirlemeniz gerekir. ChatGPT'nin çalıştırmasına izin vermeden önce uygulamanızın nasıl görünmesini istediğinizi ve uygulamanızı oluşturmak için ihtiyaç duyacağınız adımları göstermek.

İlk görevimiz için, ChatGPT'den basit bir sohbet uygulaması için bir plan geliştirmesini istedik. Bunu yapmak için web uygulamamızın gereksinimlerini açıkladık ve ardından chatbot'tan uygulamayı geliştirmek için bir planı detaylandırmasını istedik.

Yukarıdaki istemi kullandıktan sonra, elde ettiğimiz sonuç şu:

Yukarıdaki gibi bir akış şeması oluşturmak için ChatGPT hesabınızda "Bana Göster" eklentisinin etkinleştirilmesi gerekir. Yapabilirsiniz ChatGPT eklentilerini yükleyin ve kullanın Premium aboneliğe ihtiyacınız olmasına rağmen, sadece birkaç adımda.

Eklenti olmadan, metin tabanlı bir plan veya ASCII-sanat akış şeması elde edersiniz. Bu hala sorun değil. Eklenti olmasa bile ChatGPT, aşağıdaki örnekte olduğu gibi uygulamanın net bir planını sağlamalıdır.

Adım 2: Planı Daha Küçük Modüllere Bölme

Artık büyük resmi ortaya koyduğumuza göre, ChatGPT'den uygulamayı ayrı ayrı geliştirebileceğimiz ve ardından eksiksiz bir web uygulaması oluşturmak için entegre edebileceğimiz daha küçük bileşenlere ayırma konusunda yardım istedik. ChatGPT, onu üç bileşene ayırmayı önerdi:

  1. kayıt modülü
  2. Giriş modülü
  3. Sohbet modülü

Başka fikirlerimiz vardı ama buradaki amaç, ChatGPT'nin kararları vermesine izin vermek.

1. Kayıt Bileşenini Oluşturma

Hemen kayıt bileşenini oluşturmaya başladık. ChatGPT'den uygun bir algoritma çıkarmasını istedik. Burada kayıt için sadece kullanıcının kullanıcı adı, e-postası ve avatarına ihtiyacımız olduğunu belirterek müdahale ettik. İşte bilgi istemi:

Ve işte sonuç:

Sırada, ChatGPT'den kayıt bileşenini oluşturmasını istedik.

Kayıt sürecinin bir parçası olarak şifre alanını dahil etmemiş olsak da ChatGPT, şifre alanını oluşturulan HTML koduna dahil ederek doğru kararı verdi. Kodu herhangi bir değişiklik yapmadan kopyaladık ve işte bir tarayıcıda nasıl göründüğü.

Sırada, ChatGPT'den PHP kayıt komut dosyasını oluşturmasını istedik. İlk başta, "Form gönderimini işlemek için sunucu tarafı mantığı için bir PHP kodu yazın." Oluşturulan komut dosyası iyi çalışmasına rağmen birçok güvenlik açığına sahipti.

Parola karma işlemi yoktu, hata işleme yoktu ve SQL enjeksiyonuna yatkındı—ChatGPT yalnızca minimum olanı yaptı. Bunu düzeltmek nispeten kolaydı. ChatGPT'den "az önce oluşturduğunuz kodla ilgili yanlış olan her şeyi belirlemesini ve ardından kodu optimize etmek için belirlenen noktaları kullanın." Bununla, PHP kayıt betiğimiz hazırdı. Gitmek.

İsteminizin ifadesi önemlidir. ChatGPT'nin yapması gerekenler konusunda çok net ve spesifik olmanız gerekir. Ondan basitçe "bu kodla ilgili sorunu düzeltmesini" istediğimizde, düzeltmesini umduğumuz çoğu şeyi düzeltmedi. ChatGPT istemlerini yazma konusunda daha fazla rehberlik için, burada etkili istemlerin nasıl yazılacağını öğrenmek için bazı yerler.

Sırada, ChatGPT'den "PHP betiğinde yakalanan veriler için bir veritabanı oluşturmak üzere bir SQL kodu yazın." İşte ortaya çıkan SQL kodu:

Ve işte SQL yürütülerek oluşturulan tablo:

Veritabanı kurulumu ile birlikte ilk kaydımızı denedik ve hatasız çalıştı.

2. Oturum Açma Bileşenini Oluşturma

Kayıt bileşenini devre dışı bırakarak Login bileşenini ele aldık. Şaşırtıcı bir şekilde, ek oturum yönetimi mantığına rağmen inşa edilmesi en kolay olanıydı.

İşte oluşturulan giriş sayfası. Önemli bir vurgu, kayıt sayfasıyla aynı renk seçeneklerini kullanmasıdır.

ChatGPT tarafından talimat verildiği gibi bir "server.login.php" dosyası oluşturduktan ve oluşturulan PHP betiğini ekledikten sonra, herhangi bir değişiklik veya hata ayıklama yapmadan ilk başarılı girişimizi yaptık.

3. Sohbet Bileşenini Oluşturma

Sohbet bileşenini oluşturmak, küçük denememizin son ve muhtemelen en zor kısmıydı. İlk başta, ChatGPT'den sohbet bileşeninin kodunu yazmasını istedik. Söylemeye gerek yok, muazzam bir başarısızlıktı. Oluşturmak istediğiniz herhangi bir şeyin daha karmaşık bileşenleri için, onu daha küçük bileşenlere ayırmanız ve birbiri ardına ele almanız gerekir.

ChatGPT'den sohbet bileşenini bölmeyle ilgili önerilerini istedik ve üç sayfa oluşturmamızı önerdi:

  1. Chat.php
  2. Send-messages.php
  3. Fetch-messages.php

ChatGPT bir dosya adı önerdiğinde, projenizde farklı bir ad kullanılması yanlışlıkla chatbot, oluşturduğu tüm kodlarda aynı adı referans alacağından sorunlar proje. Zor yoldan öğrendik. Aynı hatayı yapma.

Chat.php Sayfasının Oluşturulması

Başlamak için, ChatGPT'ye sohbet arayüzünün nasıl görünmesini istediğimize dair ayrıntılı talimatlar verdik.

Oluşturulan HTML kodunu çalıştırdıktan sonra, mesaj giriş kutusu olmayan bir sohbet arayüzümüz oldu. Bunu düzeltmek için ChatGPT'den "bir mesaj giriş kutusu ve bir gönder düğmesi eklemek için kodu yeniden yazın." Oluşturulan kod, ikinci denemede bir tarayıcıda şu şekilde görünür.

Oluşturulan kod istenen sonuçları veremediğinde veya önemli bir bileşeni atladığında, ChatGPT'den son kodu yeniden yazmasını isteyin. Bileşeni içermesini veya ilk kodda yapılmayanları yapmasını söyleyin. Burada programlama için ChatGPT'nin nasıl kullanılacağına dair bazı ipuçları.

"send-messages.php" ve "Fetch-messages" sayfasının oluşturulması

Arayüzden memnun kaldık, sohbet mantığını işlemek için komut dosyasını oluşturmaya devam ettik. Veritabanından mesaj gönderip alabilmek için, ChatGPT haklı olarak bir "mesajlar" tablosuna ihtiyacımız olacağını vurguladı. Sohbet robotundan mesajlar tablosu için bir SQL oluşturmasını istedik.

Bir SQL kodu oluşturduktan sonra, sohbet robotundan mesajlaşma mantığını işlemesi için bir PHP betiği oluşturmasını istedik.

ChatGPT, komut dosyasını hem "send-messages.php" hem de "fetch-messages.php" sayfaları için oluşturdu. Her iki betiği de çalıştırırken, sonunda ilk hatamızı yaptık (garip bir şekilde tatmin ediciydi). Tek bir kod satırında hata ayıklamadan projeye bu kadar yaklaşmak, göreceli basitliğine rağmen gerçek olamayacak kadar iyi görünüyordu.

Hatanın, ChatGPT'nin bildirilmemiş bir oturum değişkeni için bir kontrol başlatmasından kaynaklandığı ortaya çıktı ($_SESSION['user_id']) betiğimize ekleyin. Bunun, ChatGPT'nin projede kullanılan değişkenlerin bazı bağlamlarını ve adlarını unutmasıyla sonuçlanan projeye oldukça uzun bir ara vermenin bir sonucu olduğundan şüpheleniyoruz.

Bir uygulama oluşturmak için ChatGPT kullanırken, aynı sohbet dizisini kullandığınızdan emin olun ve ilgili bileşenleri mümkün olan en kısa sürede tamamlamaya çalışın. Yeni bir sohbet dizisi kullanmak veya uzun bir ara vermek tutarsızlıklara neden olabilir. Kodlama oturumları arasında uzun aralar verirseniz, ChatGPT mevcut projenin bazı ayrıntılarını (örneğin renk şeması) unutma eğilimindedir.

Bununla birlikte, hatayı düzelttik ve kodu dağıttık. Kaydolduk, giriş yaptık ve sohbet özelliğini denedik. Kayıtlı bir kullanıcıdan diğerine mesaj gönderebiliyorken, mesaj balonlarının rengi ve düzeni biraz bozuktu. Ancak, tamamlanması bir saat 23 dakika süren bir uygulamayı çok sert bir şekilde yargılamayacağız.

ChatGPT: Mükemmel Bir Kodlama Asistanı

ChatGPT açıkça güçlü bir kodlama asistanıdır. Chatbot'un basit ve bazen çok net olmayan talimatlardan etkileyici kodlar çıkarabilmesi, kodlama becerisinin bir kanıtıdır.

Elbette, hala birçok kusuru var. Sınırlı bir bağlam penceresi sorunu ve bağımsız olarak oluşturulmuş birden çok bileşenden mantığı birbirine bağlama yeteneği önemli bir sorundur. Bununla birlikte, yolunuzu biliyorsanız, chatbot oldukça karmaşık web uygulamalarını hızlı bir şekilde oluşturmanıza yardımcı olabilir.