0Pricing
AI Prompt Engineering · Pelajaran

Menetapkan Situasi secara Efektif

Pelajari teknik pembingkaian: “Anda adalah...”, “Mengingat bahwa...”, dan “Tujuannya adalah...”

Menetapkan Situasi secara Efektif adalah pelajaran AI Prompt Engineering gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Prompt Engineering, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Prompt Engineering mencakup 4 pelajaran total.

Kerangka Pembuka yang Efektif

Kalimat pertama dalam perintah Anda adalah bagian yang paling penting. Kalimat ini menetapkan konteks operasi model—sudut pandang yang akan digunakannya untuk menafsirkan semua hal setelahnya.

Kerangka pembuka yang efektif meliputi: Anda adalah..., Konteksnya adalah..., Mengingat bahwa..., dan Tujuannya adalah.... Masing-masing mengaktifkan dimensi konteks yang berbeda sebelum tugas sebenarnya dimulai.

Kerangka "Anda Adalah..."

Kerangka Anda adalah... menetapkan persona untuk model. Kerangka ini mengaktifkan kosakata, gaya penalaran, dan prioritas yang terkait dengan peran tersebut.

Kuncinya: berikan rincian. "Anda adalah seorang ahli" masih lemah. "Anda adalah teknisi senior Python dengan pengalaman 10 tahun yang memprioritaskan keterbacaan daripada kecanggihan" lebih kuat.

Kerangka persona paling efektif ketika persona tersebut menyiratkan cara berpikir dan berkomunikasi yang spesifik sesuai kebutuhan Anda.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

persona_prompts = [
    'You are a Socratic philosophy professor. Ask 3 probing questions about this claim: AI will replace programmers.',
    'You are a skeptical venture capitalist who has seen 500 pitches. Give brutal feedback on this pitch: We are building an AI writing assistant.',
    'You are a patient kindergarten teacher. Explain what a computer does in 3 sentences for 5-year-olds.'
]

for prompt in persona_prompts:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=150,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'--- Persona ---')
    print(prompt[:80] + '...')
    print(response.content[0].text.strip())
    print()

Bingkai 'Anda Adalah...' dalam Pesan Sistem

Tempat paling efektif untuk menempatkan bingkai persona adalah pesan sistem, bukan giliran pengguna. Persona dalam pesan sistem tetap aktif sepanjang percakapan — Anda tidak perlu mengulanginya.

Persona sistem yang dirancang dengan baik dapat sepenuhnya mengubah cara asisten AI merespons puluhan pertanyaan lanjutan.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Persona set once in system; stays active for all turns
system_persona = (
    'You are Marcus, a senior software architect at a Fortune 500 company. '
    'You have 20 years of experience with distributed systems. '
    'Your communication style: direct, pragmatic, no buzzwords. '
    'You always ask about scale and failure modes before giving architecture advice. '
    'If a question lacks context, ask one clarifying question before answering.'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[
        {'role': 'system', 'content': system_persona},
        {'role': 'user', 'content': 'Should we use microservices for our new product?'}
    ]
)
print(response.choices[0].message.content)

Bingkai 'Konteksnya Adalah...'

Bingkai Konteksnya adalah... menetapkan latar situasional tanpa memberikan persona. Gunakan bingkai ini ketika Anda ingin model menalar berdasarkan situasi spesifik Anda, bukan mengadopsi suatu karakter.

Bingkai ini sangat efektif untuk tugas teknis dan analitis ketika Anda ingin model menalar sebagai dirinya sendiri, tetapi tetap sepenuhnya memahami batasan Anda.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            'The context is: we are a 5-person startup with $2M in seed funding. '
            'Our Python monolith handles 10,000 users and is starting to show performance issues. '
            'We have one backend engineer and cannot hire more for 6 months. '
            'We need to choose between refactoring the monolith vs migrating to microservices.\n\n'
            'Give a recommendation with 3 supporting reasons. Be direct.'
        )
    }]
)
print(response.content[0].text)

Bingkai 'Dengan Asumsi Bahwa...'

Bingkai Dengan asumsi bahwa... menetapkan premis atau asumsi yang membentuk seluruh respons. Gunakan bingkai ini untuk menetapkan fakta yang harus diperlakukan model sebagai benar untuk keperluan tugas tersebut.

Bingkai ini sangat berguna untuk analisis hipotetis, perencanaan bersyarat, dan penulisan berbasis skenario ketika Anda ingin model menalar dari titik awal tertentu.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

scenarios = [
    'Given that our user base will grow 10x in 6 months, what architecture changes should we make today?',
    'Given that we must launch in 2 weeks with the current team, which features should we cut from the MVP?',
    'Given that our API key was exposed publicly for 3 hours, what steps should we take in the next 24 hours?'
]

for scenario in scenarios:
    response = client.chat.completions.create(
        model='gpt-4o',
        max_tokens=120,
        messages=[{
            'role': 'user',
            'content': scenario + ' (Answer in 3 bullet points.)'
        }]
    )
    print(f'Scenario: {scenario[:60]}...')
    print(response.choices[0].message.content.strip())
    print()

