Bob için etkili prompt'lar yazmak
Etkili prompt'lar yazarak Bob'un çıktısını en üst düzeye çıkar.
IBM Bob bir kodlama ve teknoloji asistanıdır, ancak Bob zihin okuyamaz. Bob harika sonuçlar sunmak için senin yönlendirmelerine güvenir. Prompt yazmanın temellerini öğrenmek Bob ile deneyimini geliştirir, zaman kazandırır ve istediğini almanı sağlar.
Prompt nedir?
Prompt, istediğin çıktıyı elde etmek için Bob'a verdiğin bir dizi talimattır. Bir prompt soru, istek veya komut olabilir. "Fransa'nın başkenti nedir?" kadar basit ya da "Sayı listesi alıp ortalamasını döndüren bir Python fonksiyonu yaz" kadar karmaşık olabilir.
Yazılım geliştirme ilkesi olan "garbage in, garbage out" düşün. Bob'a belirsiz veya eksik bir prompt verirsen, belirsiz veya eksik bir yanıt alabilirsin.
Daha yüksek kaliteli prompt'lar yazdığında, daha yüksek kaliteli yanıtlar alırsın. İyi bir prompt açık, spesifik ve Bob'un ne istediğini anlayabilmesi için yeterli bağlam sağlar.
Prompt bileşenleri
Etkili bir prompt yazmak için aşağıdaki bileşenleri dahil etmelisin:
- Talimat: Bob'a hangi görevi gerçekleştireceğini yönlendirir. Talimat "Bu Python fonksiyonunu özetle" veya "Bu API için SBOM oluştur" gibi açık bir komut olarak yazılır. Güçlü talimatlar belirsizliği azaltır ve daha alakalı sonuçlara yol açar.
- Rol: Bob'a yanıt üretirken benimseyeceği belirli bir rol veya persona atar. Örneğin, "Python konusunda uzman kıdemli bir yazılım mühendisisin" diyebilirsin. Bu, Bob'un yanıtını o rolün bakış açısına göre uyarlamasına yardımcı olur.
- Bağlam: Bağlam, Bob'un yanıtını şekillendiren ek arka plan bilgileri veya ayrıntılar sağlar. Bağlam, durumun açıklamasını, tonu, hedef kitleyi veya dahil etmek istediğin temel bilgileri içerebilir. Bağlam, Bob'un görevle uyumlu kalmasına yardımcı olur.
- Örnek: Örnekler, istenen deseni, formatı veya tonu gösteren bir veya daha fazla örnek içerir. Örnekler sunmak, özellikle çıktının belirli bir stil veya yapıyı takip etmesini istediğinde faydalıdır. Örnekler, Bob'un iyi bir yanıtın ne anlama geldiğini anlamasına yardımcı olur.
- İpuçları: Bir ipucu, istediğin yanıt türüne yönlendiren kısa bir metin parçasıdır. İpuçları genellikle Bob'un çıktı üretimini doğru yöne yönlendirmek için prompt'un sonuna yerleştirilir.
Prompt yazma becerilerini geliştirdikçe, prompt'larını yeniden kullanmak ve ekibinle paylaşmak için bir dosyaya kaydedebilirsin.
Prompt en iyi uygulamaları
Aşağıdaki en iyi uygulamalar, Bob için etkili prompt'lar yazmanıza yardımcı olabilir.
- Spesifik ol: Prompt'ın ne kadar spesifik olursa, Bob istediğini o kadar iyi anlayabilir. "Python fonksiyonunu nasıl yazarım?" yerine "Sayı listesi alıp ortalamasını döndüren bir Python fonksiyonunu nasıl yazarım?" diye sor.
- Bağlam sağla: Prompt'ın belirli bir proje veya kod tabanıyla ilgiliyse, bu konuda biraz bağlam sağla. Bu, Bob'un durumuna uygun bir yanıt oluşturmasına yardımcı olur. Belirli dosyaları referans almak için Bob'un @ bağlam mention'larını kullan.
- Görevleri böl: Backlog'daki bir görevi iyileştirirken yaptığın gibi, karmaşık görevleri daha küçük ve yönetilebilir adımlara böl. Bu, Bob'un daha doğru ve odaklı yanıtlar oluşturmasına yardımcı olabilir.
- Örnekler ekle: Yeni bir API ekliyorsan, Bob'a kod tabanındaki iyi yazılmış API'leri örnek olarak incelemesini yönlendir. İstediğin format veya stili göstermek için prompt'ına da örnek ekleyebilirsin.
Prompt yazma
Bu bölümde, Bob için belirsiz bir prompt yazacak ve çıktıyı inceleyeceksin. Daha sonra yanıtın kalitesini artırmak için en iyi uygulamalara dayanarak prompt'ını iyileştireceksin.
Amaç, Bob'un UTC formatında mevcut tarih ve saati yazdıran bir Python fonksiyonu oluşturmasını sağlamaktır. Fonksiyon iyi belgelenmiş ve hata yönetimi içermelidir.
Sohbet arayüzü kapalıysa, gezinme çubuğunun yanındaki Bob simgesine tıklayarak aç veya Option + Command + B (Mac) ya da Ctrl + Alt + B (Windows) kısayolunu kullan.

