Vấn đề của prompt viết tay

Dù đã có Prompt Standard tốt, prompt viết tay vẫn có điểm yếu cốt lõi: chúng được tối ưu bằng trực giác con người, không phải bằng dữ liệu.

Bạn viết prompt, test vài case, sửa từ ngữ, và hy vọng nó tổng quát hóa được. Đây gọi là “vibes-based prompting,” và có 3 vấn đề:

  1. Dễ vỡ: Prompt tuned cho GPT-4 có thể chạy kém trên Claude.
  2. Khó mở rộng: Khi pipeline phức tạp (RAG → reasoning → tool → validate), tuning từng prompt trở thành cơn ác mộng.
  3. Thiếu minh bạch: Bạn không giải thích được tại sao một cách diễn đạt lại tốt hơn.

DSPy là gì?

DSPy (Declarative Self-improving Python) là framework xem prompt như tham số nội bộ cần tối ưu, không phải chuỗi ký tự cần viết tay.

Prompting truyền thốngDSPy
Bạn viết promptBạn định nghĩa Signature (đặc tả input/output)
Bạn chọn few-shot examples bằng tayFramework tự chọn examples tối ưu
Bạn tune cho một modelFramework compile cho bất kỳ model nào
Bạn test thủ côngBạn định nghĩa metric, framework tối ưu theo đó

Cách hoạt động: Signatures, Modules, và Optimizers

1. Signatures

Khai báo module làm gì, không chỉ định làm thế nào:

class ReviewCode(dspy.Signature):
    """Review a code diff for bugs and security issues."""
    diff: str = dspy.InputField(desc="The code diff to review")
    findings: list[str] = dspy.OutputField(desc="List of issues found")

2. Modules

Các building block có thể kết hợp:

class CodeReviewer(dspy.Module):
    def __init__(self):
        self.review = dspy.ChainOfThought(ReviewCode)
    def forward(self, diff):
        return self.review(diff=diff)

3. Optimizers (Compilers)

Cho trước training examples + metric, optimizer tự tìm chiến lược prompt tốt nhất:

optimizer = dspy.BootstrapFewShot(metric=bug_detection_accuracy)
optimized_reviewer = optimizer.compile(CodeReviewer(), trainset=examples)

Khi nào dùng DSPy vs Prompt Standard truyền thống?

LớpCông cụ
Cấu trúc tổ chức (roles, rules, workflows)Prompt Standard
Tối ưu task-level (few-shot, CoT, model adaptation)DSPy
Chất lượng dữ liệu và truy xuấtRAG / Context Engineering

Ý chính cần nhớ

DSPy đại diện cho tương lai nơi chất lượng prompt là hàm của dữ liệu và metric, không phải trực giác. Mental model mới: ngừng viết prompt, bắt đầu định nghĩa contract và metric.

Đọc tiếp Phần 8 — Production PromptOps Pipeline.