Cách thêm tính năng AI vào ứng dụng của bạn
Để thêm tính năng AI vào ứng dụng, hãy gọi API mô hình ngôn ngữ lớn (LLM) từ máy chủ của bạn: gửi cho nó chỉ dẫn rõ ràng cùng dữ liệu liên quan, rồi dùng kết quả trả về. Đa số tính năng hữu ích thuộc một trong bốn mẫu — tóm tắt, chat, trích xuất dữ liệu có cấu trúc và phân loại — và mỗi mẫu chỉ cần vài chục dòng mã mà một công cụ tạo ứng dụng bằng AI có thể viết cho bạn. Phần việc quyết định tính năng có tốt hay không nằm xung quanh lệnh gọi đó: giữ khóa API ở máy chủ, kiểm soát chi phí cho từng người dùng, và kiểm tra đầu ra trước khi tin cậy nó.
Bốn mẫu đứng sau đa số tính năng AI
| Mẫu | Chức năng | Ví dụ tính năng | Đầu ra thường thấy |
|---|---|---|---|
| Tóm tắt | Biến văn bản dài thành văn bản ngắn | Ghi chú họp, tóm tắt ticket, "những gì đã thay đổi" trong một tài liệu | Một đoạn văn hoặc danh sách gạch đầu dòng |
| Chat | Trả lời câu hỏi trong hội thoại, thường về dữ liệu của bạn | Trợ lý hỗ trợ, "hỏi tài liệu của bạn", hướng dẫn làm quen | Văn bản truyền trực tiếp |
| Trích xuất | Lấy các trường có cấu trúc từ văn bản hoặc hình ảnh lộn xộn | Thông tin hóa đơn từ PDF, liên hệ từ chữ ký email, dữ liệu việc làm từ tin tuyển dụng | JSON theo một schema |
| Phân loại | Chọn một nhãn từ tập cố định | Chuyển tiếp ticket hỗ trợ, gắn nhãn phản hồi theo chủ đề, đánh dấu tin nhắn khẩn, nhận diện ngôn ngữ | Một nhãn, có thể kèm ghi chú độ tin cậy |
Trích xuất và phân loại thường là phần có giá trị nhất nhưng ít được chú ý nhất. Chúng âm thầm tiết kiệm cho ai đó vài phút trên mỗi bản ghi, và vì đầu ra có hình dạng cố định nên bạn có thể kiểm tra tự động. Chat là phần dễ nhìn thấy nhất nhưng khó làm đúng nhất, và có hướng dẫn riêng: cách xây dựng ứng dụng chatbot AI.
Cách nó khớp vào ứng dụng của bạn
Mọi mẫu đều có cùng cấu trúc:
- Người dùng thực hiện hành động — nhấn "Tóm tắt", tải tệp lên, gửi tin nhắn.
- Frontend của bạn gọi máy chủ của chính bạn, không gọi nhà cung cấp AI.
- Máy chủ tạo yêu cầu: chỉ dẫn hệ thống, đầu vào của người dùng, và bất kỳ dữ liệu nào mô hình cần từ cơ sở dữ liệu — chỉ những dữ liệu người dùng này được phép xem.
- Máy chủ gọi API LLM với khóa được lưu trong biến môi trường.
- Máy chủ kiểm tra phản hồi — JSON hợp lệ, nhãn đã biết, độ dài hợp lý — rồi lưu hoặc trả về.
- Frontend hiển thị kết quả, truyền văn bản dần khi đến nếu câu trả lời dài.
Khóa nằm trên máy chủ ở bước 4 và không bao giờ đến được trình duyệt. Nếu khái niệm API còn mới với bạn, API là gì là phần giới thiệu ngắn, và cách dùng API LLM giải thích sâu hơn về token, mô hình và khóa.
Chọn nhà cung cấp và mô hình
Các nhà cung cấp lớn — OpenAI, Anthropic, Google và những đơn vị khác — đều có API văn bản với hình dạng khá tương tự nhau. Một số câu hỏi hữu ích khi lựa chọn:
- Chất lượng với tác vụ của bạn. Thử vài ví dụ thực tế từ ứng dụng trên hai hoặc ba mô hình. Sự khác biệt thường rõ hơn trên dữ liệu của bạn so với các bảng đánh giá chung.
- Kích thước so với chi phí. Nhà cung cấp đưa ra mô hình lớn hơn, mạnh hơn và mô hình nhỏ hơn, rẻ hơn, nhanh hơn. Phân loại và trích xuất đơn giản thường chạy tốt trên mô hình nhỏ; suy luận dài hoặc viết tinh tế có thể cần mô hình lớn.
- Đầu ra có cấu trúc. Với trích xuất và phân loại, hãy ưu tiên tính năng API khiến mô hình trả về JSON theo schema bạn cung cấp, thay vì phân tích văn bản tự do.
- Xử lý dữ liệu. Đọc điều khoản của nhà cung cấp về việc đầu vào API có được lưu hay dùng để huấn luyện không, và điều đó có phù hợp với dữ liệu người dùng cung cấp hay không.
- Giới hạn. Tài khoản mới thường có giới hạn tốc độ thấp hơn; hãy kiểm tra trước khi ra mắt.
Tên và giá mô hình thay đổi thường xuyên, vì vậy mã nên đọc tên mô hình từ cấu hình thay vì viết cứng ở nhiều nơi.
Thêm một tính năng, từng bước
Lấy một ví dụ cụ thể: một CRM nhỏ, nơi mỗi liên hệ có lịch sử ghi chú dài.
1. Lưu khóa. Tạo khóa trong bảng điều khiển của nhà cung cấp và lưu nó như một bí mật phía máy chủ, ví dụ OPENAI_API_KEY hoặc ANTHROPIC_API_KEY.
2. Yêu cầu một tính năng hẹp:
Thêm nút "Tóm tắt" vào trang liên hệ. Trên máy chủ, gửi 20 ghi chú gần nhất của liên hệ tới [PROVIDER] bằng bí mật [ENV_NAME], với chỉ dẫn viết ba gạch đầu dòng: trạng thái hiện tại, các câu hỏi còn mở, và bước tiếp theo. Chỉ đưa vào các ghi chú mà người dùng đã đăng nhập được xem. Hiển thị trạng thái đang tải, lưu bản tóm tắt kèm thời gian, và hiện "Hiện chưa thể tóm tắt" nếu lệnh gọi thất bại. Không bao giờ gửi khóa tới trình duyệt.
3. Thêm trích xuất ở những chỗ tiết kiệm việc gõ:
Khi người dùng dán chữ ký email vào ô "Thêm nhanh", gọi [PROVIDER] trên máy chủ và trả về JSON gồm họ tên, công ty, chức danh, email và số điện thoại, bằng tính năng đầu ra có cấu trúc của nhà cung cấp. Kiểm tra JSON trên máy chủ, điền sẵn vào biểu mẫu liên hệ mới, và để người dùng chỉnh sửa trước khi lưu. Để trống các trường thay vì đoán.
"Để người dùng chỉnh sửa trước khi lưu" là phần quan trọng nhất: mô hình đề xuất, người quyết định.
4. Phân loại ở chế độ nền:
Khi có ticket hỗ trợ mới, phân loại nó vào đúng một trong các nhãn: billing, bug, feature request, account access, other. Dùng một mô hình nhỏ, chi phí thấp. Nếu phản hồi không nằm trong các nhãn đó, lưu "other". Hiển thị nhãn như một thẻ có thể chỉnh sửa.
5. Kiểm tra với dữ liệu thật lộn xộn — ghi chú dài, ghi chú trống, ngôn ngữ khác, chữ ký không có số điện thoại — và xem hai mươi kết quả cạnh nhau trước khi phát hành.
Viết chỉ dẫn hiệu quả
Chỉ dẫn bạn gửi kèm mỗi yêu cầu (thường gọi là system prompt) là nơi chất lượng bắt nguồn.
- Nói rõ nó dành cho ai và thế nào là tốt. "Bản tóm tắt được nhân viên bán hàng đọc trong 10 giây trước cuộc gọi" cho mô hình một mục tiêu.
- Cố định định dạng. Số gạch đầu dòng chính xác, giới hạn độ dài, các trường, nhãn.
- Nói rõ phải làm gì khi không chắc. "Nếu ghi chú không đề cập bước tiếp theo, hãy viết 'Chưa ghi nhận bước tiếp theo'." Điều này làm giảm câu trả lời bịa đặt.
- Đưa hai hoặc ba ví dụ về đầu vào và đầu ra tốt cho trích xuất và phân loại.
- Tách chỉ dẫn khỏi nội dung người dùng, và ghi nhãn rõ ràng cho nội dung người dùng để mô hình phân biệt được.
Giữ các prompt trong tệp của mã nguồn để chúng được quản lý phiên bản và xem xét như mọi đoạn mã khác.
Giữ chi phí trong tầm kiểm soát
API LLM tính phí theo token — các đoạn văn bản nhỏ — cho cả nội dung gửi đi và nội dung trả về. Chi phí tăng theo lượng ngữ cảnh mỗi yêu cầu nhân với số lần chạy. Các biện pháp kiểm soát thực tế:
- Chỉ gửi những gì cần thiết. 20 ghi chú gần nhất, không phải toàn bộ lịch sử. Cắt bớt hoặc chia nhỏ tài liệu dài.
- Dùng mô hình nhỏ nhất đủ làm việc. Thử trước khi mặc định chọn mô hình lớn nhất.
- Giới hạn độ dài đầu ra bằng cài đặt số token tối đa của API.
- Lưu kết quả vào bộ nhớ đệm. Lưu bản tóm tắt và chỉ tạo lại khi nguồn thay đổi, thay vì mỗi lần xem trang.
- Giới hạn theo người dùng. Hạn mức hằng ngày cho mỗi tài khoản hoặc mỗi gói sẽ ngăn một người dùng nhiều việc, hoặc một script, làm tăng hóa đơn.
- Giới hạn tốc độ endpoint như bất kỳ route tốn kém nào khác.
- Đặt ngân sách hoặc cảnh báo trong bảng điều khiển của nhà cung cấp, và kiểm tra mức sử dụng hằng tuần sau khi ra mắt.
- Ghi lại mức dùng token theo từng tính năng để biết tính năng nào tốn bao nhiêu.
Nếu tính năng AI là trung tâm của sản phẩm, hãy đưa chi phí vận hành của chúng vào giá bán thay vì tự gánh.
An toàn và tin cậy
Đầu ra của AI mang tính xác suất. Nó có thể sai trong khi nghe rất tự tin, và nó có thể bị dẫn dắt bởi văn bản mà nó đọc. Hãy xây dựng với điều đó trong đầu:
- Coi đầu ra là đầu vào không đáng tin. Kiểm tra cấu trúc, thoát ký tự trước khi hiển thị dưới dạng HTML, và không bao giờ chạy nó như mã hay truy vấn cơ sở dữ liệu.
- Giữ con người trong vòng lặp với mọi thứ có hậu quả — gửi email, thay đổi bản ghi, hoàn tiền. Mô hình soạn thảo; một người xác nhận.
- Phòng chống prompt injection. Một tài liệu hoặc tin nhắn có thể chứa văn bản kiểu "bỏ qua chỉ dẫn của bạn". Giới hạn những gì mô hình thấy ở mức người dùng hiện tại được phép xem, và không cấp cho nó công cụ có thể thực hiện hành động nhạy cảm mà mã của bạn chưa kiểm tra quyền.
- Gắn nhãn nội dung AI để người dùng biết một bản tóm tắt hay gợi ý là do AI tạo ra và có thể kiểm tra lại.
- Xử lý lỗi một cách êm đẹp. Nhà cung cấp có lúc gián đoạn hoặc bị giới hạn tốc độ. Hãy đặt thời gian chờ, hiển thị thông báo rõ ràng, và để phần còn lại của ứng dụng vẫn hoạt động.
- Theo dõi những gì người dùng gửi. Với ô nhập văn bản mở, hãy cân nhắc bước kiểm duyệt và nói rõ trong chính sách quyền riêng tư rằng nội dung được xử lý bởi nhà cung cấp AI bên thứ ba.
Danh sách kiểm tra đầy đủ hơn nằm trong danh sách kiểm tra bảo mật cho ứng dụng xây bằng AI.
Những lỗi thường gặp
- Bắt đầu bằng một chatbot tổng quát trong khi một nút "Tóm tắt" hoặc "Phân loại" đơn giản sẽ giúp được nhiều người hơn.
- Đặt khóa trong mã frontend hoặc trong kho mã công khai.
- Gửi toàn bộ cơ sở dữ liệu làm ngữ cảnh, điều này chậm, tốn kém và có nguy cơ lộ dữ liệu của người dùng khác.
- Tin vào đầu ra văn bản tự do trong khi một schema hoặc tập nhãn cố định sẽ giúp kiểm tra được.
- Không có giới hạn theo người dùng, rồi chỉ phát hiện ra khi hóa đơn đầu tiên đến.
Thêm tính năng AI với Mythex
Trên Mythex, bạn thêm AI vào chính ứng dụng của mình bằng cách yêu cầu trong chat, dùng khóa nhà cung cấp của riêng bạn. Lưu khóa như một bí mật dự án — khi agent cần, Mythex sẽ hiển thị thẻ nhập bí mật trong chat để bạn không phải dán khóa vào cuộc trò chuyện — và agent sẽ viết route phía máy chủ, các prompt và giao diện. Mức dùng AI của ứng dụng được nhà cung cấp của bạn tính phí, tách biệt với credit Mythex mà bạn dùng để xây dựng. Tài liệu có một prompt mẫu trong thêm tính năng AI với khóa API của riêng bạn.
Câu hỏi thường gặp
Làm thế nào để thêm AI vào một ứng dụng đã có?
Lấy khóa API từ một nhà cung cấp LLM, lưu nó như một bí mật phía máy chủ, và thêm một route phía máy chủ gửi prompt cùng dữ liệu liên quan tới nhà cung cấp, rồi trả kết quả về giao diện. Hãy bắt đầu với một tính năng hẹp, chẳng hạn tóm tắt một bản ghi, trước khi xây dựng chat tổng quát.
Các tính năng AI tốn bao nhiêu chi phí để vận hành?
API LLM tính phí theo token — khoảng theo từng đoạn văn bản gửi đi và nhận về — với mức giá khác nhau rất nhiều tùy mô hình. Chi phí phụ thuộc vào lượng văn bản mỗi yêu cầu mang theo và tần suất chạy, nên hãy ước tính từ mức sử dụng thực tế của bạn, đặt giới hạn trong bảng điều khiển của nhà cung cấp, và giới hạn mức dùng cho mỗi người dùng trong ứng dụng.
Tôi có thể đặt khóa OpenAI hoặc Anthropic ở frontend không?
Không. Bất cứ thứ gì trong mã frontend đều có thể bị bất kỳ ai mở trang đọc được, và khóa bị lộ sẽ cho người lạ quyền làm tăng hóa đơn của bạn. Hãy gọi nhà cung cấp từ máy chủ, nơi khóa được giữ trong biến môi trường.
Prompt injection là gì?
Đó là khi văn bản mà mô hình đọc — tin nhắn người dùng, tài liệu tải lên, một trang web — chứa các chỉ dẫn cố ghi đè chỉ dẫn của bạn. Hãy coi đầu ra của mô hình là không đáng tin, không bao giờ để nó kích hoạt các hành động nhạy cảm mà không có kiểm tra, và giới hạn dữ liệu nó có thể thấy ở mức người dùng được phép xem.