Sohbet arayüzündeki mod seçiciden Ask'i seç.
Aşağıdaki prompt'ı gir:
Write a Python function that prints the date and time.Bob bir yanıt oluşturacak, ancak tüm gereksinimlerini karşılamayabilir.
from datetime import datetime
def print_datetime():
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))Bob bir fonksiyon oluşturdu, ancak muhtemelen hata yönetimi içermiyordur veya UTC formatında değildir.
Bağlam penceresini temizlemek için yeni bir sohbet başlat.
Şimdi Bob'a bir rol vermek ve daha spesifik talimatlar, örnekler ve bağlam eklemek için prompt'ını iyileştir.
-
Rol ekle: Bob'a, yanıt oluştururken benimsemesi gereken bakış açısını anlamasına yardımcı olmak için bir rol ver. Örneğin, "Python konusunda uzman kıdemli bir yazılım mühendisisin."
-
Spesifik talimatlar ekle: Ne istediğin konusunda net ol. Örneğin, "UTC formatında mevcut tarih ve saati yazdıran bir Python 3 fonksiyonu yaz."
-
Bağlam ekle: Bob'un daha iyi bir yanıt oluşturmasına yardımcı olabilecek ek bilgiler sağla. Örneğin, "Fonksiyon iyi belgelenmiş ve hata yönetimi içermelidir."
-
Örnek: Çıktının nasıl görünmesini istediğinin bir örneğini ekle. Kod tabanında örneklerin varsa, Bob'un @ bağlam mention'larını kullanarak referans gösterebilirsin veya Real Python gibi belgeler ya da yetkili dış kaynaklara bağlantı verebilirsin.
You are a senior software engineer with expertise in Python 3. Write a Python 3 function that prints the current date and time in UTC format. The function should be well documented and include error handling, modeled after https://realpython.com/ref/best-practices/exception-handling/."""
utc_datetime.py — Utility for printing the current UTC date and time.
"""
from datetime import datetime, timezone
def print_utc_datetime() -> None:
"""Print the current date and time in UTC (ISO 8601 format).
Retrieves the current moment from the system clock, attaches UTC timezone
info, formats it as an ISO 8601 string, and writes it to stdout.
Returns:
None
Raises:
OSError: If the system clock cannot be read (e.g., hardware failure or
OS-level permission restrictions).
ValueError: If datetime formatting unexpectedly fails (e.g., year out
of the supported range).
Example:
>>> print_utc_datetime()
Current UTC date and time: 2025-07-15T13:42:00.123456+00:00
"""
try:
now_utc: datetime = datetime.now(tz=timezone.utc)
except OSError as exc:
# System clock is unavailable or inaccessible.
raise OSError("Failed to read the system clock.") from exc
try:
formatted: str = now_utc.isoformat()
except ValueError as exc:
# Extremely unlikely, but guard against out-of-range datetime values.
raise ValueError(
f"Failed to format the datetime object: {now_utc!r}"
) from exc
print(f"Current UTC date and time: {formatted}")
if __name__ == "__main__":
print_utc_datetime()Bob'un yanıtı artık gereksinimlerinle daha iyi uyumlu olmalı ve etkili prompt'lar yazmanın önemini göstermeli.
IBM SkillsBuild
IBM SkillsBuild, yapay zeka ve makine öğrenmesi dahil çeşitli teknoloji alanlarında becerilerini geliştirmene yardımcı olacak kurslar ve kaynaklar sunan ücretsiz bir çevrimiçi öğrenme platformudur. Bob gibi yapay zeka asistanları için etkili prompt'lar yazma ve yazılım geliştirme ile teknolojiyle ilgili diğer konular hakkında kurslar bulabilirsin.
İyi prompt yazma hakkında daha fazla bilgi edinmek için Craft Precise Prompts for AI Models kursunu al.
Sonraki adımlar
Bu eğitimde, etkili bir prompt'ın bileşenlerini öğrendin ve belirsiz bir prompt'ı istediğin çıktıyı güvenilir biçimde üreten bir hale getirdin.
Bob'un otomatik olarak uygulayabileceği yeniden kullanılabilir, tekrarlanabilir bir iş akışına dönüştürmek için Skill kullanmak bölümüne geç.
/init ve AGENTS.md ile bir proje başlatın
/init ile Bob'a konuşmalar ve modlar arasında kalıcı proje bağlamı verin, bu otomatik olarak AGENTS.md dosyaları oluşturur.
Skill oluşturma ve kullanma
Bob'a tekrarlanabilir bir changelog girişi workflow'u öğreten yeniden kullanılabilir bir skill oluştur, ardından onu açıkça çağır ya da Bob'un otomatik olarak etkinleştirmesine izin ver.