Nếu bạn từng cố nhồi nhét cả một dự án vào một prompt—yêu cầu → giải pháp → kế hoạch → rủi ro → tài liệu cuối—bạn đã biết nó kết thúc như thế nào:
Prompt Chaining là giải pháp. Hãy nghĩ về nó như việc xây dựng quy trình làm việc trong đó mỗi prompt là một trạm trên dây chuyền lắp ráp: một bước vào, một bước ra, và đầu ra trở thành đầu vào cho trạm tiếp theo.
Nói cách khác: bạn không yêu cầu LLM làm "mọi thứ cùng lúc". Bạn yêu cầu nó làm một việc tại một thời điểm, một cách đáng tin cậy.
Prompt Chaining là thực hành:
Về cơ bản, đó là "tư duy microservices" áp dụng cho khả năng lý luận của LLM.
| Khía cạnh | Single Prompt | Prompt Chaining | |----|----|----| | Độ phức tạp | Tốt cho các nhiệm vụ đơn giản, một lần | Được xây dựng cho quy trình nhiều bước, thực tế | | Logic | Model đoán quy trình | Bạn xác định quy trình | | Kiểm soát | Khó điều khiển | Mọi bước đều có thể điều khiển | | Gỡ lỗi | "Nó đã sai ở đâu?" | Bạn có thể xác định chính xác bước bị lỗi | | Giới hạn ngữ cảnh | Dễ tràn | Cung cấp dữ liệu dần dần, từng bước |
LLM không giỏi xử lý nhiều mục tiêu đồng thời.
Yêu cầu: "Phân tích yêu cầu, đề xuất tính năng, ước tính nỗ lực, ưu tiên, sau đó viết kế hoạch"—và bạn đã thiết lập một bài toán tối ưu đa mục tiêu. Model thường sẽ làm tốt một mục tiêu và lặng lẽ thực hiện kém các mục tiêu còn lại.
Prompt Chaining giảm tải nhận thức: một bước → một đầu ra → một tiêu chí thành công.
Về bản chất, Prompt Chaining là một vòng lặp:
Đây là một chuỗi đơn giản bạn có thể hình dung:
flowchart LR A[Phản hồi người dùng thô] --> B[Prompt 1: Trích xuất điểm đau] B --> C[Prompt 2: Đề xuất tính năng] C --> D[Prompt 3: Ưu tiên & ước tính nỗ lực] D --> E[Prompt 4: Viết kế hoạch lặp]
Không tốt: "Trích xuất điểm đau và thiết kế tính năng" Tốt: Bước 1 trích xuất điểm đau; Bước 2 thiết kế tính năng dựa trên chúng.
Văn bản tự do dễ vỡ. Prompt tiếp theo có thể đọc sai, diễn giải lại hoặc bỏ qua nó.
Sử dụng các định dạng có cấu trúc như JSON, bảng, hoặc danh sách dấu đầu dòng với khóa cố định.
Ví dụ (JSON bạn thực sự có thể phân tích):
{ "pain_points": [ {"category": "performance", "description": "Thanh toán mất > 8 giây", "mentions": 31}, {"category": "ux", "description": "Nút hoàn tiền khó tìm", "mentions": 18}, {"category": "reliability", "description": "Thanh toán thất bại không có lỗi", "mentions": 12} ] }
Đừng cho rằng model sẽ "nhớ những gì bạn muốn nói". Trong prompt tiếp theo, tham chiếu rõ ràng đến đầu ra trước đó:
Mỗi chuỗi cần một "cổng chất lượng":
Sử dụng khi: quy trình có thể dự đoán được.
Giả sử bạn có file CSV xuất từ một cửa hàng thương mại điện tử UK và bạn muốn:
Bước 1 — Prompt làm sạch dữ liệu (đầu ra là bảng sạch hoặc JSON)
HỆ THỐNG: Bạn là một nhà phân tích dữ liệu. Làm theo hướng dẫn chính xác. NGƯỜI DÙNG: Làm sạch bộ dữ liệu dưới đây. Quy tắc: 1) Loại bỏ các hàng mà revenue_gbp hoặc units_sold là null. 2) Đánh dấu giá trị ngoại lai trong revenue_gbp: > 3x giá trị trung bình danh mục HOẶC < 0.1x giá trị trung bình danh mục. Không xóa chúng. 3) Thêm month_over_month_pct: (tháng này - tháng trước) / tháng trước * 100. 4) Chỉ xuất dưới dạng mảng JSON. Mỗi mục phải có: date, category, revenue_gbp, units_sold, region_uk, outlier_flag, month_over_month_pct Bộ dữ liệu: <DÁN DỮ LIỆU VÀO ĐÂY>
Bước 2 — Prompt thông tin chi tiết (đầu ra là các thông tin dạng gạch đầu dòng)
HỆ THỐNG: Bạn là một nhà phân tích cấp cao viết cho đối tượng lãnh đạo UK. NGƯỜI DÙNG: Sử dụng JSON đã được làm sạch bên dưới, tạo ra các thông tin chi tiết: 1) Danh mục: Top 3 theo revenue_gbp, và Top 3 theo month_over_month_pct. Bao gồm % đóng góp. 2) Khu vực: Top 2 khu vực theo doanh thu, và suy giảm lớn nhất (>10%). 3) Xu hướng: Xu hướng tổng thể (tăng/giảm/biến động). Giải thích mối quan hệ giữa doanh thu và đơn vị. Định dạng đầu ra: - Thông tin danh mục: 2-3 gạch đầu dòng - Thông tin khu vực: 2-3 gạch đầu dòng - Thông tin xu hướng: 2-3 gạch đầu dòng JSON đã làm sạch: <DÁN ĐẦU RA BƯỚC 1>
Bước 3 — Prompt viết báo cáo (đầu ra là tài liệu cuối cùng)
HỆ THỐNG: Bạn viết các báo cáo nội bộ súc tích. NGƯỜI DÙNG: Chuyển các thông tin chi tiết bên dưới thành "Tóm Tắt Doanh Thu Hàng Tháng" (800–1,000 từ). Cấu trúc: 1) Tóm tắt điều hành (1 đoạn ngắn) 2) Thông tin chi tiết chính (Danh mục / Khu vực / Xu hướng) 3) Đề xuất (2–3 mục có thể hành động) 4) Kết thúc (1 đoạn ngắn) Sử dụng định dạng GBP (£) và chính tả UK. Thông tin chi tiết: <DÁN ĐẦU RA BƯỚC 2>
Các chuỗi tuyến tính nhàm chán theo cách tốt nhất: chúng có thể dự đoán được, tự động hóa và dễ kiểm tra.
Sử dụng khi: bước tiếp theo phụ thuộc vào quyết định (loại, mức độ nghiêm trọng, ý định).
Bước 1 phân loại tin nhắn:
HỆ THỐNG: Bạn phân loại tin nhắn khách hàng. Chỉ xuất nhãn. NGƯỜI DÙNG: Phân loại tin nhắn này là một trong: - khiếu nại - gợi ý - câu hỏi Định dạng đầu ra: label: <một trong ba> Tin nhắn: "Đơn hàng của tôi đã bị tính phí nhưng không bao giờ đến, và không ai trả lời email của tôi. Thật lố bịch."
Sau đó bạn phân nhánh:
Trình xử lý khiếu nại (ví dụ):
HỆ THỐNG: Bạn là quản lý vận hành khách hàng. NGƯỜI DÙNG: Tạo kế hoạch xử lý khiếu nại cho tin nhắn bên dưới. Bao gồm: 1) Tuyên bố vấn đề 2) Hành động: trong vòng 1 giờ, trong vòng 24 giờ, trong vòng 48 giờ 3) Gợi ý bồi thường (hợp lý cho thương mại điện tử UK) Xuất theo ba phần với gạch đầu dòng. Tin nhắn: <DÁN TIN NHẮN>
Các chuỗi phân nhánh là cách bạn ngừng xử lý mọi đầu vào như cùng một vấn đề.
Sử dụng khi: bạn cần xử lý nhiều mục tương tự, hoặc tinh chỉnh đầu ra theo từng bước.
Bước 1 chia danh sách thành các khối mục:
HỆ THỐNG: Bạn định dạng dữ liệu sản phẩm. NGƯỜI DÙNG: Chia danh sách sản phẩm sau thành các khối riêng biệt. Định dạng đầu ra (lặp lại cho mỗi mục): [MỤC N] name: key_features: target_customer: price_gbp: Danh sách sản phẩm: <DÁN DANH SÁCH>
Bước 2 lặp qua từng khối:
HỆ THỐNG: Bạn viết nội dung sản phẩm có tỷ lệ chuyển đổi cao. NGƯỜI DÙNG: Viết mô tả thương mại điện tử cho sản phẩm bên dưới. Yêu cầu: - Tiêu đề thu hút ≤ 12 từ - 3 gạch đầu dòng tính năng (≤ 18 từ mỗi gạch) - 1 câu: tốt nhất cho ai - 1 câu: tại sao nó có giá trị tốt (sử dụng £) - 150–200 từ tổng cộng, Tiếng Anh UK Sản phẩm: <DÁN MỤC N>
Các chuỗi lặp cần quy tắc dừng cứng:
Nếu không, bạn sẽ tạo ra vòng lặp vô hạn đắt nhất thế giới.
Sửa: làm cho định dạng không thể thỏa hiệp.
Thêm các dòng như:
Sửa: nêu lại "hợp đồng" một cách rõ ràng mỗi lần.
pain_points từ đầu ra trước."Sửa: xác định các ràng buộc có thể đo lường + số lần thử lại tối đa.
Sửa: cải thiện quy tắc phân loại + thêm kiểm tra thứ hai.
Ví dụ:
Bạn có thể chuỗi các prompt thủ công (sao chép/dán hoạt động), nhưng công cụ giúp ích khi bạn vượt qua một vài bước.
Prompt Chaining trở nên mạnh mẽ hơn khi bạn kết hợp nó với:
Prompt Chaining không phải là "nhiều prompt hơn". Đó là thiết kế quy trình làm việc.
Một khi bạn bắt đầu xử lý các prompt như các bước với hợp đồng, xác thực và đường dẫn lỗi, LLM của bạn ngừng hành xử như một trình tạo văn bản hỗn loạn và bắt đầu hoạt động như một đồng đội đáng tin cậy—từng trạm một.
Nếu bạn đang xây dựng bất cứ điều gì ngoài bản demo một lần, hãy chuỗi nó.
\


