Giới thiệu

Chào bạn! Đã bao giờ bạn tự hỏi làm thế nào để ứng dụng của mình không chỉ trả về các dòng văn bản nhàm chán từ AI, mà thay vào đó là những biểu đồ sống động, các bảng dữ liệu tương tác hay thậm chí là một dashboard hoàn chỉnh chưa? Đó chính là lúc Generative UI lên ngôi.

Tambo AI là một bộ công cụ (SDK) mã nguồn mở dành cho React, cho phép bạn xây dựng các AI Agent có khả năng "nói chuyện bằng giao diện". Thay vì chỉ mô tả dữ liệu, Agent sẽ trực tiếp chọn và render các component phù hợp nhất với ngữ cảnh của người dùng.

Một vài con số ấn tượng về dự án:

  • Stars: 9,236+
  • Forks: 443
  • Ngôn ngữ chính: TypeScript

Tính năng nổi bật

  • Generative UI thông minh: AI tự động quyết định component nào cần hiển thị dựa trên schema bạn định nghĩa qua Zod.
  • Streaming Infrastructure: Hỗ trợ truyền dữ liệu (streaming) các props trực tiếp vào component ngay khi AI đang tạo ra chúng, giúp trải nghiệm mượt mà không có độ trễ.
  • Interactable Components: Không chỉ hiển thị, các component còn có thể duy trì trạng thái và cho phép người dùng tương tác trực tiếp (ví dụ: cập nhật ghi chú, thay đổi màu sắc).
  • Hỗ trợ MCP (Model Context Protocol): Kết nối dễ dàng với các dịch vụ bên thứ ba như Slack, Linear hoặc database của riêng bạn.
  • Đa dạng LLM: Tương thích tốt với OpenAI, Anthropic, Gemini, Mistral và nhiều nhà cung cấp khác.

Cài đặt

Việc bắt đầu với Tambo cực kỳ đơn giản. Bạn có thể khởi tạo một dự án mới hoàn toàn chỉ với một dòng lệnh:

npm create tambo-app@latest my-tambo-app
cd my-tambo-app
npm run dev

Hoặc nếu bạn muốn thêm vào dự án hiện có, hãy cài đặt package core:

npm install @tambo-ai/react zod

Hướng dẫn sử dụng

1. Định nghĩa Component

Đầu tiên, bạn cần cho AI biết nó có thể sử dụng những component nào bằng cách định nghĩa một Zod schema cho props.

import { z } from "zod";

const components = [
  {
    name: "WeatherCard",
    description: "Hiển thị thông tin thời tiết của một thành phố",
    component: WeatherCard,
    propsSchema: z.object({
      location: z.string(),
      temp: z.number(),
      condition: z.enum(["sunny", "cloudy", "rainy"]),
    }),
  },
];

2. Thiết lập Provider

Bao bọc ứng dụng của bạn bằng TamboProvider để quản lý luồng hội thoại và trạng thái của Agent.

import { TamboProvider } from "@tambo-ai/react";

function App() {
  return (
    <TamboProvider
      apiKey={process.env.NEXT_PUBLIC_TAMBO_API_KEY}
      userKey="user-123"
      components={components}
    >
      <ChatInterface />
    </TamboProvider>
  );
}

Case Study: Dashboard Phân Tích

Khi người dùng yêu cầu "Hãy cho tôi xem doanh thu vùng miền", thay vì trả về text, Agent sẽ gọi component Graph với dữ liệu JSON được stream trực tiếp vào các props, giúp biểu đồ hiện ra ngay lập tức trước mắt người dùng.

Kết luận

Ưu điểm:

  • Trải nghiệm người dùng cực kỳ hiện đại và linh hoạt.
  • Dễ dàng tích hợp nhờ Zod và React.
  • Hỗ trợ tốt cho cả Cloud và Self-hosted.

Nhược điểm:

  • Đòi hỏi kiến thức về Agentic workflows để tối ưu hóa prompts.
  • Chi phí API LLM có thể tăng nếu xử lý quá nhiều component phức tạp.

Ai nên dùng? Nếu bạn đang xây dựng các ứng dụng SaaS, Dashboard phân tích dữ liệu hoặc các công cụ quản lý tác vụ muốn đưa AI vào làm cốt lõi của trải nghiệm người dùng, Tambo AI chính là lựa chọn hàng đầu.

Hãy thử ngay và cho mình biết cảm nhận của bạn nhé!


GitHub - tambo-ai/tambo: Generative UI SDK for React
Generative UI SDK for React. Contribute to tambo-ai/tambo development by creating an account on GitHub.