Modül 2 · Accessing Claude with the API · ⏱ 4 dakika

Chat exercise

Chat exercise

Orijinal İngilizce video — Anthropic Academy / JWPlayer. Aşağıdaki Türkçe metin dersi birebir özetler.

Bu modül için tahmini süre: 4 dakika

Genel bakış

Şimdiye kadar öğrendiklerinizi pekiştirmek için kısa bir alıştırma yapıyoruz. Jupyter notebook’unuzdan çalışan, terminalde sürekli kullanıcı input’u alıp Claude’a forward eden mini bir chatbot yazacaksınız. Amacımız: önceki bölümdeki add_user_message, add_assistant_message ve chat helper’larını gerçek bir multi-turn konuşmada birleştirmek.

Egzersizin akışı

Hücreyi her çalıştırdığınızda küçük programınız şu adımları izlemeli:

  1. Python’ın built-in input() fonksiyonu ile kullanıcıdan metin iste
  2. Gelen kullanıcı input’unu mesaj listesine user message olarak ekle
  3. chat(messages) ile Claude’dan response al
  4. Claude’un cevabını listeye assistant message olarak ekle
  5. Üretilen metni terminale yazdır
  6. Adım 1’e geri dönerek aynı süreci sonsuza kadar tekrar et

Program konuşmanın tüm geçmişini koruduğu için Claude önceki turlardaki context’i hatırlamaya devam edecek.

Başlangıç şablonu

İşte kullanabileceğiniz boş iskelet:

messages = []

while True:
    user_input = input("You: ")
    # 1. user message ekle
    # 2. chat() çağır
    # 3. assistant message ekle
    # 4. yanıtı yazdır

Çözüm

messages = []

while True:
    user_input = input("You: ")
    add_user_message(messages, user_input)
    answer = chat(messages)
    add_assistant_message(messages, answer)
    print("---")
    print(answer)
    print("---")

Notebook’ta hücreyi çalıştırıp birkaç tur konuşma yapın: örneğin önce “What’s 1+1?” sorun, sonra “Add to that answer” diyerek context’in korunduğunu doğrulayın. Döngüden çıkmak için Jupyter’da interrupt butonunu kullanın.

Temel çıkarımlar

  • Built-in input() fonksiyonu ile basit bir CLI chatbot kurmak chat() helper’ı için iyi bir sandbox sağlar
  • Her turda mesajı listeye eklemek ve listenin tamamını Claude’a göndermek multi-turn context’i korur
  • Assistant’ın yanıtını listeye eklemeyi unutursanız Claude konuşmayı hatırlamaz hale gelir — sık yapılan hata
  • Sonsuz while True döngüsünden Jupyter’da interrupt ile çıkılır; production’da uygun bir exit komutu eklenebilir
  • Bu küçük alıştırma kursun ilerleyen bölümlerinde sistem prompt ve temperature gibi parametrelere geçildiğinde temel alacağımız iskelettir