← Prompt Engineering

Deep Dive: Plan-and-Solve / Least-to-Most

Phân tích sâu từ báo cáo Prompt Engineering — decomposition-first prompting giải quyết missing-step errors bằng cách chia bài toán thành plan + subtasks, thay vì buộc model nhảy thẳng vào đáp án.
Báo cáo cha: ← Prompt EngineeringTopic: Plan-and-Solve / Least-to-MostNgày: 2026-04-22Cấp độ: Layer 2 / deep dive

Tổng quan Planning

Đây là kỹ thuật chuyển trọng tâm từ “nghĩ ra đáp án” sang “thiết kế một chuỗi subproblem có thể giải được”. Với bài khó, việc chia nhỏ thường quan trọng hơn việc làm cho câu trả lời nghe giống suy luận.

Least-to-Most Prompting giải bài toán bằng cách chia thành những câu hỏi dễ hơn theo thứ tự tăng dần độ khó. Plan-and-Solve thêm một bước lập kế hoạch rõ ràng trước khi giải từng subproblem.

Điểm mạnh của nhóm này là nó giảm missing-step errors. Thay vì kỳ vọng model tự giữ toàn bộ dependency trong một chuỗi CoT, ta bắt nó tạo một kế hoạch sơ bộ rồi thực thi kế hoạch đó.

SignalÝ nghĩaGiá trị
Plan firstTách bài toán thành các bước nhỏGiảm rơi rụng bước quan trọng
Subproblem sequenceGiải từ dễ đến khóTăng khả năng generalize sang bài khó hơn exemplar
Explicit mergeGhép kết quả trung gian ở cuốiDễ debug pipeline

Cơ chế Mechanics

Mẫu cơ bản là: 1) viết plan, 2) giải từng subtask, 3) ghép lại. Với Least-to-Most, subtask của bước sau được hỗ trợ bởi output của bước trước. Với Plan-and-Solve, phần “plan” có thể tồn tại như một artifact riêng.

Vì phần planning được tách ra, model ít có xu hướng “điền vào chỗ trống” bằng suy đoán ở giữa chừng. Đây là khác biệt đáng kể so với CoT tự do.

Plan-and-Solve prompt skeleton

TEXT
Task: solve the problem.
Step 1: write a short plan with 3-5 substeps.
Step 2: solve each substep in order.
Step 3: merge the subanswers into the final answer.

Plan-and-Solve đặt kế hoạch ra trước để giảm missing-step errors.

flowchart LR
  Q[Question] --> P[Plan]
  P --> S1[Subproblem 1]
  S1 --> S2[Subproblem 2]
  S2 --> M[Merge]
  M --> A[Final answer]

Khi dùng Fit

Kỹ thuật này hữu ích khi task có dependency rõ: chuyển đổi format nhiều bước, reasoning có thứ tự, synthesis từ nhiều nguồn, hay các bài toán có easy-to-hard progression tự nhiên.

Nếu chỉ là Q&A ngắn hoặc classification đơn giản, plan-first thường thêm overhead mà không thêm giá trị.

Ưu điểm
  • Giảm missing-step errors
  • Dễ chia trách nhiệm giữa planner và solver
  • Hợp với task có dependency rõ ràng
Nhược điểm
  • Cần plan tốt, nếu không sai từ đầu
  • Tăng số bước và token
  • Có thể over-decompose những task vốn đơn giản

Failure modes Risk

Đừng nhầm Plan-and-Solve với “thêm một prompt nữa cho dài hơn”. Giá trị của nó nằm ở việc làm explicit dependency graph, không phải làm prompt nặng lên.
Rủi ro cần để ý
  • Plan nhìn có vẻ hợp lý nhưng bỏ sót constraint ngầm.
  • Subproblem đầu ra phụ thuộc nhau quá chặt nhưng prompt không nói rõ.
  • Task bị chia quá nhỏ làm mất global objective.
  • Kế hoạch tốt nhưng solver tệ, hoặc ngược lại.

So sánh Compare

TechniqueSo với plan-firstKhi nào nên chọn
CoTTự do hơn, ít cấu trúc hơnKhi task nhỏ và ổn định
Prompt chainingMỗi bước là call riêngKhi muốn inspect intermediate outputs
ReActCó action/observationKhi cần tool use thực sự

Tham khảo chính Sources