TROISINH
Chiến thuật linh hoạtKế phối hợp lực lượng

Kế 20: Đánh song tuyến — Parallel Prompting

Kế 20 Binh pháp AI: Chạy nhiều prompt song song, chọn kết quả tốt nhất. Kỹ thuật parallelism để tăng chất lượng và độ đa dạng output.

Mở đầu: Song tuyến trong binh pháp

Thời Tam Quốc, trận Xích Bích nổi tiếng với kế "song tuyến" — Đông Ngô vừa đánh trực diện bằng thủy quân, vừa dùng hoả công từ sau. Hai mũi tiến công cùng lúc, không cho địch thời gian phản ứng.

Trong AI, đánh song tuyến là chạy nhiều prompt cùng lúc (parallel) với cùng một input, rồi chọn hoặc kết hợp kết quả tốt nhất. Đây là cách dùng "sức người" (thực ra là sức máy) để bù cho sự ngẫu nhiên của AI.

Bối cảnh binh pháp: Tôn Tử dạy "Thập vũ quân công, giải cát lý" (tấn công mười chỗ, khiến địch phải chia lực lượng). Parallel prompting tấn công cùng lúc nhiều góc độ, tăng xác suất có ít nhất một kết quả xuất sắc.

Vấn đề: AI không ổn định giữa các lần chạy

Cùng một prompt, chạy 3 lần, bạn có thể nhận 3 câu trả lời khác nhau:

  • Lần 1: Hay, nhưng thiếu ví dụ cụ thể
  • Lần 2: Có ví dụ tốt, nhưng logic lỏng
  • Lần 3: Hoàn hảo

Nếu chỉ chạy một lần, bạn đang "đánh bạc" với entropy của LLM.

Non-determinism là đặc tính, không phải lỗi

Temperature, sampling, beam search — tất cả đều tạo ra tính ngẫu nhiên. Điều này là feature cho sáng tạo, nhưng là bug cho độ tin cậy.

Self-Consistency Decoding: Nghiên cứu (Wang et al., 2022) chỉ ra rằng lấy majority voting từ nhiều path reasoning song song tăng độ chính xác lên 10-15% trên bài toán reasoning.

Kế sách: Chạy song song, chọn tinh hoa

Pattern 1: N runs, pick best (Best-of-N)

Chạy cùng prompt N lần, dùng AI khác hoặc heuristic để chọn kết quả tốt nhất.

Bước 1: Chạy 3 lần song song
Prompt: "Viết headline cho bài blog về 'AI cho người mới bắt đầu'"

Output 1: "AI 101: Hướng dẫn cho người mới"
Output 2: "Bắt đầu với AI: Từ con số 0"
Output 3: "AI không khó: Lộ trình 30 ngày"

Bước 2: Dùng Judge prompt
"Dưới đây là 3 headline. Chọn hay nhất theo tiêu chí: 
- Gây tò mò (curiosity gap)
- Cụ thể, không chung chung  
- Ngắn gọn (<10 từ)

[3 output trên]

Trả lời: Chọn số mấy và giải thích."

Khi dùng: Content generation (headline, slogan, hook) — nơi "hay" là subjective và cần diversity.

Pattern 2: Diverse prompts, merge (Mixture of Prompts)

Thay vì chạy cùng prompt N lần, dùng N prompt khác nhau để khai thác nhiều góc độ, rồi kết hợp.

Góc độ 1 (Emotional): "Viết từ góc độ người sợ công nghệ..."
Góc độ 2 (Practical): "Tập trung vào lợi ích tiết kiệm thời gian..."
Góc độ 3 (Social proof): "Dùng case study người thành công..."

→ Chạy song song 3 prompt
→ Dùng prompt merge: "Kết hợp 3 góc độ trên thành một bài viết cân bằng"

Khi dùng: Complex content (landing page, sales email) — cần cân bằng nhiều yếu tố.

Pattern 3: Parallel experts (Swarm)

Mỗi "chuyên gia" AI xử lý một aspect, chạy song song, tổng hợp sau.

Expert 1: "Kiểm tra grammar và spelling"
Expert 2: "Kiểm tra logic và flow argument"
Expert 3: "Kiểm tra tone và brand voice"

→ Input: Cùng bài viết
→ Output: 3 báo cáo lỗi riêng biệt  
→ Merge: Tổng hợp tất cả lỗi, sửa theo thứ tự ưu tiên

Khi dùng: Review/QA tasks — cần đa chiều đánh giá.

Tại sao kế này hiệu quả?

Diversity-Accuracy Tradeoff

Một lần chạy = 1 sample từ distribution của LLM. N lần chạy = N samples → ước lượng tốt hơn về "trung bình" và "cực trị".

Theoretical basis:

  • Expected quality của best-of-N tăng theo log(N) (extreme value theory)
  • Chi phí: N lần token → linear cost
  • Quality gain: sub-linear nhưng consistent

Chi phí hiệu quả: Dùng model rẻ (GPT-3.5, Claude Haiku) cho N runs, chỉ dùng model mạnh (GPT-4, Claude Sonnet) cho bước "judge" hoặc "merge". Tổng chi phí tăng 2x nhưng chất lượng tăng 30%.

Ứng dụng thực chiến

Tình huốngPatternSetup
Viết headline/email subjectBest-of-NN=5, chọn bằng AI judge
Tạo landing page copyMixture3 angles: feature, benefit, story
Review codeParallel experts3 reviewers: logic, style, security
Brainstorm ideasBest-of-NN=10, temperature=0.9, lọc trùng
Trả lời câu hỏi khóSelf-consistencyN=5, majority voting

Ví dụ cụ thể — Code review song song:

# Pseudo-code cho parallel code review
reviewers = [
    "Focus on: logic bugs and edge cases",
    "Focus on: code style and readability", 
    "Focus on: security vulnerabilities"
]

# Chạy song song
reviews = await asyncio.gather(
    *[ai.review(code, focus=r) for r in reviewers]
)

# Merge
final = ai.merge_reviews(reviews, strategy="union")

Đọc thêm

Cross-level: Kế này là cầu nối đến Kế 31: Tam quân phối hợp — khi mỗi "chuyên gia" trở thành một agent riêng biệt với system prompt khác nhau.

On this page