Bingkai 'Tujuannya Adalah...'

Bingkai Tujuannya adalah... menyatakan tujuan akhir dari keluaran. Bingkai ini berbeda dari instruksi tugas — bingkai ini menjelaskan mengapa Anda memerlukan keluaran tersebut dan apa yang harus dicapainya.

Bingkai ini membantu model membuat keputusan kecil yang lebih baik: tingkat daya persuasif yang digunakan, keberatan yang perlu diantisipasi, serta detail yang perlu disertakan atau dihilangkan.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

goal_frames = [
    (
        'The goal is to get the reader to schedule a 30-minute demo call. '
        'Write a 100-word cold outreach email for our AI data pipeline tool '
        'targeting data engineers at e-commerce companies.'
    ),
    (
        'The goal is to help the reader pass a senior Python interview at a FAANG company. '
        'Explain Python decorators with one conceptual explanation and one practical code example.'
    )
]

for prompt in goal_frames:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=200,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print('--- Goal Frame ---')
    print(prompt[:80] + '...')
    print(response.content[0].text.strip())
    print()

Menggabungkan Bingkai Pembuka

Perintah yang paling ampuh menggabungkan beberapa bingkai pembuka sebelum instruksi tugas. Struktur berkinerja tinggi yang umum adalah:

  1. Anda adalah... [persona]
  2. Konteksnya adalah... [situasi]
  3. Tujuannya adalah... [tujuan akhir]
  4. Dengan asumsi bahwa... [asumsi atau batasan utama]
  5. [Instruksi tugas]

Setiap bingkai menambahkan satu lapisan orientasi. Jika digabungkan, bingkai-bingkai tersebut menyisakan sangat sedikit hal yang perlu ditebak oleh model.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

combined_frame_prompt = (
    'You are a senior product manager with 10 years of B2B SaaS experience.\n'
    'The context is: our team is debating whether to build a native mobile app '
    'or keep investing in our responsive web app.\n'
    'The goal is: to help our leadership team make a clear go/no-go decision at '
    'next week\'s board meeting.\n'
    'Given that: we have 3 engineers, $300k runway, and 85% of current users are on desktop.\n\n'
    'Write a 250-word recommendation memo with a clear position (build or wait) '
    'and 3 supporting arguments. End with one risk to monitor.'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': combined_frame_prompt}]
)
print(response.choices[0].message.content)

Menetapkan Nada dan Gaya Bahasa dengan Bingkai

Bingkai pembuka juga dapat menetapkan nada dan gaya bahasa tanpa menggunakan kata 'nada' sama sekali. Mendeskripsikan persona dan situasi secara tersirat menetapkan ragam bahasa:

  • 'Anda adalah mentor yang hangat dan sabar, berbicara kepada siswa yang sedang kesulitan' → secara otomatis hangat dan menyemangati
  • 'Anda adalah perwira logistik militer yang lugas dan tidak bertele-tele' → secara otomatis langsung dan presisi
  • 'Anda adalah jurnalis teknologi jenaka yang menulis untuk Wired' → secara otomatis cerdas dan mudah dipahami
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

frames = [
    'You are a warm, patient mentor. Explain why learning to code is hard but worth it.',
    'You are a no-nonsense military logistics officer. Explain why learning to code is hard but worth it.',
    'You are a witty tech journalist writing for Wired. Explain why learning to code is hard but worth it.'
]

for frame in frames:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=80,
        messages=[{'role': 'user', 'content': frame + ' (2 sentences only)'}]
    )
    print(f'Frame: {frame[:55]}...')
    print(response.content[0].text.strip())
    print()

Menetapkan Ketelitian Analitis dengan Bingkai

Ketika Anda memerlukan analisis yang ketat dan kritis, bukan persetujuan yang antusias, awali dengan bingkai yang secara eksplisit mengaktifkan pola pikir skeptis atau analitis:

  • 'Anda adalah peninjau kritis yang bertugas menemukan kelemahan...'
  • 'Bertindaklah sebagai pihak yang menentang argumen ini dan tantang hal berikut...'
  • 'Anggaplah kebalikan dari pandangan umum sebagai benar, lalu berikan argumen...'
  • 'Bangun argumen terkuat untuk membela argumen terlemah terhadap...'
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

analytical_frames = [
    'You are a critical reviewer whose job is to find fatal flaws. Review this startup idea: a subscription box for AI prompt templates.',
    'Play devil\'s advocate. Challenge this claim: AI will make every knowledge worker 10x more productive.',
    'Steelman the weakest argument against remote work, then give the strongest counter-argument.'
]

for frame in analytical_frames:
    response = client.chat.completions.create(
        model='gpt-4o',
        max_tokens=120,
        messages=[{'role': 'user', 'content': frame + ' (3 sentences max)'}]
    )
    print(f'Frame type: analytical/critical')
    print(f'Prompt: {frame[:60]}...')
    print(response.choices[0].message.content.strip())
    print()

