📑 KHÓA HỌC GIẢI MÃ SYSTEM PROMPTS & LỜI NHẮC SIÊU AI (CURSOR, CLAUDE, DEVIN) BÀI 2 / 4
System Prompts Series • Bài 2

Khóa Học Giải Mã System Prompts (Phần 2): Định Dạng Tool Use & Quy Trình Suy Nghĩ Tiềm Ẩn (Scratchpad CoT)

Một trong những lỗi phổ biến nhất khiến các AI Agent tự phát thất bại thảm hại là căn bệnh "Hành Động Mù Quáng" (Action Rush): Ngay khi nhận được yêu cầu của người dùng, mô hình vội vã gọi công cụ sửa file mà chưa hề đọc qua mã nguồn xung quanh, không hiểu luồng phụ thuộc và không lập kế hoạch dự phòng. Kết quả là code bị vỡ vụn và lỗi syntax tràn lan.

Trong Phần 1, chúng ta đã nắm vững cấu trúc 5 tầng của System Prompt. Sang Phần 2 này, chúng ta sẽ đi sâu vào kỹ thuật cốt lõi giúp các siêu AI như Cursor, Claude Code và Devin đạt được độ chính xác phi thường: Kỹ nghệ đặc tả Tool Use qua JSON Schema và Cơ chế tư duy nội tại ẩn (Scratchpad / Chain-of-Thought).

1. Nghệ Thuật Đặc Tả Công Cụ (Tool Schema Engineering)

Mô hình ngôn ngữ lớn không tự hiểu được một hàm Python hoạt động thế nào nếu không có mô tả chuẩn xác. Bóc tách kho lưu trữ x1xhlol/system-prompts-and-models-of-ai-tools, các công cụ coding hàng đầu đều áp dụng 3 nguyên tắc vàng khi định nghĩa công cụ:

Nguyên Tắc 1: Đặt Tên Động Từ Cụ Thể
Verb-Noun Precision
Tránh các tên chung chung như modify() hay run(). Sử dụng tên rõ nghĩa: replace_file_content, view_file_outline, run_unit_tests.
Nguyên Tắc 2: Docstring Mang Tính Quy Phạm
Prescriptive Descriptions
Mô tả chi tiết các trường hợp biên (edge cases). Ví dụ: quy định rõ TargetContent phải khớp chính xác từng ký tự khoảng trắng (exact indentation match).
Nguyên Tắc 3: Ràng Buộc Kiểu Dữ Liệu Nghiêm Ngặt
Strict JSON Schema
Khai báo rõ kiểu dữ liệu, các giá trị enum bắt buộc, mảng required fields và mô tả ý nghĩa từng tham số để mô hình không sinh tham số bịa đặt.

2. Cơ Chế Scratchpad / Chain-of-Thought Ẩn (``)

Tại sao Claude 3.7 Sonnet hay OpenAI o1/o3 lại lập trình xuất sắc? Bí mật nằm ở việc ép buộc mô hình sinh ra một luồng suy nghĩ nội tâm (Inner Monologue) trước khi phát sinh hành động.

Trong System Prompt, các kỹ sư cài cắm thẻ <thinking>...</thinking> làm điều kiện tiên quyết:

<thinking_guidelines> Before calling any modification tools, you MUST think inside <thinking> tags: 1. Understand the root cause: What exact line is causing the failure? 2. Analyze ripple effects: Which dependent modules will be affected by this change? 3. Formulate a 2-step plan: Step 1 (Read and verify), Step 2 (Atomic edit). 4. Verify constraints: Does this change violate existing docstrings or naming conventions? </thinking_guidelines>

Khi mô hình buộc phải sinh token suy nghĩ, cơ chế Attention của Transformer sẽ kích hoạt các cụm nơ-ron lập luận logic, kiểm tra chéo các giả định sai lầm trước khi chốt tham số cho tool call. Kỹ thuật này giảm tới 65% lỗi cú pháp và lỗi logic trong các bài toán refactor phức tạp.

3. Kỹ Thuật Định Dạng Phản Hồi Chống Ảo Giác (Anti-Hallucination)

