Section 9/151 menit

9. Instructions dan System Prompt

9. Instructions dan System Prompt

Instructions setara dengan "system prompt" — mendefinisikan persona, aturan, dan konteks tetap untuk satu session.

Mengatur Instructions

swift
// Buat instructions (system prompt)
let instructions = """
Kamu adalah asisten khusus untuk aplikasi belajar Swift bernama Sandbooks. \
Tugasmu adalah menjelaskan konsep Swift dalam Bahasa Indonesia yang mudah dipahami. \
Gunakan contoh kode yang konkret dan relevan. \
Jangan menjawab pertanyaan di luar topik Swift dan iOS development.
"""

let session = LanguageModelSession(instructions: Instructions(instructions))

// Semua respons dalam session ini mengikuti instructions
let response = try await session.respond(to: "Apa bedanya class dan struct di Swift?")
print(response.content)

Instructions dengan Tools

swift
let assistantInstructions = """
Kamu adalah asisten produktivitas personal. \
Kamu memiliki akses ke kalender dan cuaca pengguna. \
Selalu proaktif menyarankan jadwal berdasarkan kondisi cuaca.
"""

let productivitySession = LanguageModelSession(
    instructions: Instructions(assistantInstructions),
    tools: [WeatherTool(), CalendarTool()]
)

Instructions Dinamis

swift
// Sesuaikan instructions berdasarkan profil pengguna
func createPersonalizedSession(for user: UserProfile) -> LanguageModelSession {
    let instructions = """
    Kamu berbicara dengan \(user.name), seorang \(user.role) dengan \(user.experienceYears) tahun pengalaman. \
    Level keahlian: \(user.skillLevel.rawValue). \
    \(user.skillLevel == .beginner ? "Gunakan bahasa sederhana dan hindari jargon teknis." : "Boleh menggunakan terminologi teknis tingkat lanjut.")
    """
    return LanguageModelSession(instructions: Instructions(instructions))
}