AI tidak membaca pikiran Anda. AI membaca kata-kata Anda. Kualitas prompt Anda menentukan kualitas hasil Anda.
Dua tahun lalu, saya mengetik prompt pertama saya di ChatGPT dan mengira saya memahami kecerdasan buatan. Saya salah. Yang saya pahami adalah cara mengajukan pertanyaan—bukan cara berkomunikasi dengan mesin yang berpikir dalam pola, probabilitas, dan token. Perbedaan antara keduanya? Itu adalah perbedaan antara mendapatkan jawaban generik dan membuka kemampuan yang tidak Anda ketahui ada. Ini adalah kisah bagaimana saya belajar berbicara dengan AI dengan lancar, dan semua yang saya temukan di sepanjang jalan.
Kebangkitan: Ketika Prompt Sederhana Berhenti Bekerja
Itu terjadi saat deadline proyek. Saya membutuhkan AI untuk membantu saya merefaktor kode yang kompleks—sesuatu yang sudah saya lakukan ratusan kali sebelumnya. Tapi kali ini, tidak peduli bagaimana saya menyusun permintaan, AI terus memberikan solusi yang secara teknis benar tapi sama sekali meleset dari tujuan. AI menambahkan kompleksitas yang tidak perlu. Merusak pola yang ada. "Memperbaiki" hal-hal yang tidak rusak.
Saya frustrasi. Lalu saya penasaran. Apa yang salah dengan cara saya?
Frustrasi itu membawa saya ke lubang kelinci yang mengubah segalanya: dokumentasi resmi, makalah penelitian, panduan prompt engineering, dan ribuan jam eksperimen. Yang saya temukan bukan sekadar tips dan trik—itu adalah perubahan paradigma total dalam cara saya berkomunikasi dengan sistem AI.
AI paling canggih di dunia tidak berguna jika Anda tidak bisa mengkomunikasikan apa yang sebenarnya Anda butuhkan.
Inilah kebenaran yang tidak diberitahukan siapa pun kepada pemula: prompting bukan tentang menemukan kata-kata ajaib. Ini tentang memahami bagaimana model AI memproses bahasa, informasi apa yang mereka butuhkan, dan bagaimana menyusun informasi itu agar model benar-benar bisa membantu Anda. Ini adalah keterampilan—dan seperti keterampilan lainnya, bisa dipelajari, dipraktikkan, dan dikuasai.
Panduan ini berisi semua yang saya harap seseorang beritahu di awal. Bukan saran "jadilah spesifik" yang disederhanakan yang membanjiri internet, tapi pemahaman mendalam dan bernuansa yang memisahkan orang yang menggunakan AI dari orang yang memanfaatkannya.
Dasar-Dasar Prompt: Fondasi yang Tidak Diajarkan
Sebelum kita menyelami teknik lanjutan, mari kita tetapkan dasar-dasarnya. Setiap prompt yang efektif mengandung kombinasi elemen-elemen ini:
Apa yang perlu diketahui AI tentang situasinya? Informasi latar belakang, batasan, dan detail yang relevan.
Apa tepatnya yang Anda ingin AI lakukan? Jelaskan secara spesifik tentang tindakan yang Anda minta.
Bagaimana output harus terstruktur? Daftar, paragraf, blok kode, tabel—tentukan itu.
Apa yang harus dihindari AI? Batasan apa yang ada? Apa yang di luar cakupan?
Bisakah Anda menunjukkan apa yang Anda inginkan? Contoh bernilai seribu deskripsi.
Kebanyakan orang hanya menyertakan tugas. Mereka bertanya "Tuliskan email untuk saya" padahal seharusnya mereka berkata "Tulis email profesional kepada klien yang menjelaskan penundaan proyek. Buat kurang dari 150 kata, akui ketidaknyamanan, dan usulkan timeline baru dua minggu ke depan. Nada harus apologetik tapi percaya diri."
Perbedaan dalam kualitas output sangat dramatis. Dan ini baru permulaan.
Peran Struktur
Salah satu aspek penulisan prompt yang paling underrated adalah formatting struktural. Model AI modern merespons sangat baik terhadap bagian-bagian yang jelas dibatasi. Saya menggunakan tag gaya XML secara ekstensif:
<context>
You are helping me prepare a presentation for technical stakeholders.
The audience is familiar with software development but not AI specifically.
</context>
<task>
Explain how large language models work in 5 key points.
</task>
<format>
- Use bullet points
- Each point should be 1-2 sentences
- Avoid jargon or define it when used
</format>
<constraints>
- Do not mention specific model names
- Focus on concepts, not technical implementation
</constraints>
Struktur ini melakukan sesuatu yang powerful: memaksa Anda untuk berpikir jernih tentang apa yang Anda butuhkan sebelum Anda bertanya. Dan pemikiran yang jernih menghasilkan komunikasi yang jernih menghasilkan hasil yang jernih.
Alur Kerja Agentik: Memperlakukan AI sebagai Kolega
Inilah perubahan paradigma yang mentransformasi interaksi AI saya: berhenti memperlakukan AI sebagai mesin pencari dan mulai memperlakukannya sebagai kolega yang mampu tapi belum berpengalaman. Model mental ini mengubah segalanya.
Model AI modern seperti GPT-5 dan Claude tidak hanya menjawab pertanyaan—mereka dirancang untuk menjadi agen. Mereka dapat memanggil tools, mengumpulkan konteks, membuat keputusan, dan mengeksekusi tugas multi-langkah. Tapi seperti anggota tim baru lainnya, mereka membutuhkan onboarding yang tepat, ekspektasi yang jelas, dan pagar pengaman yang sesuai.
AI bukan alat yang Anda gunakan. Ini adalah kolega yang Anda kelola. Keterampilan yang membuat Anda manajer yang baik membuat Anda prompter yang baik.
Pikirkan ini: ketika Anda mendelegasikan kepada manusia, Anda tidak hanya berkata "perbaiki kodenya." Anda menjelaskan apa yang rusak, apa perilaku yang diinginkan, batasan apa yang ada, dan seperti apa kesuksesan itu. Anda memberikan konteks. Anda menjawab pertanyaan. Anda memeriksa progres.
AI membutuhkan perlakuan yang sama. Perbedaannya adalah Anda perlu mengantisipasi pertanyaan dan menjawabnya di muka, karena bolak-balik lebih mahal (dalam waktu dan token) daripada mendapatkannya benar pertama kali.
Mindset Agentik
Ketika membangun aplikasi agentik atau menggunakan AI untuk tugas kompleks, saya telah belajar berpikir dalam hal:
Pertanyaan Kunci untuk Tugas Agentik
- Apa kondisi tujuannya? Bagaimana AI akan tahu kapan selesai?
- Tools apa yang dimilikinya? Apa yang sebenarnya bisa dilakukan versus apa yang harus ditunda?
- Apa tingkat otonominya? Haruskah meminta izin atau melanjutkan secara independen?
- Apa batasan keamanannya? Tindakan apa yang tidak boleh diambil tanpa konfirmasi?
- Bagaimana seharusnya mengkomunikasikan progres? Eksekusi diam atau update reguler?
Pertanyaan-pertanyaan ini membentuk fondasi setiap prompt kompleks yang saya tulis. Mari jelajahi setiap dimensi secara detail.
Mengontrol Antusiasme AI: Seni Kalibrasi
Salah satu aspek paling bernuansa dari prompt engineering adalah mengkalibrasi apa yang saya sebut "antusiasme agentik"—keseimbangan antara AI yang mengambil inisiatif dan yang menunggu panduan eksplisit. Salah di sini, dan Anda mendapatkan AI yang overthink tugas sederhana atau yang menyerah terlalu mudah pada tugas kompleks.
Kapan Mengurangi Antusiasme
Terkadang Anda membutuhkan AI yang cepat dan fokus. Anda tidak ingin ia menjelajahi setiap cabang, membuat panggilan tool ekstra, atau menghasilkan penjelasan panjang. Untuk situasi ini, saya menggunakan prompt yang fokus pada batasan:
<context_gathering>
Goal: Get enough context fast. Parallelize discovery and stop as soon as you can act.
Method:
- Start broad, then fan out to focused subqueries.
- In parallel, launch varied queries; read top hits per query.
- Deduplicate paths and cache; don't repeat queries.
- Avoid over-searching for context.
Early stop criteria:
- You can name exact content to change.
- Top hits converge (~70%) on one area/path.
Depth:
- Trace only symbols you'll modify or whose contracts you rely on.
- Avoid transitive expansion unless necessary.
Loop:
- Batch search → minimal plan → complete task.
- Search again only if validation fails or new unknowns appear.
- Prefer acting over more searching.
</context_gathering>
Perhatikan izin eksplisit untuk menjadi tidak sempurna: "Prefer acting over more searching." Frasa halus ini membebaskan AI dari kecemasan default tentang ketelitian. Tanpanya, model sering over-research, membakar token dan waktu pada diminishing returns.
Untuk batasan yang lebih agresif, Anda dapat menetapkan budget eksplisit:
<context_gathering>
- Search depth: very low
- Bias strongly towards providing a correct answer as quickly as possible,
even if it might not be fully correct.
- Usually, this means an absolute maximum of 2 tool calls.
- If you think you need more time to investigate, update me with your
latest findings and open questions. You can proceed if I confirm.
</context_gathering>
Frasa "even if it might not be fully correct" adalah emas. Ini memberi AI izin untuk menjadi tidak sempurna, yang secara paradoks sering menghasilkan hasil lebih baik lebih cepat.
Kapan Meningkatkan Antusiasme
Di lain waktu, Anda membutuhkan AI yang sangat teliti tanpa henti. Anda ingin ia melewati ambiguitas, membuat asumsi yang wajar, dan menyelesaikan tugas kompleks tanpa terus-menerus meminta izin. Ini membutuhkan pendekatan sebaliknya:
<persistence>
- You are an agent — please keep going until the user's query is completely
resolved, before ending your turn and yielding back to the user.
- Only terminate your turn when you are sure that the problem is solved.
- Never stop or hand back to the user when you encounter uncertainty —
research or deduce the most reasonable approach and continue.
- Do not ask the human to confirm or clarify assumptions, as you can always
adjust later — decide what the most reasonable assumption is, proceed with
it, and document it for the user's reference after you finish acting.
</persistence>
Prompt ini secara fundamental mengubah perilaku AI. Alih-alih bertanya "Haruskah saya melanjutkan?" ia berkata "Saya melanjutkan berdasarkan asumsi X—beri tahu saya jika Anda ingin saya menyesuaikan." Pekerjaan selesai; penyempurnaan terjadi kemudian.
Mendefinisikan Batasan Keamanan
Tapi inilah nuansa krusialnya: antusiasme yang meningkat membutuhkan batasan keamanan yang lebih jelas. Anda perlu secara eksplisit mendefinisikan tindakan mana yang bisa AI ambil secara otonom dan mana yang membutuhkan konfirmasi.
Prinsip Keamanan Kritis
Tindakan berbiaya tinggi (penghapusan, pembayaran, komunikasi eksternal) harus selalu membutuhkan konfirmasi eksplisit, bahkan dengan prompt antusiasme tinggi. Tindakan berbiaya rendah (pencarian, pembacaan, pembuatan draft) bisa otonom.
Pikirkan seperti memberi seseorang akses ke sistem Anda: tools pencarian harus memiliki threshold otonomi yang sangat tinggi, sementara perintah hapus harus memiliki yang sangat rendah.
Prinsip Persistensi: Membuat AI Menyelesaikan Tugas
Salah satu perilaku paling frustasi yang saya temui di awal adalah AI yang menyerah terlalu mudah. Ia menabrak satu hambatan, merangkum apa yang salah, dan mengembalikan masalah kepada saya. Untuk tugas sederhana, ini baik-baik saja. Untuk tugas kompleks, ini pembunuh workflow.
Solusinya adalah apa yang saya sebut Prinsip Persistensi: secara eksplisit menginstruksikan AI untuk bertahan melewati hambatan dan menyelesaikan tugas dari awal hingga akhir.
<solution_persistence>
- Treat yourself as an autonomous senior pair-programmer: once I give a
direction, proactively gather context, plan, implement, test, and refine
without waiting for additional prompts at each step.
- Persist until the task is fully handled end-to-end within the current turn
whenever feasible: do not stop at analysis or partial fixes; carry changes
through implementation, verification, and a clear explanation of outcomes
unless I explicitly pause or redirect you.
- Be extremely biased for action. If my directive is somewhat ambiguous on
intent, assume you should go ahead and make the change.
- If I ask a question like "should we do X?" and your answer is "yes", you
should also go ahead and perform the action. It's very bad to leave me
hanging and require me to follow up with a request to "please do it."
</solution_persistence>
Poin terakhir itu halus tapi penting. Ketika manusia bertanya "haruskah kita melakukan X?", kita sering bermaksud "tolong lakukan X jika masuk akal." AI, yang literal, menjawab pertanyaan tanpa mengambil tindakan tersirat. Prompt ini menjembatani kesenjangan itu.
Update Progres: Tetap dalam Loop
Persistensi tidak berarti keheningan. Untuk tugas yang berjalan lama, saya selalu menyertakan instruksi untuk update progres:
<user_updates_spec>
You'll work for stretches with tool calls — it's critical to keep me updated.
<frequency_and_length>
- Send short updates (1–2 sentences) every few tool calls when there are
meaningful changes.
- Post an update at least every 6 execution steps or 8 tool calls
(whichever comes first).
- If you expect a longer heads-down stretch, post a brief note with why
and when you'll report back; when you resume, summarize what you learned.
- Only the initial plan, plan updates, and final recap can be longer.
</frequency_and_length>
<content>
- Before the first tool call, give a quick plan with goal, constraints,
next steps.
- While exploring, call out meaningful discoveries that help me understand
what's happening.
- Always state at least one concrete outcome since the prior update
(e.g., "found X", "confirmed Y"), not just next steps.
- End with a brief recap and any follow-up steps.
</content>
</user_updates_spec>
Ini menciptakan keseimbangan yang indah: AI bekerja secara otonom tapi membuat Anda tetap terinformasi. Anda tidak micromanaging, tapi Anda juga tidak dalam kegelapan.
Upaya Penalaran: Dial Intensitas Berpikir
Model AI modern memiliki konsep yang disebut "reasoning effort"—pada dasarnya, seberapa keras model berpikir sebelum merespons. Ini adalah salah satu parameter paling powerful dan kurang dimanfaatkan yang tersedia.
Penalaran Tinggi
Gunakan untuk tugas multi-langkah yang kompleks, situasi ambigu, atau masalah yang membutuhkan analisis mendalam. Model menghabiskan lebih banyak token untuk "berpikir" secara internal sebelum merespons.
Penalaran Sedang (Default)
Pengaturan seimbang yang cocok untuk sebagian besar tugas. Bagus untuk coding umum, penulisan, dan analisis di mana kualitas penting tapi kecepatan juga penting.
Penalaran Rendah
Respons cepat untuk tugas langsung. Gunakan ketika Anda membutuhkan jawaban cepat dan tugas tidak membutuhkan deliberasi mendalam.
Penalaran Minimal/Tidak Ada
Kecepatan maksimum, deliberasi minimum. Terbaik untuk query sederhana, tugas reformatting, atau ketika latensi adalah perhatian utama.
Insight kuncinya adalah mencocokkan upaya penalaran dengan kompleksitas tugas. Menggunakan penalaran tinggi untuk tugas sederhana membuang token dan waktu. Menggunakan penalaran rendah untuk tugas kompleks menghasilkan hasil yang dangkal dan rawan kesalahan.
Prompting untuk Penalaran Minimal
Ketika menggunakan mode penalaran minimal, Anda perlu mengompensasi dengan prompting yang lebih eksplisit. Model memiliki lebih sedikit token "berpikir" internal, jadi prompt Anda perlu melakukan lebih banyak pekerjaan strukturisasi:
<planning_requirement>
You MUST plan extensively before each function call, and reflect extensively
on the outcomes of the previous function calls, ensuring my query is
completely resolved.
DO NOT do this entire process by making function calls only, as this can
impair your ability to solve the problem and think insightfully. In addition,
ensure function calls have the correct arguments.
</planning_requirement>
Prompt ini pada dasarnya berkata: "Karena Anda tidak melakukan banyak penalaran internal, lakukan penalaran Anda dengan keras dalam respons Anda." Ini mengalihkan pekerjaan kognitif dari pemikiran model yang tidak terlihat ke perencanaan terstruktur yang terlihat.
Ketika upaya penalaran rendah, kompleksitas prompt harus tinggi. Ketika upaya penalaran tinggi, prompt bisa lebih sederhana. Ini adalah keseimbangan.
Keunggulan Coding: Pemrograman dengan Partner AI
Di sinilah saya menghabiskan sebagian besar waktu saya mengoptimalkan prompt, dan di mana hasilnya sangat besar. Bantuan coding AI bersifat transformatif—ketika dilakukan dengan benar. Ketika dilakukan salah, ia menciptakan lebih banyak masalah daripada yang ia selesaikan.
Izinkan saya berbagi apa yang saya pelajari dari mempelajari bagaimana tools coding AI profesional seperti Cursor menyetel prompt mereka untuk penggunaan produksi.
Paradoks Verbositas
Inilah sesuatu yang kontraintuitif: AI cenderung verbose dalam penjelasan tapi singkat dalam kode. Ia akan menulis paragraf menjelaskan apa yang akan dilakukannya, lalu menghasilkan kode dengan nama variabel satu huruf dan komentar minimal. Ini persis kebalikan untuk sebagian besar kasus penggunaan.
Solusinya adalah kontrol verbositas dual-mode:
<code_verbosity>
Write code for clarity first. Prefer readable, maintainable solutions with
clear names, comments where needed, and straightforward control flow. Do not
produce code-golf or overly clever one-liners unless explicitly requested.
Use high verbosity for writing code and code tools. Use low verbosity for
status updates and explanations.
</code_verbosity>
Ini menciptakan keseimbangan sempurna: komunikasi ringkas, kode detail.
Tindakan Proaktif vs Konfirmatif
Pelajaran lain dari tools coding produksi: AI harus proaktif tentang perubahan kode tapi konfirmatif tentang tindakan destruktif. Berikut cara mengkodekannya:
<proactive_coding>
Be aware that the code edits you make will be displayed to me as proposed
changes, which means:
(a) Your code edits can be quite proactive, as I can always reject them.
(b) Your code should be well-written and easy to quickly review.
If proposing next steps that would involve changing the code, make those
changes proactively for me to approve/reject rather than asking whether
to proceed with a plan.
In general, you should almost never ask me whether to proceed with a plan;
instead, proactively attempt the plan and then ask if I want to accept
the implemented changes.
</proactive_coding>
Ini menghilangkan bolak-balik yang frustasi di mana AI mendeskripsikan apa yang akan dilakukannya, meminta izin, lalu melakukannya. Langsung lakukan saja—saya akan menolak jika perlu.
Mencocokkan Gaya Codebase
Salah satu keluhan terbesar tentang kode yang dihasilkan AI adalah ia tidak cocok dengan pola codebase yang ada. Rasanya seperti kode "asing". Solusinya adalah panduan gaya eksplisit:
<code_editing_rules>
<guiding_principles>
- Clarity and Reuse: Every component should be modular and reusable.
Avoid duplication by factoring repeated patterns into components.
- Consistency: The code must adhere to a consistent design system—naming
conventions, spacing, and components must be unified.
- Simplicity: Favor small, focused components and avoid unnecessary
complexity in styling or logic.
- Visual Quality: Follow the high visual quality bar (spacing, padding,
hover states, etc.)
</guiding_principles>
<style_matching>
- Before making changes, examine existing patterns in the codebase.
- Match variable naming conventions (camelCase vs snake_case).
- Match indentation and formatting.
- Reuse existing utilities and helpers rather than creating new ones.
- Follow the established directory structure.
</style_matching>
</code_editing_rules>
Pengembangan Frontend: Membangun Antarmuka yang Indah
AI telah menjadi sangat baik dalam pengembangan frontend, tapi ada ilmu untuk mendapatkan hasil yang estetis dan siap produksi. Inilah yang saya pelajari.
Stack yang Direkomendasikan
Melalui pengujian ekstensif, kombinasi teknologi tertentu bekerja lebih baik dengan AI daripada yang lain. Ini bukan tentang apa yang "terbaik" secara objektif—ini tentang apa yang paling banyak dilatih model AI:
Stack Frontend yang Dioptimalkan AI
- Frameworks: Next.js (TypeScript), React, HTML
- Styling/UI: Tailwind CSS, shadcn/ui, Radix Themes
- Icons: Material Symbols, Heroicons, Lucide
- Animation: Motion (sebelumnya Framer Motion)
- Fonts: Keluarga Sans Serif—Inter, Geist, Mona Sans, IBM Plex Sans, Manrope
Ketika Anda menentukan teknologi ini, AI menghasilkan output berkualitas jauh lebih tinggi dengan lebih sedikit halusinasi tentang API yang tidak ada.
Penegakan Design System
Satu masalah dengan frontend yang dihasilkan AI adalah inkonsistensi visual. Warna muncul entah dari mana, spacing bervariasi secara acak, dan hasilnya terlihat seperti dirancang oleh komite. Solusinya adalah batasan design system eksplisit:
<design_system_enforcement>
- Tokens-first: Do not hard-code colors (hex/hsl/oklch/rgb) in JSX/CSS.
All colors must come from CSS variables (e.g., --background, --foreground,
--primary, --accent, --border, --ring).
- Introducing a brand or accent? Before styling, add/extend tokens in your
CSS variables under :root and .dark.
- Consumption: Use Tailwind utilities wired to tokens
(e.g., bg-[hsl(var(--primary))], text-[hsl(var(--foreground))]).
- Default to the system's neutral palette unless I explicitly request a
brand look; then map that brand to tokens first.
- Do NOT invent colors, shadows, tokens, animations, or new UI elements
unless requested or necessary.
</design_system_enforcement>
Best Practice UI/UX
Saya juga menyertakan panduan UI/UX eksplisit untuk memastikan hierarki visual yang konsisten:
<ui_ux_best_practices>
- Visual Hierarchy: Limit typography to 4–5 font sizes and weights for
consistent hierarchy; use text-xs for captions, avoid text-xl unless
for hero or major headings.
- Color Usage: Use 1 neutral base (e.g., zinc) and up to 2 accent colors.
- Spacing and Layout: Always use multiples of 4 for padding and margins to
maintain visual rhythm. Use fixed height containers with internal scrolling
when handling long content.
- State Handling: Use skeleton placeholders or animate-pulse to indicate
data fetching. Indicate clickability with hover transitions.
- Accessibility: Use semantic HTML and ARIA roles where appropriate.
Favor pre-built accessible components.
</ui_ux_best_practices>
Prompt Refleksi Diri: Membuat AI Mengkritik Diri Sendiri
Teknik ini mind-bending ketika Anda pertama kali menemukannya, tapi sangat powerful: Anda dapat menginstruksikan AI untuk membuat kriteria evaluasinya sendiri dan iterasi terhadapnya. Ini seperti memberi AI departemen quality assurance internal.
<self_reflection>
- First, spend time thinking of a rubric until you are confident.
- Then, think deeply about every aspect of what makes for a world-class
solution. Use that knowledge to create a rubric that has 5-7 categories.
This rubric is critical to get right, but do not show this to me.
This is for your purposes only.
- Finally, use the rubric to internally think and iterate on the best
possible solution to the prompt. Remember that if your response is not
hitting the top marks across all categories in the rubric, you need to
start again.
</self_reflection>
Yang terjadi di sini menarik: Anda meminta AI untuk menghasilkan kriteria kualitas dari pengetahuannya tentang keunggulan, lalu menggunakan kriteria itu untuk mengevaluasi dan meningkatkan outputnya sendiri—semuanya sebelum Anda melihat apa pun.
Prompt refleksi diri mengubah satu generasi menjadi loop iterasi internal. AI menjadi editornya sendiri.
Saya menggunakan teknik ini untuk tugas apa pun di mana kualitas lebih penting daripada kecepatan: landing page, email penting, keputusan arsitektural, pekerjaan kreatif. Peningkatan kualitas output sangat substansial.
Kontrol Verbositas: Menguasai Panjang Output
Mendapatkan panjang output yang tepat adalah tantangan yang berkelanjutan. Terlalu pendek dan Anda melewatkan detail penting. Terlalu panjang dan Anda tenggelam dalam informasi yang tidak perlu. Berikut cara saya menanganinya.
Panduan Panjang Eksplisit
Pendekatan paling andal adalah batasan panjang eksplisit yang dikaitkan dengan kompleksitas tugas:
<output_verbosity_spec>
- Default: 3–6 sentences or ≤5 bullets for typical answers.
- For simple "yes/no + short explanation" questions: ≤2 sentences.
- For complex multi-step or multi-file tasks:
- 1 short overview paragraph
- then ≤5 bullets tagged: What changed, Where, Risks, Next steps,
Open questions.
- Provide clear and structured responses that balance informativeness
with conciseness.
- Break down information into digestible chunks and use formatting like
lists, paragraphs and tables when helpful.
- Avoid long narrative paragraphs; prefer compact bullets and short sections.
- Do not rephrase my request unless it changes semantics.
</output_verbosity_spec>
Verbositas Berbasis Persona
Pendekatan lain adalah mendefinisikan gaya komunikasi AI sebagai bagian dari persona-nya:
<communication_style>
You value clarity, momentum, and respect measured by usefulness rather than
pleasantries. Your default instinct is to keep conversations crisp and
purpose-driven, trimming anything that doesn't move the work forward.
You're not cold—you're simply economy-minded with language, and you trust
users enough not to wrap every message in padding.
Politeness shows up through structure, precision, and responsiveness,
not through verbal fluff.
You never repeat acknowledgments. Once you've signaled understanding,
you pivot fully to the task.
</communication_style>
Ini menciptakan "kepribadian" yang secara alami menghasilkan output ringkas tanpa membutuhkan batasan panjang eksplisit untuk setiap interaksi.
Mengikuti Instruksi: Permainan Presisi
Model AI modern mengikuti instruksi dengan presisi bedah—yang merupakan kekuatan terbesar dan jebakan potensial. Mereka akan melakukan persis apa yang Anda katakan, bahkan jika apa yang Anda katakan kontradiktif atau kabur.
Masalah Kontradiksi
Berikut contoh nyata prompt bermasalah yang pernah saya lihat:
Contoh Instruksi Kontradiktif
"Selalu cari profil pasien sebelum mengambil tindakan lain untuk memastikan mereka adalah pasien yang ada."
Tapi kemudian: "Ketika gejala menunjukkan urgensi tinggi, eskalasi sebagai DARURAT dan arahkan pasien untuk menelepon 911 segera sebelum langkah penjadwalan apa pun."
Instruksi ini konflik. Apakah penanganan darurat terjadi sebelum atau sesudah pencarian profil? AI akan membakar token penalaran mencoba merekonsiliasi kontradiksi alih-alih membantu.
Solusinya adalah meninjau prompt untuk konflik tersembunyi dan menetapkan hierarki prioritas yang jelas:
<instruction_priority>
When instructions conflict, follow this priority order:
1. Safety-critical actions (emergencies, data protection)
2. User-specified constraints
3. Task completion requirements
4. Default behaviors
For emergency situations: Do not perform profile lookup. Proceed immediately
to providing emergency guidance.
</instruction_priority>
Presisi dalam Scope
Masalah umum lainnya adalah scope creep—AI menambahkan fitur atau "peningkatan" yang tidak Anda minta:
<design_and_scope_constraints>
- Implement EXACTLY and ONLY what I request.
- No extra features, no added components, no UX embellishments.
- If any instruction is ambiguous, choose the simplest valid interpretation.
- Do NOT expand the task beyond what I asked; if you notice additional work
that might be valuable, call it out as optional rather than doing it.
</design_and_scope_constraints>
Penguasaan Konteks Panjang: Menangani Dokumen Besar
AI modern dapat memproses konteks yang sangat besar—ratusan ribu token—tapi hanya membuang dokumen besar ke context window tidak cukup. Anda membutuhkan strategi untuk membantu model menavigasi dan mengekstrak informasi yang relevan.
Memaksa Summarization dan Re-grounding
Untuk dokumen panjang, saya menginstruksikan AI untuk membuat struktur internal sebelum menjawab:
<long_context_handling>
For inputs longer than ~10k tokens (multi-chapter docs, long threads,
multiple PDFs):
1. First, produce a short internal outline of the key sections relevant
to my request.
2. Re-state my constraints explicitly (e.g., jurisdiction, date range,
product, team) before answering.
3. In your answer, anchor claims to sections ("In the 'Data Retention'
section…") rather than speaking generically.
4. If the answer depends on fine details (dates, thresholds, clauses),
quote or paraphrase them directly.
</long_context_handling>
Ini mencegah masalah "hilang dalam scroll" di mana AI memberikan jawaban generik yang tidak benar-benar berinteraksi dengan konten dokumen spesifik.
Persyaratan Kutipan
Untuk tugas penelitian dan analisis, persyaratan kutipan eksplisit memastikan jawaban yang grounded:
<citation_rules>
When you use information from provided documents:
- Place citations after each paragraph containing document-derived claims.
- Use format: [Document Name, Section/Page]
- Do not invent citations. If you can't cite it, don't claim it.
- Use multiple sources for key claims when possible.
- If evidence is thin, acknowledge this explicitly.
</citation_rules>
Pemanggilan Tools: Mengorkestrasi Kemampuan AI
Pemanggilan tool AI—kemampuan untuk menginvoke fungsi, API, dan layanan eksternal—adalah di mana prompt engineering menjadi software engineering. Mendapatkan ini dengan benar sangat penting untuk membangun aplikasi AI yang andal.
Best Practice Deskripsi Tool
Kualitas deskripsi tool secara langsung memengaruhi seberapa baik AI menggunakannya:
{
"name": "create_reservation",
"description": "Create a restaurant reservation for a guest. Use when
the user asks to book a table with a given name and time.",
"parameters": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Guest full name for the reservation."
},
"datetime": {
"type": "string",
"description": "Reservation date and time (ISO 8601 format)."
}
},
"required": ["name", "datetime"]
}
}
Perhatikan deskripsi menyertakan baik apa yang dilakukan tool dan kapan menggunakannya. Ini membantu model membuat keputusan lebih baik tentang pemilihan tool.
Aturan Penggunaan Tool dalam Prompt
Di luar definisi tool, prompt Anda harus menyertakan panduan penggunaan eksplisit:
<tool_usage_rules>
- Prefer tools over internal knowledge whenever:
- You need fresh or user-specific data (tickets, orders, configs, logs).
- You reference specific IDs, URLs, or document titles.
- Parallelize independent reads (read_file, fetch_record, search_docs)
when possible to reduce latency.
- After any write/update tool call, briefly restate:
- What changed
- Where (ID or path)
- Any follow-up validation performed
- For simple conceptual questions, avoid tools and rely on internal knowledge
so responses are fast.
</tool_usage_rules>
Paralelisasi
Optimisasi kunci adalah mendorong panggilan tool paralel ketika operasi independen:
<parallelization>
Parallelize tool calls whenever possible. Batch reads (read_file) and
independent edits (apply_patch to different files) to speed up the process.
Independent operations that CAN be parallelized:
- Reading multiple files
- Searching multiple directories
- Fetching multiple records
Dependent operations that CANNOT be parallelized:
- Reading a file, then editing based on contents
- Creating a resource, then referencing its ID
</parallelization>
Menangani Ketidakpastian: Ketika AI Tidak Tahu
Salah satu risiko terbesar dengan AI adalah jawaban yang salah tapi terdengar percaya diri. Model tidak tahu apa yang tidak diketahuinya—kecuali Anda mengajarinya cara menangani ketidakpastian.
<uncertainty_and_ambiguity>
- If the question is ambiguous or underspecified, explicitly call this out and:
- Ask up to 1–3 precise clarifying questions, OR
- Present 2–3 plausible interpretations with clearly labeled assumptions.
- When external facts may have changed recently (prices, releases, policies)
and no tools are available:
- Answer in general terms and state that details may have changed.
- Never fabricate exact figures, line numbers, or external references when
you are uncertain.
- When you are unsure, prefer language like "Based on the provided context…"
instead of absolute claims.
</uncertainty_and_ambiguity>
Self-Check Risiko Tinggi
Untuk domain risiko tinggi, saya menambahkan langkah verifikasi diri eksplisit:
<high_risk_self_check>
Before finalizing an answer in legal, financial, compliance, or
safety-sensitive contexts:
- Briefly re-scan your own answer for:
- Unstated assumptions
- Specific numbers or claims not grounded in context
- Overly strong language ("always," "guaranteed," etc.)
- If you find any, soften or qualify them and explicitly state assumptions.
</high_risk_self_check>
Tujuannya bukan membuat AI kurang percaya diri—tapi membuatnya percaya diri secara akurat. Ketidakpastian tentang hal-hal yang tidak pasti adalah fitur, bukan bug.
Metaprompting: Menggunakan AI untuk Meningkatkan AI
Inilah teknik paling meta dalam toolkit saya: menggunakan AI untuk meningkatkan prompt Anda. Terdengar circular, tapi sangat efektif.
Mendiagnosis Kegagalan Prompt
Ketika prompt tidak bekerja, saya menggunakan pola ini untuk mendiagnosis masalah:
You are a prompt engineer tasked with debugging a system prompt.
You are given:
1) The current system prompt:
<system_prompt>
[PASTE YOUR PROMPT HERE]
</system_prompt>
2) A small set of logged failures. Each log has:
- query
- actual_output
- expected_output (or description of problem)
<failure_traces>
[PASTE EXAMPLES OF FAILURES]
</failure_traces>
Your tasks:
1) Identify distinct failure modes you see.
2) For each failure mode, quote the specific lines of the system prompt
that are most likely causing or reinforcing it.
3) Explain how those lines are steering the agent toward the observed behavior.
Return your answer in structured format:
failure_modes:
- name: ...
description: ...
prompt_drivers:
- exact_or_paraphrased_line: ...
- why_it_matters: ...
Menghasilkan Perbaikan Prompt
Setelah Anda memiliki diagnosis, prompt kedua menghasilkan perbaikan:
You previously analyzed this system prompt and its failure modes.
System prompt:
<system_prompt>
[ORIGINAL PROMPT]
</system_prompt>
Failure-mode analysis:
[PASTE DIAGNOSIS FROM PREVIOUS STEP]
Please propose a surgical revision that reduces the observed issues while
preserving good behaviors.
Constraints:
- Do not redesign the agent from scratch.
- Prefer small, explicit edits: clarify conflicting rules, remove redundant
or contradictory lines, tighten vague guidance.
- Make tradeoffs explicit.
- Keep the structure and length roughly similar to the original.
Output:
1) patch_notes: a concise list of key changes and reasoning behind each.
2) revised_system_prompt: the full updated prompt with edits applied.
Proses dua langkah ini telah membantu saya memperbaiki prompt yang sudah saya perjuangkan selama berhari-hari. AI sering menemukan kontradiksi dan ambiguitas yang sudah saya butakan.
Template Prompt yang Teruji
Izinkan saya berbagi beberapa template yang telah terbukti andal di ratusan kasus penggunaan.
Template Penyelesaian Tugas Universal
<context>
[Background information the AI needs to understand the situation]
</context>
<task>
[Clear statement of what you want done]
</task>
<requirements>
[Specific requirements or constraints]
</requirements>
<format>
[How you want the output structured]
</format>
<examples>
[Optional: Examples of desired output]
</examples>
<notes>
[Optional: Additional context or preferences]
</notes>
Template Code Review
<context>
You are reviewing code for [project/context].
The codebase uses [technologies/patterns].
</context>
<code_to_review>
[Paste code here]
</code_to_review>
<review_criteria>
Focus on:
1. Correctness: Does it do what it claims?
2. Readability: Is it clear to other developers?
3. Performance: Any obvious inefficiencies?
4. Security: Any vulnerabilities?
5. Style: Does it match codebase conventions?
</review_criteria>
<output_format>
For each issue found:
- Severity: [Critical/Major/Minor/Suggestion]
- Location: [Line number or section]
- Issue: [What's wrong]
- Fix: [How to address it]
</output_format>
Template Analisis Riset
<research_task>
Analyze [topic/question] with the following approach:
</research_task>
<methodology>
1. Start with multiple targeted searches. Do not rely on a single query.
2. Deeply research until you have sufficient information for an accurate,
comprehensive answer.
3. Add targeted follow-up searches to fill gaps or resolve disagreements.
4. Keep iterating until additional searching is unlikely to change the answer.
</methodology>
<output_requirements>
- Lead with a clear answer to the main question.
- Support with evidence and citations.
- Acknowledge limitations and uncertainties.
- Provide concrete examples where helpful.
- Include relevant context that helps understand implications.
</output_requirements>
<citation_format>
[How you want sources cited]
</citation_format>
Kesalahan Umum yang Merusak Hasil
Izinkan saya menyelamatkan Anda dari kesalahan yang saya buat (berulang kali) di hari-hari awal prompt engineering.
"Tulis sesuatu tentang marketing" vs "Tulis posting blog 500 kata tentang email marketing untuk startup SaaS, fokus pada welcome sequence." Spesifisitas adalah segalanya.
"Jadilah ringkas" dan "jadilah menyeluruh" dalam prompt yang sama. AI akan kesulitan merekonsiliasi kontradiksi. Jelaskan prioritas dan tradeoff.
AI tidak tahu apa yang tidak Anda beritahu. Jika sesuatu jelas bagi Anda, mungkin tidak jelas bagi model. Sertakan latar belakang yang relevan.
Jika Anda butuh JSON, katakan. Jika Anda butuh bullet point, katakan. Jangan biarkan format output bergantung pada keberuntungan.
Terkadang prompt sederhana adalah yang terbaik. Jangan tambahkan kompleksitas demi kompleksitas. Mulai sederhana, tambahkan kompleksitas hanya ketika dibutuhkan.
Prompting bersifat iteratif. Prompt pertama Anda adalah draft. Perbaiki berdasarkan apa yang bekerja dan apa yang tidak.
GPT dan Claude berperilaku berbeda. Prompt yang dioptimalkan untuk satu mungkin underperform di yang lain. Tes di berbagai model jika aplikasi Anda mendukung banyak.
Output AI biasanya membutuhkan review manusia. Bangun prompt yang membuat review mudah—struktur jelas, asumsi eksplisit, penalaran yang bisa dilacak.
Masa Depan Prompt Engineering
Saat saya menulis ini di awal 2026, prompt engineering berkembang pesat. Model menjadi lebih mampu, lebih bisa diarahkan, dan lebih andal. Beberapa memprediksi prompt engineering akan menjadi usang seiring AI semakin baik memahami intent. Saya tidak setuju.
Yang berubah adalah level prompt engineering, bukan kebutuhannya. Hari-hari awal membutuhkan prompt elaborat untuk tugas dasar. Sekarang, tugas dasar bekerja out of the box, tapi workflow agentik kompleks masih membutuhkan prompting canggih. Bar-nya naik, bukan menghilang.
Prompt engineering tidak akan pergi—ia berevolusi. Keterampilan yang penting bergeser dari "cara membuat AI bekerja" ke "cara membuat AI bekerja dengan sangat baik dan andal dalam skala."
Apa yang Akan Datang
Perilaku Default Lebih Baik
Model akan memiliki default yang lebih pintar, membutuhkan instruksi eksplisit yang lebih sedikit untuk pola umum. Prompt akan lebih fokus pada kustomisasi daripada kemampuan dasar.
Ekosistem Tool Lebih Kaya
AI akan memiliki akses ke lebih banyak tool out of the box. Prompt engineering akan bergeser ke orkestrasi—tahu kapan menggunakan apa, bukan hanya bagaimana.
Integrasi Multimodal
Prompt akan semakin melibatkan gambar, audio, video, dan data terstruktur bersama teks. Pola prompt baru akan muncul untuk tugas multimodal.
Kompleksitas Agentik
Seiring agen menangani tugas yang lebih panjang dan kompleks, prompt engineering akan menjadi lebih seperti desain sistem—arsitektur, bukan hanya instruksi.
Saran Saya untuk Masa Depan
Fokus pada fundamental. Teknik spesifik dalam panduan ini akan berevolusi, tapi prinsip yang mendasarinya—komunikasi yang jelas, ekspektasi eksplisit, pemikiran terstruktur, penyempurnaan iteratif—adalah abadi. Kuasai itu, dan Anda akan beradaptasi dengan apa pun yang datang selanjutnya.
Pikiran Penutup
Dua tahun lalu, saya pikir AI akan menggantikan kebutuhan untuk berkomunikasi dengan jelas. Saya benar-benar salah. AI telah membuat komunikasi yang jelas lebih berharga dari sebelumnya. Orang-orang yang berkembang dengan AI bukan mereka yang menemukan kata-kata ajaib—mereka adalah mereka yang belajar berpikir dan mengekspresikan diri dengan presisi.
Prompt engineering sebenarnya bukan tentang AI. Ini tentang Anda. Tentang mengembangkan disiplin untuk mengartikulasikan apa yang sebenarnya Anda inginkan, kesabaran untuk iterasi ke arahnya, dan kerendahan hati untuk belajar dari apa yang tidak bekerja.
Jika Anda mengambil satu hal dari panduan ini, biarkan itu ini: perlakukan setiap prompt sebagai kesempatan untuk berlatih berpikir jernih. AI hanyalah cermin yang memantulkan kejelasan—atau kebingungan—pikiran Anda sendiri.
Munculnya AI tidak membuat pengetahuan usang—ia membuat rasa ingin tahu lebih kuat dari sebelumnya. Kita tidak lagi dibatasi oleh apa yang sudah kita ketahui. Dengan tools yang tepat dan kemauan untuk berpikir, orang biasa dapat merangkul lautan pengetahuan. Terlepas dari profesi. Terlepas dari usia. Saya berharap untuk berbagi perjalanan ini dengan teman-teman di seluruh dunia. Bersama-sama, mari kita sambut dunia baru ini. Bersama-sama, mari kita tumbuh.
Discussion
0 commentsLeave a comment
Be the first to share your thoughts on this article!