Kapan Tidak Menggunakan Bingkai Persona

Bingkai persona tidak selalu merupakan alat yang tepat. Hindari bingkai ini ketika:

  • Anda memerlukan ekstraksi data objektif — persona menambahkan bias
  • Anda sedang memproses data terstruktur — persona mengganggu
  • Tugasnya murni mekanis — tidak ada penalaran yang terlibat
  • Anda menginginkan penilaian asli model — persona memengaruhi opininya

Untuk tugas seperti 'ubah CSV ini menjadi JSON' atau 'hitung jumlah kalimat dalam paragraf ini', tidak diperlukan bingkai — cukup berikan instruksinya.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Persona frame is unhelpful here — just adds tokens
prompt_with_unnecessary_frame = (
    'You are an expert data processing specialist with years of experience. '
    'Convert the following to JSON: Name: Alice, Age: 30, City: London'
)

# Clean, direct instruction
prompt_direct = (
    'Convert to a JSON object with keys name, age, city:\n'
    'Name: Alice, Age: 30, City: London'
)

for label, prompt in [('WITH UNNECESSARY FRAME', prompt_with_unnecessary_frame), ('DIRECT', prompt_direct)]:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=50,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'[{label}]')
    print(response.content[0].text.strip())
    print()

Menguji Bingkai Anda

Cara terbaik untuk mempelajari bingkai yang cocok untuk kebutuhan Anda adalah menjalankan pengujian A/B: tugas yang sama, bingkai pembuka yang berbeda, lalu bandingkan keluarannya.

Uji dimensi-dimensi berikut:

  • Tanpa bingkai dibandingkan dengan bingkai persona
  • Persona yang samar dibandingkan dengan persona yang spesifik
  • Hanya bingkai konteks dibandingkan dengan bingkai konteks + tujuan
  • Satu bingkai dibandingkan dengan bingkai gabungan

Catat bingkai mana yang menghasilkan keluaran terbaik untuk setiap kategori tugas dalam pekerjaan Anda.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

task = 'Explain the pros and cons of using TypeScript over JavaScript.'

frames = {
    'No frame':       task,
    'Persona frame':  f'You are a TypeScript advocate who also knows JavaScript deeply. {task}',
    'Goal frame':     f'The goal is to help a JavaScript developer decide if switching to TypeScript is worth it. {task}',
    'Combined frame': f'You are a pragmatic senior engineer. The goal is to help a JavaScript developer decide. {task} Give a balanced view in 3 bullet points.'
}

for label, prompt in frames.items():
    response = client.chat.completions.create(
        model='gpt-4o', max_tokens=80,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'[{label}]: {response.choices[0].message.content.strip()[:120]}...')
    print()

Pemeriksaan Pengetahuan

Seorang pengembang ingin AI memberikan masukan yang kritis dan keras terhadap dek presentasi pitch perusahaan rintisannya — bukan masukan yang menyemangati, bukan pula masukan yang berimbang, melainkan kritik yang sepenuhnya berlawanan. Bingkai pembuka mana yang paling efektif untuk mencapai hal ini?

Menetapkan Adegan — Ringkasan

Bingkai pembuka mengorientasikan model sebelum model membaca instruksi tugas Anda. Empat bingkai yang paling efektif:

  • 'Anda adalah...': memberikan persona dengan keahlian, gaya komunikasi, dan prioritas tertentu
  • 'Konteksnya adalah...': menetapkan latar situasional tanpa persona
  • 'Dengan asumsi bahwa...': menetapkan premis atau batasan yang harus diperlakukan model sebagai benar
  • 'Tujuannya adalah...': mendefinisikan tujuan akhir dari keluaran

Gabungkan bingkai untuk tugas yang kompleks. Jangan gunakan bingkai untuk tugas yang murni mekanis. Uji variasi bingkai untuk menemukan yang paling sesuai dengan kebutuhan Anda.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menetapkan Situasi secara Efektif” gratis?

Ya — teks lengkap “Menetapkan Situasi secara Efektif” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Prompt Engineering, upgrade ke CoddyKit PRO. Kursus AI Prompt Engineering mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menetapkan Situasi secara Efektif”?

Pelajari teknik pembingkaian: “Anda adalah...”, “Mengingat bahwa...”, dan “Tujuannya adalah...” Kamu berlatih AI Prompt Engineering dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AI Prompt Engineering?

Tidak diperlukan pengalaman sebelumnya. AI Prompt Engineering di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Menetapkan Situasi secara Efektif” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Prompt Engineering ini?

Ya. Setiap pelajaran AI Prompt Engineering menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Makna Konteks dalam Pemberian Prompt kepada Kecerdasan Buatan
  2. Memberikan Informasi Latar
  3. Menetapkan Situasi secara Efektif
  4. Panjang dan Relevansi Konteks
← Kembali ke AI Prompt Engineering