AI không đọc được suy nghĩ của bạn. AI đọc ngôn từ của bạn. Chất lượng prompt của bạn quyết định chất lượng kết quả bạn nhận được.
Hai năm trước, tôi viết prompt đầu tiên gửi đến ChatGPT và nghĩ rằng mình hiểu trí tuệ nhân tạo. Tôi đã sai. Điều tôi hiểu là cách đặt câu hỏi—không phải cách giao tiếp với một cỗ máy suy nghĩ bằng mẫu hình, xác suất và token. Sự khác biệt giữa hai điều đó? Đó là sự khác biệt giữa việc nhận những câu trả lời chung chung và mở khóa những khả năng mà bạn không biết là tồn tại. Đây là câu chuyện về cách tôi học nói chuyện trôi chảy với AI, và mọi thứ tôi khám phá trên hành trình đó.
Sự Thức Tỉnh: Khi Prompt Đơn Giản Ngừng Hoạt Động
Điều đó xảy ra giữa deadline dự án. Tôi cần AI giúp tôi refactor code phức tạp—điều tôi đã làm hàng trăm lần trước đó. Nhưng lần này, dù tôi diễn đạt yêu cầu như thế nào, AI vẫn liên tục đưa ra giải pháp đúng về mặt kỹ thuật nhưng hoàn toàn lệch mục tiêu. Nó thêm độ phức tạp không cần thiết. Nó phá vỡ các pattern hiện có. Nó "sửa" những thứ không hỏng.
Tôi bực bội. Sau đó tôi trở nên tò mò. Tôi đang làm sai điều gì?
Sự bực bội đó dẫn tôi vào một rabbit hole thay đổi mọi thứ: tài liệu chính thức, các bài nghiên cứu, hướng dẫn prompt engineering, và hàng ngàn giờ thử nghiệm. Điều tôi tìm thấy không chỉ là mẹo và thủ thuật—đó là sự thay đổi hoàn toàn về cách tôi giao tiếp với các hệ thống AI.
AI tiên tiến nhất thế giới cũng vô dụng nếu bạn không thể truyền đạt điều bạn thực sự cần.
Đây là sự thật mà không ai nói với người mới học: prompting không phải là tìm những từ ma thuật. Nó là về việc hiểu cách các mô hình AI xử lý ngôn ngữ, thông tin nào chúng cần, và cách cấu trúc thông tin đó để mô hình có thể giúp bạn hiệu quả. Đó là một kỹ năng—và như mọi kỹ năng, nó có thể được học, thực hành và làm chủ.
Hướng dẫn này chứa mọi thứ tôi ước ai đó đã nói với tôi từ đầu. Không phải lời khuyên đơn giản "hãy cụ thể" tràn ngập internet, mà là sự hiểu biết sâu sắc, tinh tế phân biệt những người sử dụng AI với những người khai thác tối đa nó.
Nền Tảng Prompt: Cơ Bản Mà Không Ai Dạy
Trước khi đi sâu vào các kỹ thuật nâng cao, hãy đặt nền móng. Mỗi prompt hiệu quả chứa sự kết hợp của các yếu tố sau:
AI cần biết gì về tình huống của bạn? Thông tin nền, ràng buộc và chi tiết liên quan.
Bạn muốn AI làm gì chính xác? Hãy cụ thể về hành động bạn yêu cầu.
Output nên được cấu trúc như thế nào? Danh sách, đoạn văn, code blocks, bảng—hãy chỉ định rõ.
AI nên tránh điều gì? Những giới hạn nào tồn tại? Điều gì nằm ngoài phạm vi?
Bạn có thể cho thấy điều bạn muốn không? Ví dụ đáng giá hơn ngàn lời mô tả.
Hầu hết mọi người chỉ đưa vào nhiệm vụ. Họ hỏi "Viết email cho tôi" thay vì "Viết một email chuyên nghiệp gửi khách hàng giải thích về sự chậm trễ dự án. Giữ dưới 150 từ, thừa nhận sự bất tiện, và đề xuất deadline mới lùi hai tuần. Giọng điệu nên xin lỗi nhưng tự tin."
Sự khác biệt về chất lượng output là rất lớn. Và đây mới chỉ là khởi đầu.
Vai Trò của Cấu Trúc
Một trong những khía cạnh bị đánh giá thấp nhất của việc viết prompt là định dạng cấu trúc. Các mô hình AI hiện đại phản hồi cực kỳ tốt với các phần được phân chia rõ ràng. Tôi sử dụng rộng rãi các thẻ giống XML:
<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>
Cấu trúc này làm một điều mạnh mẽ: nó buộc bạn phải suy nghĩ rõ ràng về điều bạn cần trước khi hỏi. Và suy nghĩ rõ ràng dẫn đến giao tiếp rõ ràng, dẫn đến kết quả rõ ràng.
Agentic Workflows: Đối Xử với AI như Đồng Nghiệp
Đây là sự thay đổi tư duy đã biến đổi các tương tác AI của tôi: tôi ngừng đối xử với AI như công cụ tìm kiếm và bắt đầu coi nó như một đồng nghiệp có năng lực nhưng thiếu kinh nghiệm. Mô hình tư duy này thay đổi mọi thứ.
Các mô hình AI hiện đại như GPT-5 và Claude không chỉ trả lời câu hỏi—chúng được thiết kế để là agent. Chúng có thể gọi công cụ, thu thập ngữ cảnh, đưa ra quyết định và thực hiện các nhiệm vụ nhiều bước. Nhưng giống như bất kỳ thành viên mới nào trong đội, chúng cần onboarding tốt, kỳ vọng rõ ràng và guardrails phù hợp.
AI không phải là công cụ bạn sử dụng. Đó là đồng nghiệp bạn quản lý. Những kỹ năng làm bạn trở thành người quản lý giỏi cũng làm bạn trở thành người viết prompt giỏi.
Hãy nghĩ về điều này: khi bạn giao việc cho người khác, bạn không chỉ nói "sửa code đi." Bạn giải thích điều gì hỏng, hành vi mong muốn là gì, những ràng buộc nào tồn tại, và thành công trông như thế nào. Bạn cung cấp ngữ cảnh. Bạn trả lời câu hỏi. Bạn kiểm tra tiến độ.
AI cần sự đối xử tương tự. Sự khác biệt là bạn cần dự đoán trước các câu hỏi và trả lời chúng từ đầu, vì nhiều tương tác qua lại tốn kém hơn (về thời gian và token) so với làm đúng ngay từ đầu.
Tư Duy Agentic
Khi xây dựng ứng dụng agentic hoặc sử dụng AI cho các nhiệm vụ phức tạp, tôi đã học cách suy nghĩ theo các khía cạnh sau:
Câu Hỏi Chính cho Nhiệm Vụ Agentic
- Trạng thái mục tiêu là gì? AI biết khi nào nó hoàn thành như thế nào?
- Nó có những công cụ nào? Nó thực sự có thể làm gì vs cần trì hoãn gì?
- Mức độ tự chủ là bao nhiêu? Nó nên hỏi xin phép hay tiếp tục độc lập?
- Guardrails an toàn là gì? Những hành động nào không được phép thực hiện mà không có xác nhận?
- Tiến độ nên được báo cáo như thế nào? Thực thi im lặng hay cập nhật thường xuyên?
Những câu hỏi này tạo nền tảng cho mọi prompt phức tạp tôi viết. Hãy khám phá từng khía cạnh chi tiết.
Kiểm Soát Sự Nhiệt Tình của AI: Nghệ Thuật Hiệu Chỉnh
Một trong những khía cạnh tinh tế nhất của prompt engineering là hiệu chỉnh điều tôi gọi là "sự nhiệt tình agentic"—sự cân bằng giữa AI chủ động và AI chờ hướng dẫn rõ ràng. Sai ở đây, và bạn sẽ có AI làm quá các nhiệm vụ đơn giản hoặc bỏ cuộc quá dễ dàng với những nhiệm vụ phức tạp.
Khi Nào Giảm Sự Nhiệt Tình
Đôi khi bạn cần AI nhanh và tập trung. Bạn không muốn nó khám phá mọi nhánh, thực hiện thêm tool calls, hoặc tạo ra giải thích dài dòng. Cho những tình huống này, tôi sử dụng prompt tập trung vào ràng buộc:
<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>
Chú ý sự cho phép rõ ràng về sự không hoàn hảo: "Prefer acting over more searching." Câu tinh tế này giải phóng AI khỏi lo ngại mặc định về sự đầy đủ. Không có điều này, các mô hình thường tìm kiếm quá nhiều, đốt token và thời gian vào lợi ích giảm dần.
Để có ràng buộc tích cực hơn, bạn có thể đặt ngân sách rõ ràng:
<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>
Câu "even if it might not be fully correct" là vàng. Nó cho AI sự cho phép để không hoàn hảo, điều nghịch lý thường dẫn đến kết quả tốt hơn nhanh hơn.
Khi Nào Tăng Sự Nhiệt Tình
Lúc khác bạn cần AI không mệt mỏi và kỹ lưỡng. Bạn muốn nó vượt qua sự không chắc chắn, đưa ra giả định hợp lý, và hoàn thành các nhiệm vụ phức tạp mà không liên tục xin phép. Điều này yêu cầu cách tiếp cận ngược lại:
<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 này thay đổi căn bản hành vi của AI. Thay vì hỏi "Tôi có nên tiếp tục không?", nó nói "Tôi đang tiếp tục dựa trên giả định X—cho tôi biết nếu bạn muốn tôi điều chỉnh." Công việc được hoàn thành; tinh chỉnh đến sau.
Thiết Lập Guardrails An Toàn
Nhưng đây là chi tiết quan trọng: sự nhiệt tình tăng lên yêu cầu guardrails an toàn rõ ràng hơn. Bạn cần nêu rõ những hành động nào AI có thể thực hiện tự chủ và những hành động nào cần xác nhận.
Nguyên Tắc An Toàn Quan Trọng
Các hành động chi phí cao (xóa, thanh toán, giao tiếp bên ngoài) luôn phải yêu cầu xác nhận rõ ràng, ngay cả với prompt nhiệt tình cao. Các hành động chi phí thấp (tìm kiếm, đọc, phác thảo) có thể tự động.
Hãy nghĩ về điều này như việc cho ai đó quyền truy cập vào hệ thống của bạn: công cụ search nên có ngưỡng tự chủ rất cao, trong khi lệnh delete nên có ngưỡng rất thấp.
Nguyên Tắc Kiên Trì: Để AI Hoàn Thành Công Việc
Một trong những hành vi khó chịu nhất tôi gặp sớm là AI bỏ cuộc quá dễ dàng. Nó gặp trở ngại, tóm tắt điều gì đã sai, và trả vấn đề lại cho tôi. Đối với nhiệm vụ đơn giản, điều này ổn. Đối với nhiệm vụ phức tạp, nó giết chết workflow.
Giải pháp là điều tôi gọi là Nguyên Tắc Kiên Trì: hướng dẫn rõ ràng AI vượt qua trở ngại và hoàn thành nhiệm vụ từ đầu đến cuối.
<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>
Điểm cuối cùng tinh tế nhưng quan trọng. Khi mọi người hỏi "chúng ta nên làm X không?", chúng ta thường có ý "xin hãy làm X nếu nó hợp lý." AI, theo nghĩa đen như nó là, trả lời câu hỏi mà không thực hiện hành động ngụ ý. Prompt này thu hẹp khoảng cách.
Cập Nhật Tiến Độ: Giữ Liên Lạc
Kiên trì không có nghĩa là im lặng. Đối với các nhiệm vụ mất nhiều thời gian, tôi luôn bao gồm hướng dẫn cập nhật tiến độ:
<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>
Điều này tạo ra sự cân bằng đẹp: AI làm việc tự chủ nhưng giữ bạn được thông tin. Bạn không micromanage, nhưng bạn cũng không trong bóng tối.
Reasoning Effort: Nút Điều Chỉnh Độ Sâu Suy Nghĩ
Các mô hình AI hiện đại có khái niệm gọi là "reasoning effort"—về cơ bản, mô hình suy nghĩ nhiều như thế nào trước khi phản hồi. Đây là một trong những tham số mạnh nhất và ít được sử dụng nhất.
Suy Luận Cao
Sử dụng cho các nhiệm vụ nhiều bước phức tạp, tình huống mơ hồ, hoặc vấn đề cần phân tích sâu. Mô hình dành nhiều token hơn cho "suy nghĩ" nội bộ trước khi phản hồi.
Suy Luận Trung Bình (Mặc Định)
Cài đặt cân bằng phù hợp cho hầu hết các nhiệm vụ. Tốt cho coding, viết và phân tích thông thường khi chất lượng quan trọng nhưng tốc độ cũng cần.
Suy Luận Thấp
Phản hồi nhanh cho các nhiệm vụ đơn giản. Sử dụng khi bạn cần câu trả lời nhanh và nhiệm vụ không yêu cầu suy nghĩ sâu.
Tối Thiểu/Không Suy Luận
Tốc độ tối đa, suy nghĩ tối thiểu. Tốt nhất cho truy vấn đơn giản, nhiệm vụ định dạng lại, hoặc khi độ trễ là mối quan tâm chính.
Điểm mấu chốt là kết hợp nỗ lực suy luận với độ phức tạp của nhiệm vụ. Sử dụng suy luận cao cho nhiệm vụ đơn giản lãng phí token và thời gian. Sử dụng suy luận thấp cho nhiệm vụ phức tạp tạo ra kết quả nông, dễ lỗi.
Prompting cho Suy Luận Tối Thiểu
Khi sử dụng chế độ suy luận tối thiểu, bạn cần bù đắp bằng prompting rõ ràng hơn. Mô hình có ít token "thinking" nội bộ hơn, vì vậy prompt của bạn cần làm nhiều công việc cấu trúc hơn:
<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 này về cơ bản nói: "Vì bạn không suy luận nhiều nội bộ, hãy suy luận thành tiếng trong phản hồi của bạn." Điều này chuyển gánh nặng nhận thức từ suy nghĩ vô hình của mô hình sang lập kế hoạch có cấu trúc, có thể nhìn thấy.
Khi nỗ lực suy luận thấp, độ phức tạp prompt phải cao. Khi nỗ lực suy luận cao, prompt có thể đơn giản hơn. Đó là sự đánh đổi.
Xuất Sắc Trong Coding: Lập Trình với AI Partner
Đây là nơi tôi dành nhiều thời gian nhất để tối ưu hóa prompt, và đây là nơi kết quả ấn tượng nhất. Hỗ trợ coding AI là biến đổi—khi làm đúng. Khi làm sai, nó tạo ra nhiều vấn đề hơn nó giải quyết.
Hãy để tôi chia sẻ những gì tôi học được từ việc nghiên cứu cách các công cụ coding AI chuyên nghiệp như Cursor cấu hình prompt cho sử dụng production.
Nghịch Lý Độ Dài
Đây là điều trái ngược với trực giác: AI có xu hướng dài dòng trong giải thích nhưng ngắn gọn trong code. Nó viết đoạn văn giải thích điều nó sẽ làm, rồi tạo code với tên biến một chữ cái và comments tối thiểu. Đây là điều ngược lại với những gì chúng ta thường muốn.
Giải pháp là kiểm soát độ dài kép:
<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>
Điều này tạo sự cân bằng hoàn hảo: giao tiếp ngắn gọn, code chi tiết.
Hành Động Chủ Động vs Xác Nhận
Bài học khác từ các công cụ coding production: AI nên chủ động với thay đổi code nhưng hỏi xác nhận với hành động phá hoại. Đây là cách code hóa điều đó:
<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>
Điều này loại bỏ sự qua lại khó chịu khi AI mô tả điều nó sẽ làm, hỏi xin phép, rồi làm. Cứ làm đi—tôi sẽ từ chối nếu cần.
Phù Hợp với Style Codebase
Một trong những phàn nàn lớn nhất về code do AI tạo là nó không khớp với các pattern codebase hiện có. Nó trông "lạ". Giải pháp là hướng dẫn style rõ ràng:
<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>
Frontend Development: Xây Dựng Giao Diện Đẹp
AI đã trở nên rất giỏi trong frontend development, nhưng có một khoa học để đạt được kết quả thẩm mỹ và sẵn sàng production. Đây là những gì tôi học được.
Stack Được Khuyến Nghị
Qua thử nghiệm rộng rãi, một số tổ hợp công nghệ hoạt động tốt hơn với AI so với những tổ hợp khác. Không phải về điều gì "tốt nhất" một cách khách quan—mà về điều gì các mô hình AI được train nhiều nhất:
Stack Frontend Tối Ưu cho AI
- Frameworks: Next.js (TypeScript), React, HTML
- Styling/UI: Tailwind CSS, shadcn/ui, Radix Themes
- Icons: Material Symbols, Heroicons, Lucide
- Animation: Motion (trước đây là Framer Motion)
- Fonts: Sans Serif families—Inter, Geist, Mona Sans, IBM Plex Sans, Manrope
Khi bạn chỉ định các công nghệ này, AI tạo ra output chất lượng cao hơn nhiều với ít hallucination hơn về các API không tồn tại.
Thực Thi Design System
Một vấn đề với frontend do AI tạo là sự không nhất quán thị giác. Màu sắc xuất hiện từ đâu đó, spacing thay đổi ngẫu nhiên, và kết quả trông như được thiết kế bởi một hội đồng. Giải pháp là ràng buộc design system rõ ràng:
<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 Practices UI/UX
Tôi cũng bao gồm hướng dẫn UI/UX rõ ràng để đảm bảo hệ thống phân cấp thị giác nhất quán:
<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>
Self-Reflection Prompts: Để AI Tự Phê Bình
Kỹ thuật này gây ngạc nhiên khi bạn lần đầu khám phá, nhưng nó mạnh mẽ: bạn có thể để AI tạo ra tiêu chí đánh giá của riêng nó và sau đó lặp lại trên đó. Nó giống như cho AI một bộ phận QA nội bộ.
<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>
Điều đang xảy ra ở đây rất thú vị: bạn yêu cầu AI tạo tiêu chí chất lượng từ kiến thức của nó về sự xuất sắc, sau đó sử dụng tiêu chí đó để đánh giá và cải thiện output của chính nó—tất cả trước khi bạn thấy bất cứ điều gì.
Self-reflection prompt biến một lần tạo thành vòng lặp lặp lại nội bộ. AI trở thành biên tập viên của chính nó.
Tôi sử dụng kỹ thuật này cho mọi nhiệm vụ mà chất lượng quan trọng hơn tốc độ: landing pages, email quan trọng, quyết định kiến trúc, công việc sáng tạo. Sự cải thiện về chất lượng output là đáng kể.
Kiểm Soát Độ Dài: Quản Lý Độ Dài Output
Có được độ dài output đúng là thách thức liên tục. Quá ngắn và bạn bỏ lỡ chi tiết quan trọng. Quá dài và bạn chìm trong thông tin không cần thiết. Đây là cách tôi tiếp cận.
Hướng Dẫn Độ Dài Rõ Ràng
Cách tiếp cận đáng tin cậy nhất là ràng buộc độ dài rõ ràng gắn với độ phức tạp nhiệm vụ:
<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>
Độ Dài Dựa trên Persona
Cách tiếp cận khác là định nghĩa phong cách giao tiếp của AI như một phần tính cách của nó:
<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>
Điều này tạo ra "tính cách" tự nhiên tạo output ngắn gọn mà không cần ràng buộc độ dài rõ ràng cho mỗi tương tác.
Tuân Thủ Chỉ Dẫn: Trò Chơi Của Sự Chính Xác
Các mô hình AI hiện đại tuân thủ chỉ dẫn với độ chính xác phẫu thuật—đây vừa là sức mạnh lớn nhất vừa là cạm bẫy tiềm năng. Chúng sẽ làm chính xác những gì bạn nói, ngay cả khi những gì bạn nói mâu thuẫn hoặc không rõ ràng.
Vấn Đề Mâu Thuẫn
Đây là ví dụ thực về prompt có vấn đề tôi gặp phải:
Ví Dụ Chỉ Dẫn Mâu Thuẫn
"Luôn tra cứu hồ sơ bệnh nhân trước bất kỳ hành động nào khác để đảm bảo họ là bệnh nhân hiện có."
Nhưng sau đó: "Khi triệu chứng chỉ ra tính cấp bách cao, leo thang thành TRƯỜNG HỢP KHẨN CẤP và hướng dẫn bệnh nhân gọi 115 ngay lập tức trước bất kỳ bước lập lịch nào."
Các chỉ dẫn này mâu thuẫn. Xử lý khẩn cấp xảy ra trước hay sau tra cứu hồ sơ? AI sẽ đốt token suy luận cố gắng hòa giải mâu thuẫn thay vì giúp đỡ.
Giải pháp là kiểm tra prompt cho các mâu thuẫn ẩn và thiết lập hệ thống phân cấp ưu tiên rõ ràng:
<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>
Độ Chính Xác Phạm Vi
Vấn đề phổ biến khác là scope creep—AI thêm tính năng hoặc "cải tiến" mà bạn không yêu cầu:
<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>
Làm Chủ Long Context: Xử Lý Tài Liệu Lớn
AI hiện đại có thể xử lý context khổng lồ—hàng trăm ngàn token—nhưng chỉ dump tài liệu lớn vào context window là không đủ. Bạn cần chiến lược giúp mô hình điều hướng và trích xuất thông tin liên quan.
Thực Thi Tóm Tắt và Re-grounding
Với tài liệu lớn, tôi hướng dẫn AI tạo cấu trúc nội bộ trước khi phản hồi:
<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>
Điều này ngăn chặn vấn đề "lạc trong scroll" khi AI đưa ra câu trả lời chung chung không thực sự kết nối với nội dung tài liệu cụ thể.
Yêu Cầu Trích Dẫn
Với các nhiệm vụ nghiên cứu và phân tích, yêu cầu trích dẫn rõ ràng đảm bảo câu trả lời có căn cứ:
<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>
Tool Calling: Điều Phối Khả Năng AI
AI tool calling—khả năng gọi functions, API và external services—là nơi prompt engineering trở thành software engineering. Làm đúng là quan trọng để xây dựng ứng dụng AI đáng tin cậy.
Best Practices Mô Tả Tool
Chất lượng mô tả tool ảnh hưởng trực tiếp đến việc AI sử dụng chúng tốt như thế nào:
{
"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"]
}
}
Chú ý mô tả bao gồm cả điều gì tool làm và khi nào sử dụng nó. Điều này giúp mô hình đưa ra quyết định chọn tool tốt hơn.
Quy Tắc Sử Dụng Tool trong Prompt
Ngoài định nghĩa tool, prompt của bạn nên bao gồm hướng dẫn sử dụng rõ ràng:
<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>
Song Song Hóa
Một tối ưu hóa quan trọng là khuyến khích tool calls song song khi các hoạt động độc lập:
<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>
Quản Lý Sự Không Chắc Chắn: Khi AI Không Biết
Một trong những rủi ro lớn nhất với AI là câu trả lời sai nhưng nghe tự tin. Các mô hình không biết điều chúng không biết—trừ khi bạn dạy chúng cách xử lý sự không chắc chắn.
<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>
Tự Kiểm Tra Rủi Ro Cao
Với các lĩnh vực rủi ro cao, tôi thêm bước tự xác minh rõ ràng:
<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>
Mục tiêu không phải làm AI ít tự tin hơn—mà là làm nó chính xác về sự tự tin. Không chắc chắn về những điều không chắc chắn là tính năng, không phải lỗi.
Metaprompting: Dùng AI để Cải Thiện AI
Đây là kỹ thuật meta nhất trong bộ công cụ của tôi: sử dụng AI để cải thiện prompt của bạn. Nghe có vẻ vòng vo, nhưng nó rất hiệu quả.
Chẩn Đoán Lỗi Prompt
Khi prompt không hoạt động, tôi sử dụng pattern này để chẩn đoán vấn đề:
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: ...
Tạo Bản Sửa Prompt
Khi bạn có chẩn đoán, prompt thứ hai tạo bản sửa:
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.
Quy trình hai bước này đã giúp tôi sửa các prompt mà tôi vật lộn cả ngày. AI thường tìm thấy các mâu thuẫn và sự mơ hồ mà tôi đã trở nên mù quáng với chúng.
Các Mẫu Prompt Đã Được Chứng Minh
Hãy để tôi chia sẻ một số mẫu đã được chứng minh đáng tin cậy qua hàng trăm use case.
Mẫu Hoàn Thành Nhiệm Vụ Phổ Quát
<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>
Mẫu 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>
Mẫu Phân Tích Nghiên Cứu
<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>
Những Sai Lầm Phổ Biến Làm Hỏng Kết Quả
Hãy để tôi cứu bạn khỏi những sai lầm tôi (lặp đi lặp lại) mắc phải trong những ngày đầu của prompt engineering.
"Viết gì đó về marketing" vs "Viết bài blog 500 từ về email marketing cho SaaS startups, tập trung vào welcome sequences." Sự cụ thể là tất cả.
"Hãy ngắn gọn" và "hãy kỹ lưỡng" trong cùng một prompt. AI sẽ vật lộn để hòa giải mâu thuẫn. Làm rõ ưu tiên và sự đánh đổi.
AI không biết điều bạn không nói với nó. Nếu điều gì đó rõ ràng với bạn, nó có thể không rõ ràng với mô hình. Bao gồm nền tảng liên quan.
Nếu bạn muốn JSON, hãy nói. Nếu bạn muốn bullet points, hãy nói. Đừng để định dạng output cho may rủi.
Đôi khi prompt đơn giản tốt hơn. Đừng thêm phức tạp vì phức tạp. Bắt đầu đơn giản, thêm phức tạp chỉ khi cần.
Prompting là lặp lại. Prompt đầu tiên của bạn là bản nháp. Tinh chỉnh dựa trên điều gì hoạt động và điều gì không.
GPT và Claude hành xử khác nhau. Prompt tối ưu cho cái này có thể hoạt động kém với cái kia. Thử nghiệm qua nhiều mô hình nếu ứng dụng của bạn hỗ trợ nhiều mô hình.
Output AI thường yêu cầu đánh giá của con người. Thiết kế prompt làm cho review dễ dàng—cấu trúc rõ ràng, giả định rõ ràng, lý luận có thể theo dõi.
Tương Lai của Prompt Engineering
Khi tôi viết điều này vào đầu năm 2026, prompt engineering đang phát triển nhanh chóng. Các mô hình đang trở nên có năng lực hơn, dễ điều khiển hơn, và đáng tin cậy hơn. Một số dự đoán prompt engineering sẽ trở nên lỗi thời khi AI cải thiện khả năng hiểu ý định. Tôi không đồng ý.
Điều thay đổi là cấp độ của prompt engineering, không phải nhu cầu về nó. Những ngày đầu yêu cầu prompt mở rộng cho các nhiệm vụ cơ bản. Bây giờ các nhiệm vụ cơ bản hoạt động ngay lập tức, nhưng các workflow agentic phức tạp vẫn yêu cầu prompting tinh vi. Thanh được nâng lên, không bị loại bỏ.
Prompt engineering không biến mất—nó đang phát triển. Các kỹ năng quan trọng đang chuyển từ "làm thế nào để AI hoạt động" sang "làm thế nào để AI xuất sắc và đáng tin cậy ở quy mô lớn."
Điều Gì Đang Đến
Hành Vi Mặc Định Tốt Hơn
Các mô hình sẽ có defaults thông minh hơn, yêu cầu ít hướng dẫn rõ ràng hơn cho các pattern thông thường. Prompt sẽ tập trung hơn vào tùy chỉnh thay vì khả năng cơ bản.
Hệ Sinh Thái Tool Phong Phú Hơn
AI sẽ có quyền truy cập vào nhiều tool hơn ngay từ đầu. Prompt engineering sẽ chuyển sang điều phối—biết khi nào sử dụng cái gì, không chỉ làm thế nào.
Tích Hợp Đa Phương Thức
Prompt sẽ ngày càng bao gồm hình ảnh, âm thanh, video và dữ liệu có cấu trúc cùng với văn bản. Các pattern prompt mới sẽ xuất hiện cho các nhiệm vụ đa phương thức.
Độ Phức Tạp Agentic
Khi các agent xử lý các nhiệm vụ lớn hơn, phức tạp hơn, prompt engineering sẽ giống system design hơn—kiến trúc, không chỉ hướng dẫn.
Lời Khuyên của Tôi cho Tương Lai
Tập trung vào nền tảng. Các kỹ thuật cụ thể trong hướng dẫn này sẽ phát triển, nhưng các nguyên tắc sâu hơn—giao tiếp rõ ràng, kỳ vọng rõ ràng, tư duy có cấu trúc, cải tiến lặp đi lặp lại—là vĩnh cửu. Thành thạo chúng, và bạn sẽ thích nghi với bất cứ điều gì đến tiếp theo.
Suy Nghĩ Cuối Cùng
Hai năm trước, tôi nghĩ AI sẽ thay thế nhu cầu về giao tiếp rõ ràng. Tôi đã hoàn toàn sai. AI đã làm cho giao tiếp rõ ràng có giá trị hơn bao giờ hết. Những người phát triển mạnh với AI không phải là những người tìm được từ ma thuật—họ là những người học cách suy nghĩ rõ ràng và diễn đạt chính xác.
Prompt engineering thực sự không phải về AI. Nó là về bạn. Nó là về phát triển kỷ luật để diễn đạt điều bạn thực sự muốn, sự kiên nhẫn để lặp lại hướng tới điều đó, và sự khiêm tốn để học từ những điều không hiệu quả.
Nếu bạn chỉ mang đi một điều từ hướng dẫn này, hãy để nó là điều này: hãy tiếp cận mỗi prompt như một cơ hội để thực hành tư duy rõ ràng. AI chỉ là tấm gương phản chiếu sự rõ ràng—hoặc sự nhầm lẫn—của chính suy nghĩ của bạn.
Sự trỗi dậy của AI không có nghĩa kiến thức trở nên lỗi thời—nó có nghĩa sự tò mò mạnh mẽ hơn bao giờ hết. Chúng ta không còn bị giới hạn bởi những gì chúng ta đã biết. Với những công cụ đúng và sẵn sàng suy nghĩ, những người bình thường có thể ôm lấy đại dương kiến thức. Bất kể nghề nghiệp. Bất kể tuổi tác. Tôi hy vọng chia sẻ hành trình này với bạn bè trên toàn thế giới. Cùng nhau, hãy chào đón thế giới mới này. Cùng nhau, hãy phát triển.
Thảo luận
0 bình luậnĐể lại bình luận
Hãy là người đầu tiên chia sẻ suy nghĩ của bạn!