# Kỹ Thuật Symbolic AI - **Symbolic AI** = AI suy luận bằng **ký hiệu, quy tắc, luật logic**. - Mọi thứ trong Symbolic AI là **"suy nghĩ như con người"**: có điều kiện, có suy luận "nếu thì", có quy tắc ràng buộc. - Ví dụ: > Nếu chi phí quảng cáo Google > 50% tổng ngân sách thì phải giảm ngân sách Facebook. Nó là **gốc rễ** của AI cổ điển (những năm 1950–1990) Ngày nay, chúng ta **không còn** lập trình Prolog hay Lisp như xưa nữa, mà dùng **Prompt + LLMs** để: - **Mô tả quy tắc** - **Ràng buộc điều kiện** - **Bắt AI lập luận (reasoning) theo luật** **=> Tức là: Prompt chính là Symbolic Programming, nhưng bằng ngôn ngữ tự nhiên có cấu trúc.** #### **Ứng dụng Symbolic AI vào viết Prompt** **Bạn phải viết Prompt theo **nguyên tắc Symbolic**:**
**Quy tắc****Cách làm**
**Xác định mục tiêu rõ ràng**"Tối ưu hóa ngân sách marketing 10,000 USD."
**Nêu các biến số (symbols)**"Có 3 kênh: Google (G), Facebook (F), Email (E)."
**Đặt luật (constraints)**"G + F + E = 10,000. G ≥ 5,000. E ≤ 2,000."
**Chỉ định đầu ra mong muốn**"Xuất ra bảng phân phối ngân sách."
Ví dụ Ví dụ **viết prompt tối ưu ngân sách marketing**: ``` Yêu cầu: Phân bổ ngân sách marketing 10.000 USD vào ba kênh: Quảng cáo Google (G) Quảng cáo Facebook (F) Marketing qua Email (E) Các ràng buộc (Constraints): G + F + E = 10.000 (Tổng chi ngân sách đúng 10.000 USD) G ≥ 5.000 (Google phải chi ít nhất 5.000 USD) F ≥ 3.000 (Facebook phải chi ít nhất 3.000 USD) E ≤ 2.000 (Email tối đa chỉ được chi 2.000 USD) Mục tiêu (Goal): Tìm ra một hoặc nhiều bộ phân bổ hợp lệ (G, F, E). Xuất kết quả thành bảng dạng markdown, với các cột: Kênh (Channel) và Ngân sách (Budget $). ``` Kết quả Dựa trên yêu cầu của bạn, ta cần tìm các bộ phân bổ `(G, F, E)` sao cho: - G + F + E = 10.000 - G ≥ 5.000 - F ≥ 3.000 - E ≤ 2.000 --- Ta phân tích nhanh: - Vì E tối đa 2.000 USD nên G + F tối thiểu là 8.000 USD. - G phải ít nhất 5.000 USD, F ít nhất 3.000 USD. - Với E càng nhỏ thì G và F càng lớn. - Vì tổng cố định 10.000 USD, nên chỉ cần tìm các giá trị của E từ 0 → 2.000 thoả mãn. Ta kiểm tra một số trường hợp hợp lệ:
E (USD)G + F (USD)G min (5000)F min (3000)Hợp lệ không?
20008000
15008500
10009000
5009500
010000
#### **Bài tập thực hành** #### **Bài 1: Prompt Symbolic AI trong Kế toán (Accounting)** **Yêu cầu:** Xác định các khoản mục kế toán hợp lệ để báo cáo lãi lỗ quý 1. **Dữ liệu đầu vào:** - Tổng Doanh thu (Revenue) = 500.000 USD - Chi phí vận hành (Operating Expenses) = 300.000 USD - Thu nhập khác (Other Income) = 20.000 USD - Chi phí khác (Other Expenses) = 15.000 USD **Công thức ràng buộc (Constraints):** - Lợi nhuận trước thuế (Profit Before Tax) = (Doanh thu + Thu nhập khác) – (Chi phí vận hành + Chi phí khác) **Mục tiêu (Goal):** - Tính toán và xuất ra bảng kết quả gồm các cột: `Khoản mục (Item)` | `Giá trị (USD)` **Yêu cầu đặc biệt:** - Tính toán nội bộ từng bước nếu cần. - **Chỉ trả về bảng kết quả cuối cùng.** --- Nếu bạn viết Prompt cho AI sẽ như thế này: > **Prompt:** > Hãy tính lợi nhuận trước thuế dựa trên các dữ liệu sau: > > - Doanh thu: 500.000 USD > - Chi phí vận hành: 300.000 USD > - Thu nhập khác: 20.000 USD > - Chi phí khác: 15.000 USD > > Áp dụng công thức: > Profit Before Tax = (Revenue + Other Income) – (Operating Expenses + Other Expenses) > > Xuất kết quả dưới dạng bảng Markdown, các cột: `Khoản mục`, `Giá trị (USD)`. > > Nếu cần suy luận, hãy làm nội bộ. > **Chỉ trả về bảng.** ##### **Ví dụ2: Prompt Symbolic AI trong Quản lý chất lượng (Quality Control)** **Yêu cầu:** Phân loại sản phẩm theo kết quả kiểm tra chất lượng. **Dữ liệu đầu vào:** - 100 sản phẩm kiểm tra - Kết quả: - 80 sản phẩm đạt tiêu chuẩn (Pass) - 15 sản phẩm cần sửa lỗi (Repair) - 5 sản phẩm loại bỏ (Reject) **Ràng buộc (Constraints):** - Tổng số lượng phải đúng bằng 100. **Mục tiêu (Goal):** - Tạo bảng phân loại sản phẩm gồm các cột: `Trạng thái (Status)` | `Số lượng (Quantity)` | `Tỷ lệ (%)` **Yêu cầu đặc biệt:** - Tính tỷ lệ phần trăm (%) chính xác cho từng loại. - Chỉ xuất ra bảng cuối cùng. --- Prompt Symbolic AI sẽ viết như sau: > **Prompt:** > Cho 100 sản phẩm sau kiểm tra chất lượng: > > - 80 sản phẩm đạt tiêu chuẩn (Pass) > - 15 sản phẩm cần sửa lỗi (Repair) > - 5 sản phẩm bị loại bỏ (Reject) > > Tạo bảng phân loại gồm 3 cột: > > - `Trạng thái (Status)` > - `Số lượng (Quantity)` > - `Tỷ lệ (%)` (Tính theo tổng 100 sản phẩm) > > Nếu cần suy luận bước trung gian, hãy thực hiện nội bộ. > > **Chỉ trả về bảng kết quả dạng Markdown.** ### Kết luận Prompt kiểu Symbolic AI: - Cấu trúc rõ ràng: Đầu vào – Ràng buộc – Mục tiêu – Yêu cầu đặc biệt - Đặc biệt nhấn mạnh: **Suy luận nội bộ**, **Chỉ trả về kết quả**, không kể lể dài dòng - Các Prompt này giống như bạn **đặt bài toán** cho AI giải như cách lập trình logic thời Symbolic AI (như Prolog) nhưng hiện đại hơn và dành cho LLM. ***Tác giả: Đỗ Ngọc Tú Công Ty Phần Mềm [VHTSoft](https://vhtsoft.com/ "Công Ty Phần Mềm VHTSoft")***