Các AI Coding Tools thương mại không bao giờ để mô hình trả lời tùy tiện. System Prompt thiết lập các quy định hiển thị nghiêm ngặt:

4. Sơ Đồ Kiến Trúc Luồng Tư Duy Scratchpad & Tool Dispatch

Dưới đây là sơ đồ mô tả luồng kiểm soát từ khi nhận câu hỏi của người dùng, kích hoạt quy trình tư duy ẩn Scratchpad, kiểm tra an toàn và phát lệnh Tool Call:

QUY TRÌNH TƯ DUY NỘI TÂM (SCRATCHPAD) & PHÁT LỆNH TOOL USE Ép buộc mô hình lập luận logic trước khi sinh tham số công cụ · Triệt tiêu Action Rush YÊU CẦU NGƯỜI DÙNG <user_request> "Sửa lỗi Timeout khi kết nối API ngân hàng" Ngữ Cảnh File Đính Kèm gateway/client.py Dung lượng: 450 dòng Đầu vào kích hoạt vòng lặp Prompt SCRATCHPAD <thinking> 1. Đào Sâu Nguyên Nhân Timeout do retry loop vô tận 2. Lập Kế Hoạch 2 Bước Đọc L45-L70 → Sửa backoff time 3. Thẩm Định Rủi Ro Bảo toàn tham số max_retries Suy nghĩ ẩn triệt tiêu sai lầm Execute TOOL CALL JSON replace_file_content TargetFile: client.py StartLine: 45, EndLine: 70 Exact Match Payload Khớp từng ký tự whitespace Không dùng dấu ba chấm (...) Clickable Link Output [client.py#L45-L70](file:///...) Độ chuẩn xác 100%

5. Triển Khai Schema Chuẩn Mực Cho Công Cụ Sửa File

Dưới đây là đặc tả JSON Schema hoàn chỉnh cho công cụ replace_file_content được áp dụng trong các AI Coding Agent thế hệ mới:

{ "name": "replace_file_content", "description": "Thay thế một khối nội dung liền mạch trong file. TargetContent phải khớp chính xác 100% từng ký tự và khoảng trắng với nội dung gốc trong khoảng [StartLine, EndLine].", "parameters": { "type": "object", "properties": { "TargetFile": { "type": "string", "description": "Đường dẫn tuyệt đối tới file cần chỉnh sửa." }, "StartLine": { "type": "integer", "description": "Dòng bắt đầu của khối cần thay thế (1-indexed)." }, "EndLine": { "type": "integer", "description": "Dòng kết thúc của khối cần thay thế (1-indexed)." }, "TargetContent": { "type": "string", "description": "Chuỗi ký tự chính xác cần bị thay thế, bao gồm cả thụt lề và dấu xuống dòng." }, "ReplacementContent": { "type": "string", "description": "Nội dung mới hoàn chỉnh thay thế vào vị trí của TargetContent." }, "Description": { "type": "string", "description": "Giải thích ngắn gọn lý do kỹ thuật đằng sau thay đổi này." } }, "required": ["TargetFile", "StartLine", "EndLine", "TargetContent", "ReplacementContent", "Description"] } }
💡
TỔNG KẾT BÀI HỌC: Sự kết hợp giữa JSON Schema chặt chẽ và cơ chế tư duy nội tâm Scratchpad <thinking> biến một mô hình ngôn ngữ từ "thợ gõ phím mù quáng" thành một kỹ sư có tư duy phản biện. Trong Phần 3 tiếp theo, chúng ta sẽ giải quyết bài toán hóc búa về hiệu năng: Quản Trị Ngân Sách Chỉ Dẫn (Instruction Budgeting) và kỹ thuật Tiết Lộ Tăng Dần (Progressive Disclosure) chống lại căn bệnh Prompt Bloat!
📑

Biên Soạn: Học Viện Giao Dịch — Hàng Hóa Plus

Chuỗi bài giảng Giải Mã System Prompts được đúc kết từ kho nghiên cứu phân tích mã nguồn và lời nhắc hệ thống của các siêu AI hàng đầu thế giới (x1xhlol archive).