Giới Thiệu AI Agents

AI Agent là gì, các loại agent, và khi nào nên sử dụng

AI Agent Là Gì?

AI Agents là hệ thống cho phép Large Language Models (LLMs) thực hiện hành động bằng cách mở rộng khả năng của LLM thông qua toolsknowledge.

Hãy phân tích từng phần:

Các Thành Phần Cơ Bản

  • System — Agent không phải một component đơn lẻ mà là một hệ thống gồm nhiều phần:

    • Environment: Không gian agent hoạt động (ví dụ: hệ thống booking, codebase, database)
    • Sensors: Thu thập thông tin từ environment (API responses, user input, file system)
    • Actuators: Thực hiện hành động thay đổi environment (gọi API, viết file, gửi email)
  • LLM — Điểm khác biệt so với agent truyền thống: khả năng hiểu ngôn ngữ tự nhiên và dữ liệu. LLM diễn giải thông tin từ environment và lập kế hoạch hành động.

  • Tools — LLM được “mở rộng” bằng các công cụ: function calling, API calls, database queries, file operations.

  • Memory & Knowledge — Bộ nhớ ngắn hạn (conversation context) và dài hạn (database, vector stores, external knowledge).

Các Loại AI Agents

Loại AgentMô TảVí Dụ
Simple ReflexHành động dựa trên rules cố địnhChatbot tự động chuyển email khiếu nại sang bộ phận hỗ trợ
Model-Based ReflexHành động dựa trên model của thế giới và sự thay đổiAgent ưu tiên routes có biến động giá dựa trên dữ liệu lịch sử
Goal-BasedLập kế hoạch đạt mục tiêu cụ thểAgent booking chuyến đi bằng cách xác định phương tiện cần thiết
Utility-BasedCân nhắc preferences và trade-offsAgent tối ưu hoá giữa tiện lợi và chi phí
LearningCải thiện theo thời gian qua feedbackAgent điều chỉnh gợi ý dựa trên đánh giá của người dùng
HierarchicalNhiều agent phân cấp, agent cấp cao chia task cho agent cấp thấpAgent huỷ chuyến đi bằng cách phân chia subtasks cho các agent khác
Multi-Agent SystemsNhiều agent hoạt động độc lập, hợp tác hoặc cạnh tranhNhiều agent cùng booking hotel, flights, entertainment

Khi Nào Nên Sử Dụng AI Agents?

AI Agents phù hợp nhất cho:

1. Open-Ended Problems

Những bài toán mà các bước giải quyết không thể hardcode vào workflow. Agent cần tự xác định cách tiếp cận.

// Ví dụ: User yêu cầu không cụ thể
const userRequest = "Giúp tôi tối ưu performance cho website";
// Agent cần tự:
// 1. Phân tích codebase
// 2. Chạy lighthouse audit
// 3. Xác định bottlenecks
// 4. Đề xuất và implement fixes

2. Multi-Step Processes

Tasks phức tạp yêu cầu nhiều bước, sử dụng tools qua nhiều turns thay vì single-shot retrieval.

3. Improvement Over Time

Tasks mà agent có thể cải thiện theo thời gian qua feedback từ environment hoặc users.

So Sánh: LLM vs AI Agent

┌─────────────────┬───────────────────────────┐
│     LLM thuần   │      AI Agent             │
├─────────────────┼───────────────────────────┤
│ Input → Output  │ Input → Plan → Act → Loop │
│ Stateless       │ Có Memory                 │
│ Chỉ generate    │ Generate + Execute        │
│ Single turn     │ Multi-turn autonomous     │
└─────────────────┴───────────────────────────┘

Ví Dụ Thực Tế: Agent Đơn Giản Với TypeScript

import OpenAI from "openai";

const client = new OpenAI();

// Định nghĩa tool
const tools: OpenAI.ChatCompletionTool[] = [
  {
    type: "function",
    function: {
      name: "get_weather",
      description: "Lấy thông tin thời tiết hiện tại",
      parameters: {
        type: "object",
        properties: {
          location: { type: "string", description: "Tên thành phố" }
        },
        required: ["location"]
      }
    }
  }
];

// Agent loop
async function agent(userMessage: string) {
  const messages: OpenAI.ChatCompletionMessageParam[] = [
    { role: "system", content: "Bạn là trợ lý thời tiết." },
    { role: "user", content: userMessage }
  ];

  const response = await client.chat.completions.create({
    model: "gpt-4o-mini",
    messages,
    tools,
    tool_choice: "auto"
  });

  // Agent tự quyết định có gọi tool không
  const toolCalls = response.choices[0].message.tool_calls;
  if (toolCalls) {
    for (const call of toolCalls) {
      console.log(`Agent gọi tool: ${call.function.name}`);
      console.log(`Arguments: ${call.function.arguments}`);
    }
  }

  return response.choices[0].message.content;
}

Tổng Kết

  • AI Agent = LLM + Tools + Memory + Environment
  • Có nhiều loại agent phù hợp cho các use cases khác nhau
  • Agent phù hợp nhất cho bài toán open-ended, multi-step, cần cải thiện liên tục
  • Trong series này, chúng ta sẽ xây dựng agents bằng TypeScriptPython với OpenAI API