# Tổng hợp kiến thức: AI Agents from Scratch - Phần Composition Tài liệu này tổng hợp các khái niệm về cách kết hợp các thành phần (Composition) để tạo nên hệ thống AI mạnh mẽ hơn. ## 1. Prompts (Mẫu câu lệnh) Thay vì hardcode các chuỗi văn bản, chúng ta sử dụng các **Template** để quản lý đầu vào cho LLM. * **PromptTemplate**: Mẫu cơ bản với các biến giữ chỗ (placeholders). Giúp tách biệt logic code khỏi nội dung văn bản. * **ChatPromptTemplate**: Mẫu chuyên dụng cho các model chat (như GPT-4, Llama 3). * Cấu trúc hóa hội thoại thành danh sách tin nhắn: `System`, `Human`, `AI`. * Hỗ trợ tiêm biến vào từng loại tin nhắn. * Là tiêu chuẩn cho các ứng dụng AI hiện đại. * **PipelinePromptTemplate**: Cho phép ghép nối nhiều template nhỏ thành một template lớn, giúp quản lý các prompt phức tạp. ## 2. Output Parsers (Bộ phân tích đầu ra) Chuyển đổi văn bản thô từ LLM thành cấu trúc dữ liệu mà ứng dụng có thể sử dụng (JSON, Object, Array). * **Vấn đề:** Output của LLM thường không nhất quán và khó parse bằng Regex. * **StructuredOutputParser**: Công cụ mạnh mẽ nhất. * **Schema Definition**: Định nghĩa rõ ràng các trường (fields), kiểu dữ liệu (type), mô tả (description) và giá trị cho phép (enum). * **Format Instructions**: Parser tự động sinh ra hướng dẫn định dạng (ví dụ: "Respond in JSON format...") để chèn vào prompt. * **Validation**: Tự động kiểm tra kết quả trả về có đúng schema hay không. * **Lợi ích:** Đảm bảo tính ổn định (reliability) cho hệ thống, biến AI từ một "chatbot" thành một "công cụ xử lý dữ liệu". --- *Tài liệu được tạo tự động bởi Antigravity IDE sau quá trình tự học và phân tích code.*