← Prompt Engineering

Deep Dive: Safety and injection defenses

Phân tích sâu từ báo cáo Prompt Engineering — safety là một phần của prompt design: untrusted text phải được cô lập, schema hóa và kiểm soát bằng approvals / guardrails.
Báo cáo cha: ← Prompt EngineeringTopic: Safety and injection defensesNgày: 2026-04-22Cấp độ: Layer 2 / deep dive

Tổng quan Safety

Prompt engineering hiện đại phải coi untrusted text là nguy cơ, không chỉ là input. Một khi model có thể gọi tool, đọc file hay truy cập MCP, prompt design và safety design là cùng một bài toán.

Bản chất của prompt injection là dữ liệu không tin cậy cố tình override instruction. Nó có thể khiến model exfiltrate data, gọi sai tool hoặc vi phạm policy mà không hề “tự nhận ra”.

Các vendor lớn đang hội tụ quanh cùng một khung: tách data khỏi instruction, dùng structured outputs để giảm freeform channels, giữ approvals bật, và chạy eval/trace graders để theo dõi hành vi thực tế.

Lớp defenseMục tiêuVí dụ
Input separationTách untrusted text khỏi developer contextUser message thay vì developer message
Structured outputsGiảm freeform channelsJSON schema, enums, required fields
Approvals + guardrailsChặn hành động nguy hiểmHuman approval node, PII redaction

Cơ chế Mechanics

Một workflow an toàn thường có ít nhất bốn lớp: sanitize input, separate instructions from data, constrain output bằng schema, và chặn tool action bằng approvals hoặc policy checks.

Càng nhiều tool và context sources, càng phải coi every boundary là untrusted. Model không nên được phép tự quyết định toàn bộ flow khi input chứa text lạ hoặc khi action có tác động thật.

Defense-in-depth cho agentic prompts: cô lập, constraining và approvals.

flowchart LR
  U[Untrusted input] --> S[Sanitize / separate]
  S --> C[Constrained output]
  C --> G[Guardrails / approvals]
  G --> T[Tool / action]
  T --> O[Observed result]

Khi dùng Fit

Bất kỳ workflow nào có RAG, browser, file access, MCP, email, ticket system hay database write đều phải coi safety là phần của prompt design.

Ở mức vận hành, guardrails quan trọng không kém prompt wording. Một prompt rất đẹp nhưng cho phép tool calls quá tự do vẫn là một hệ thống dễ bị thao túng.

Ưu điểm
  • Giảm prompt injection và data leakage
  • Làm rõ boundary giữa instruction và data
  • Có thể kết hợp evals, approvals và validators
Nhược điểm
  • Tăng friction cho developer và user
  • Có thể làm pipeline chậm hơn
  • Không có defense nào là tuyệt đối

Failure modes Risk

Ở môi trường agentic, không có prompt nào đủ tốt nếu boundary management tệ. Safety là hệ thống, không phải một câu nhắc nhở trong prompt.
Anti-patterns cần tránh
  • Nhét raw user text vào developer messages.
  • Cho tool args freeform text thay vì schema.
  • Tắt approvals trong workflow rủi ro cao.
  • Không chạy trace graders hoặc policy evals trên agent traces.

So sánh Compare

DefenseGiá trịKhi nào cần
Structured outputsGiảm freeform channelsKhi tool calls / JSON output
Tool approvalsNgăn hành động nguy hiểmKhi action có impact thật
Guardrails / evalsTheo dõi và harden liên tụcKhi workflow production

Tham khảo chính Sources