🧠 Codex CLI vs Claude Code vs Gemini CLI

1) Codex CLI — Tóm tắt khả năng & các nâng cấp chính

Codex CLI là agent chạy ngay trong terminal, đóng vai trò “pair programmer” biết lập kế hoạch, dùng công cụ và tự kiểm tra đầu ra theo từng bước. Bản nâng cấp 2025 tập trung vào khả năng cộng tác thời gian thực, theo dõi tiến độ, và kiểm soát quyền truy cập an toàn — giúp bạn chuyển từ các yêu cầu nhỏ tương tác nhanh đến nhiệm vụ dài hơi (refactor, thêm tính năng, viết test) mà không rời môi trường làm việc.

Khả năng cốt lõi

  • Agentic coding trong terminal: ra lệnh, nhận kế hoạch, xem log/diff, và áp dụng thay đổi trực tiếp ở thư mục làm việc; phù hợp cả phiên ngắn (prompt–sửa–chạy) lẫn nhiệm vụ nhiều bước.
  • Hiểu và điều hướng codebase: đọc tập tin liên quan, đề xuất chỉnh sửa/viết mới, chạy lệnh build/test để xác thực; có thể duy trì ngữ cảnh dài hơn nhờ cơ chế nén hội thoại.
  • Tận dụng mô hình tối ưu cho coding: hỗ trợ dùng GPT-5-Codex cho tác vụ cục bộ trong CLI (tùy chọn), cho chất lượng mã và khả năng điều khiển tốt hơn.
  • Tích hợp an toàn theo quyền: làm việc ở các mức cấp quyền khác nhau (chỉ đọc/duyệt thủ công, tự động trong workspace, hoặc toàn quyền có mạng) để cân bằng tốc độ và kiểm soát rủi ro.

Các nâng cấp nổi bật (2025)

  • Đính kèm & chia sẻ hình ảnh ngay trong CLI: gửi screenshot/wireframe/diagram để tạo ngữ cảnh UI chung, từ đó agent bám sát ý đồ thiết kế hơn.
  • Theo dõi tiến độ bằng to-do list: CLI hiển thị các bước việc, trạng thái hoàn thành, và cho phép tiếp tục/điều chỉnh khi tác vụ phức tạp.
  • Công cụ tích hợp tốt hơn: thêm web search và MCP (Model Context Protocol) để kết nối hệ thống bên ngoài với độ chính xác sử dụng công cụ cao hơn.
  • Terminal UI mới: hiển thị lệnh công cụ và diff rõ ràng, dễ theo dõi; giúp bạn duyệt và chấp thuận thay đổi nhanh.
  • Ba chế độ phê duyệt đơn giản: Read-only (duyệt thủ công), Auto (toàn quyền trong workspace, cần duyệt khi ra ngoài), Full access (đọc file bất kỳ & chạy lệnh có mạng); kèm cơ chế nén hội thoại để giữ phiên làm việc dài.
  • Khả dụng & cài đặt nhanh: gói CLI phát hành dạng open-source; cài qua npm và dùng chung tài khoản ChatGPT/Codex để đồng bộ trải nghiệm giữa máy cục bộ, IDE và cloud.

Ý nghĩa thực tiễn

  • Cho phiên ngắn: phản hồi nhanh, sinh/ghi mã, xem diff và hợp nhất từng phần một — rất hợp xây dựng nguyên mẫu, sửa lỗi, viết test.
  • Cho nhiệm vụ dài hơi: theo dõi to-do, dùng công cụ đúng lúc (search/MCP), duy trì ngữ cảnh nhiều giờ; giảm tải việc lặp thủ công và rủi ro “lạc ngữ cảnh”.
  • Cho đội ngũ coi trọng an toàn: mặc định sandbox vô hiệu mạng; mọi thao tác “nhạy cảm” đều có cơ chế xin phép, log minh bạch, và có thể giới hạn miền mạng tin cậy khi cần.

2) Gemini CLI — kết nối & ngữ cảnh dài

Gemini CLI đưa mô hình Gemini vào terminal với thế mạnh nổi bật là khả năng gom ngữ cảnh lớnkhả năng “kéo tri thức ngoài” (web/search, MCP) khi cần. Cách làm việc phù hợp là vừa viết mã vừa tổng hợp tài liệu, quy chuẩn, ví dụ và snippet từ nhiều nguồn ngay trong một phiên.

Khả năng & trải nghiệm chính

  • Tổng hợp đa nguồn: đọc nhiều tệp README/changelog/guide cùng lúc, rút ý và hợp nhất thành checklist hoặc mã khởi tạo.
  • Grounding khi thiếu ngữ cảnh: có thể tra cứu rồi “điền chỗ trống” (thư viện, API mẫu, quy ước thiết kế) để tiếp tục triển khai.
  • Tích hợp công cụ qua MCP/tiện ích: mở rộng tác vụ từ terminal (chạy lệnh, xử lý tệp, thao tác hệ thống) trong cùng một luồng hội thoại.
  • Thích hợp giai đoạn khởi tạo: bootstrap dự án, dựng khung cấu trúc, tạo script cài đặt & cấu hình linter/test nhanh.

Điểm mạnh

  • Gom và “tiêu hoá” tài liệu rất tốt, hữu ích khi yêu cầu dính nhiều quy chuẩn/tiêu chí.
  • Tiện ích terminal đa dạng; có thể chuyển từ thảo luận sang thực thi lệnh liền mạch.
  • Phù hợp các bài toán phải vừa tra cứu vừa phát triển (setup, tích hợp nhiều dịch vụ, tạo sample end-to-end).

Điểm cần lưu ý

  • Đầu ra dễ dài; nên yêu cầu rút gọn hoặc chỉ ghi thay đổi tối thiểu để tránh mã/cấu hình thừa.
  • Ở bài toán nhiều ràng buộc (ví dụ: vật lý/va chạm trong game), logic đôi khi thiếu ổn định — nên kèm test nhỏ để “neo” hành vi mong muốn.
  • Prompt càng dài càng dễ tăng độ trễ; chia nhỏ mục tiêu giúp cải thiện tốc độ và độ chính xác.

Khi nào nên dùng / không nên dùng

  • Nên dùng: khởi tạo dự án, hợp nhất guideline, tạo khung CI/CD, viết script cài đặt; tích hợp SDK/API mới có nhiều tài liệu rải rác.
  • Không lý tưởng: tác vụ yêu cầu logic thời gian thực nhạy cảm (gameplay/physics), hoặc tối ưu UI/animation vi mô cần tinh chỉnh thủ công.

3) Claude Code — độ sâu & tái cấu trúc

Claude Code thiên về hiểu dự ángiữ tính nhất quán trên codebase lớn. Công cụ này làm tốt các việc như điều hướng toàn repo, chuẩn hoá kiến trúc, viết module theo convention, chạy test và thậm chí đề xuất PR hoàn chỉnh với mô tả rõ ràng.

Khả năng & trải nghiệm chính

  • Refactor quy mô lớn: phát hiện trùng lặp, tách mô-đun, chuẩn hoá naming/foldering, giải thích tác động kiến trúc.
  • Review có lý do: output thường kèm chú thích “vì sao” và “cách kiểm chứng”, thuận tiện cho code review theo nhóm.
  • Giữ trạng thái & luồng làm việc: có thể theo dõi đề xuất qua nhiều bước (quét, đổi tên, cập nhật test, cập nhật tài liệu).
  • UI/animation có tổ chức: ở bài front-end đòi hỏi chuyển cảnh hoặc nhiều trạng thái, cách tổ chức logic thường gọn gàng, ít “giật cục”.

Điểm mạnh

  • Rất phù hợp với kế hoạch tái cấu trúc/chuẩn hoá đa mô-đun hoặc khi cần củng cố ranh giới giữa các layer.
  • Đầu ra dễ đọc, có chú thích; thuận lợi cho duy trì lâu dài và onboarding thành viên mới.
  • Hỗ trợ quy trình nhóm: có thể đề xuất commit/PR với mô tả chi tiết, checklist kiểm thử và hướng dẫn rollout.

Điểm cần lưu ý

  • Tốc độ không phải thế mạnh; cần cân nhắc khi deadline gấp hoặc chỉ sửa 1–2 file nhỏ.
  • Để đạt “đúng gu” kiến trúc, nên mô tả convention (naming, foldering, state, test strategy) ngay từ đầu.
  • Với việc rất nhỏ, chi phí thời gian có thể lớn hơn lợi ích so với các công cụ hướng tốc độ.

Khi nào nên dùng / không nên dùng

  • Nên dùng: refactor lớn, nâng cấp framework, tách mô-đun, chuẩn hoá API, dọn nợ kỹ thuật, viết/hoàn thiện test.
  • Không lý tưởng: thử nghiệm nhanh/POC siêu nhỏ, tinh chỉnh UI/copywriting vi mô cần phản hồi tức thì.

4) Bảng so sánh chính (chuẩn hoá)

Tiêu chí Codex CLI Gemini CLI Claude Code
Model nền OpenAI Codex (tối ưu coding) Gemini 2.5 Pro Claude Sonnet 4
Context window ~128K tokens ~1M tokens ~200K tokens (xấp xỉ)
Truy cập FS & Shell
Tính năng khác biệt Tốc độ phản hồi nhanh, vòng lặp ngắn Kéo tri thức ngoài, ngữ cảnh dài Quét codebase, gợi ý PR, chuẩn hoá
Phù hợp nhất cho Prototype, sửa lỗi, tác vụ cục bộ Quy trình “viết mã + tra cứu” Dự án nhiều mô-đun, refactor/maintain
Tốc độ/độ trễ Nhanh nhất Trung bình Chậm hơn
UI/Animation Thiên chức năng Khá tốt, phụ thuộc prompt Mượt & có tổ chức
Xử lý lỗi Cần can thiệp tay ở logic phức tạp Ổn nếu prompt rõ Phát hiện & sửa tốt, kèm giải thích

5) Demo 2 tác vụ cụ thể

Task 1 — Platformer 2D phong cách Super Mario

Prompt: “Tạo một trò chơi platformer 2D cơ bản theo phong cách Super Mario. Trò chơi nên có bố cục đơn giản dựa trên các ô vuông với Mario đứng trên các khối đất, nền trời với những đám mây, khối hình dấu hỏi phía trên và một đường ống màu xanh lá cây gần đó. Bao gồm các cơ chế cơ bản như di chuyển trái/phải và nhảy bằng các phím mũi tên trên bàn phím. Mô phỏng trọng lực và va chạm với các nền tảng. Sử dụng đồ họa theo phong cách pixel-art với các tài nguyên cục bộ được nhúng hoặc tham chiếu.”

Codex CLI

Gemini CLI

Claude Code

Task 2 — Đồng hồ động theo chủ đề thời tiết

Prompt: “Thiết kế và phát triển một bảng điều khiển đồng hồ động theo chủ đề thời tiết với giao diện trực quan phong phú chỉ bằng HTML, CSS và JavaScript. Mục tiêu chính là tạo ra một giao diện đồng hồ thời gian thực, không chỉ hiển thị thời gian hiện tại mà còn tự động điều chỉnh theo thời gian trong ngày. Triển khai bốn hiệu ứng chuyển tiếp nền động thể hiện bình minh, trưa, hoàng hôn và đêm, mỗi hiệu ứng có màu sắc và các yếu tố động riêng biệt như mây trôi, sao lấp lánh, hoặc mặt trời/mặt trăng mọc/lặn, và cung cấp tùy chọn chuyển đổi giữa định dạng thời gian 12 giờ và 24 giờ. Để tăng thêm tính tương tác, hãy thêm một phần hiển thị câu trích dẫn động lực hoặc năng suất theo từng giờ.”

Codex CLI

Gemini CLI

Claude Code

6) Ưu & Nhược điểm thực tế — góc nhìn của bạn

6.1 Codex CLI

Ưu điểm

  • Tốc độ phản hồi rất nhanh; phù hợp vòng lặp “chia nhỏ — chạy thử — sửa — lặp”.
  • Trải nghiệm terminal gọn gàng: xem diff → áp dụng, chạy test/format ngay trong CLI.
  • Ổn định ở tác vụ nhỏ/vừa; giữ mạch công việc tốt khi bạn dẫn dắt bằng checklist/to-do.

Nhược điểm

  • UI/animation phức tạp (parallax, canvas, webGL) thường cần chỉnh tay thêm; thiên về chức năng.
  • Logic nhiều tầng, đa mô-đun: đôi lúc bỏ sót ràng buộc; cần test bao phủ để duy trì chất lượng.
  • Tài liệu hoá sinh tự động thường ngắn; cần yêu cầu bổ sung “why/how”.

6.2 Gemini CLI

Ưu điểm

  • Ngữ cảnh rất lớn: đọc nhiều tệp/README/changelog cùng lúc, tổng hợp nguồn nhanh.
  • Kéo tri thức ngoài (web/search) khi thiếu snippet/tiêu chuẩn, rồi hợp nhất vào triển khai.
  • Hữu ích khi khởi tạo dự án mới cần nhiều guideline & tài liệu tham chiếu.

Nhược điểm

  • Đầu ra thường dài; cần rút gọn để tránh code/CSS dư hoặc cấu trúc rườm rà.
  • Logic chưa ổn định ở bài toán nhiều ràng buộc (ví dụ game với va chạm/trọng lực).
  • Độ trễ trung bình; prompt càng dài càng tốn thời gian suy nghĩ.

6.3 Claude Code

Ưu điểm

  • Hiểu dự án tốt, nổi bật ở refactor, gom code trùng, đặt tên có chủ đích, output có chú thích.
  • UI/animation mượt, trạng thái rõ; phù hợp demo front-end đòi hỏi chuyển cảnh tinh tế.
  • Phù hợp quy trình nhóm: có thể sinh commit/PR có mô tả, tài liệu hoá bài bản.

Nhược điểm

  • Tốc độ chậm hơn; không phù hợp khi cần xử lý “siêu nhanh”.
  • Phụ thuộc prompt chi tiết để đạt kiến trúc “đúng gu”.
  • Với tác vụ rất nhỏ (1–2 file), chi phí thời gian đôi khi lớn hơn lợi ích so với Codex.

7) Chọn công cụ nào theo nhu cầu

Muốn tốc độ & vòng lặp ngắn

Chọn Codex. Giao tác vụ nhỏ-vừa, kiểm diff theo bước; tận dụng test/format tự động để “khoanh vùng lỗi” nhanh.

Muốn kéo ngữ cảnh ngoài & tìm kiếm

Chọn Gemini. Gom README, guideline, link web → hợp nhất checklist & script; hữu ích khi khởi tạo dự án nhiều ràng buộc.

Muốn refactor & quản lý codebase lớn

Chọn Claude. Giao nhiệm vụ tổ chức lại cấu trúc, sinh PR có mô tả; yêu cầu giải thích kiến trúc & tác động.

Revolutionizing Test Automation with Playwright Agents

 

🎭 Revolutionizing Test Automation with Playwright Agents

How AI-Powered Agents are Transforming E2E Testing

📅 October 2025
⏱️ 5 min read
🏷️ Testing, AI, Automation

Imagine this: You describe what you want to test, and AI generates comprehensive test plans, writes the actual test code, and even fixes failing tests automatically. This isn’t science fiction—it’s Playwright Agents, and it’s available today.

Playwright has introduced three powerful AI agents that work together to revolutionize how we approach test automation: the Planner, Generator, and Healer. Let’s dive deep into how these agents are changing the game.

What Are Playwright Agents?

Playwright Agents are AI-powered tools that automate the entire test creation and maintenance lifecycle. They can work independently or sequentially in an agentic loop, producing comprehensive test coverage for your product without the traditional manual overhead.

🎯

Planner Agent

The Planner is your AI test strategist. It explores your application and produces detailed, human-readable test plans in Markdown format.

How It Works:

  • Input: A clear request (e.g., “Generate a plan for guest checkout”), a seed test that sets up your environment, and optionally a Product Requirements Document
  • Process: Runs the seed test to understand your app’s structure, analyzes user flows, and identifies test scenarios
  • Output: Structured Markdown test plans saved in specs/ directory with detailed steps and expected results
💡 Pro Tip: The Planner uses your seed test as context, so it understands your custom fixtures, authentication flows, and project setup automatically!

Example Output:

# TodoMVC Application - Basic Operations Test Plan

## Test Scenarios

### 1. Adding New Todos
#### 1.1 Add Valid Todo
**Steps:**
1. Click in the "What needs to be done?" input field
2. Type "Buy groceries"
3. Press Enter key

**Expected Results:**
- Todo appears in the list with unchecked checkbox
- Counter shows "1 item left"
- Input field is cleared and ready for next entry

Generator Agent

The Generator transforms your human-readable test plans into executable Playwright test code, verifying selectors and assertions in real-time.

Key Features:

  • Live Verification: Checks selectors against your actual app while generating code
  • Smart Assertions: Uses Playwright’s catalog of assertions for robust validation
  • Context Aware: Inherits setup from seed tests and maintains consistency
  • Best Practices: Generates code following Playwright conventions and modern patterns

Generated Test Example:

// spec: specs/basic-operations.md
// seed: tests/seed.spec.ts
import { test, expect } from '../fixtures';

test.describe('Adding New Todos', () => {
  test('Add Valid Todo', async ({ page }) => {
    // Type and submit todo
    const todoInput = page.getByRole('textbox', { 
      name: 'What needs to be done?' 
    });
    await todoInput.fill('Buy groceries');
    await todoInput.press('Enter');
    
    // Verify todo appears
    await expect(page.getByText('Buy groceries')).toBeVisible();
    await expect(page.getByText('1 item left')).toBeVisible();
    await expect(todoInput).toHaveValue('');
  });
});

🔧

Healer Agent

The Healer is your automated maintenance engineer. When tests fail, it diagnoses issues and applies fixes automatically.

Healing Process:

  • Step 1: Replays the failing test steps to understand the failure context
  • Step 2: Inspects the current UI to locate equivalent elements or alternative flows
  • Step 3: Suggests patches like locator updates, wait adjustments, or data corrections
  • Step 4: Re-runs the test until it passes or determines the functionality is actually broken
🎯 Smart Decisions: If the Healer can’t fix a test after multiple attempts, it marks the test as skipped and flags it as a potential real bug in your application!

Common Fixes Applied:

  • Updating selectors when UI structure changes
  • Adding appropriate waits for dynamic content
  • Adjusting test data to match new requirements
  • Handling new dialog boxes or pop-ups

🤖 Working with Claude Code

Playwright Agents integrate seamlessly with Claude Code, enabling natural language test automation directly from your terminal.

Setup Process:

# Initialize Playwright Agents for Claude Code
npx playwright init-agents --loop=claude

# This generates agent definitions optimized for Claude Code
# under .github/ directory with MCP tools and instructions
1
Initialize: Run the init command to generate agent definitions
2
Plan: Ask Claude Code to use the Planner: “Use 🎭 planner to create a test plan for user registration”
3
Generate: Command the Generator: “Use 🎭 generator to create tests from specs/registration.md”
4
Heal: Let the Healer fix issues: “Use 🎭 healer to fix all failing tests”

Benefits with Claude Code:

  • Natural Language Control: Command agents using simple English instructions
  • Context Awareness: Claude Code understands your project structure and requirements
  • Iterative Refinement: Easily adjust and improve tests through conversation
  • Automatic Updates: Regenerate agents when Playwright updates to get latest features

The Complete Workflow

Here’s how the three agents work together to create comprehensive test coverage:

1. 🎯 Planner explores your app
   └─> Produces: specs/user-flows.md

2. ⚡ Generator reads the plan
   └─> Produces: tests/user-registration.spec.ts
               tests/user-login.spec.ts
               tests/checkout.spec.ts

3. Run tests: npx playwright test
   └─> Some tests fail due to UI changes

4. 🔧 Healer analyzes failures
   └─> Updates selectors automatically
   └─> Tests now pass ✅

Why This Matters

Traditional E2E testing requires significant manual effort:

  • Writing detailed test plans takes hours
  • Converting plans to code is tedious and error-prone
  • Maintaining tests as UI changes is a constant battle
  • New team members need extensive training

Playwright Agents eliminate these pain points by:

  • ✅ Generating plans in minutes instead of hours
  • ✅ Producing production-ready test code automatically
  • ✅ Self-healing tests that adapt to UI changes
  • ✅ Making test automation accessible to everyoneDEMO:

    Github source : https://github.com/cuongdvscuti/agent-playwright

Ready to Transform Your Testing?

Playwright Agents represent a fundamental shift in how we approach test automation. By combining AI with Playwright’s powerful testing capabilities, you can achieve comprehensive test coverage with a fraction of the traditional effort.

Whether you’re starting a new project or maintaining an existing test suite, Playwright Agents can help you move faster, catch more bugs, and spend less time on maintenance.

Get Started with Playwright Agents

 

Claude Code Plugins

Introduction

Claude Code now supports plugins — modular extensions that let you customize and extend Claude Code’s capabilities by bundling slash commands, agents (subagents), Model Context Protocol (MCP) servers, and hooks.

Plugins provide a lightweight, shareable way to package workflows, integrations, and automation, so you and your team can standardize and reuse custom logic.

Features

Here are the main features and capabilities of Claude Code plugins:

  • Slash Commands: You can define custom commands (e.g. /hello, /format) to trigger specific behaviors or shortcuts.
  • Subagents / Agents: Plugins may include purpose-built agents for specialized tasks.
  • MCP Servers Integration: You can bundle MCP server definitions to connect Claude Code to external tools, services, or data sources.
  • Hooks / Event Handlers: Plugins can define hooks to run custom logic at key points in the workflow (e.g. on specific events).
  • Toggleable / Modular: You can enable or disable plugins to adjust Claude Code’s context footprint and reduce complexity when not needed.
  • Plugin Marketplaces: Plugins can be bundled into marketplaces (catalogs), making it easier for teams or the community to share and reuse plugin collections.
  • Team / Repository-level Plugins: You can declare in your project’s configuration which marketplaces and plugins should be used, so team members get consistent plugin setups.

Installation / Setup

Here’s a high-level guide on how to install and set up plugins in Claude Code:

Prerequisites

  • Claude Code must already be installed and running.
  • You should have basic command-line familiarity.

Basic Steps & Quickstart

Create a plugin (for developers):

  • Make a directory for the plugin, e.g. my-first-plugin, and inside it a .claude-plugin/plugin.json manifest that describes the plugin (name, version, author, description).
  • Optionally, add subdirectories for commands/, agents/, hooks/, etc., containing your plugin logic.
  • If you want to distribute, create a marketplace.json that references your plugin(s).

Install / enable plugins (as a user):

  • Inside Claude Code, use the /plugin command.
  • You may first add a marketplace, e.g.:
    /plugin marketplace add user-or-org/repo-name

    Then browse or install from that marketplace.

  • Or use direct install commands, for example:
    /plugin install my-plugin@marketplace-name

    You can also enable, disable, or uninstall as needed.

  • After installing a plugin, you may need to restart Claude Code to activate the new plugin.

Verify the installation:

  • Use /help to check if new slash commands or features appear.
  • Use /plugin → “Manage Plugins” to inspect installed plugins and see what they provide.

Team / Repository Plugin Setup:

In a project repo’s .claude/settings.json, you can declare which marketplaces and plugins should be used by all team members.
When users “trust” the repo, Claude Code will auto-install those plugins.

Developing & testing locally:

  • Use a local “development marketplace” structure to test plugins in isolation.
  • Iterate: uninstall and reinstall the plugin after modifications to test changes.
  • Debug by checking directory structure, stepping through individual components, and using provided CLI debugging tools.

Demo (Example Walkthrough)

Here’s a simple example to illustrate how one might build, install, and test a minimal plugin for Claude Code.

Example: Greeting Plugin

Create plugin skeleton

test-marketplace/
  .claude-plugin/
    marketplace.json
  my-first-plugin/
    .claude-plugin/
      plugin.json
    commands/
      hello.md

plugin.json (inside my-first-plugin/.claude-plugin/):

{
  "name": "my-first-plugin",
  "description": "A simple greeting plugin to learn the basics",
  "version": "1.0.0",
  "author": {
    "name": "Your Name"
  }
}

commands/hello.md:

---
description: Greet the user with a personalized message
---

# Hello Command  
Greet the user warmly and ask how you can help them today. Make the greeting personal and encouraging.

marketplace.json (in test-marketplace/.claude-plugin/):

{
  "name": "test-marketplace",
  "owner": {
    "name": "Test User"
  },
  "plugins": [
    {
      "name": "my-first-plugin",
      "source": "./my-first-plugin",
      "description": "My first test plugin"
    }
  ]
}

Launch Claude Code & install plugin

cd test-marketplace
claude

Within Claude Code:

/plugin marketplace add ./test-marketplace
/plugin install my-first-plugin@test-marketplace

Select “Install now” when prompted, and then restart Claude Code if needed.

Test the plugin

  • Run /hello → you should see Claude respond using your greeting command.
  • Run /help → the hello command should appear in the list.


References:
https://www.anthropic.com/news/claude-code-plugins
https://docs.claude.com/en/docs/claude-code/setup

Best-of-∞: Hiệu Suất Tiệm Cận của Tính Toán Thời Gian Thử Nghiệm

Nghiên cứu đột phá về phương pháp tối ưu hóa hiệu suất LLM với Adaptive Generation và Weighted Ensemble

📝 Tóm Tắt

Chúng tôi nghiên cứu phương pháp Best-of-N cho các mô hình ngôn ngữ lớn (LLMs) với việc lựa chọn dựa trên bỏ phiếu đa số.
Đặc biệt, chúng tôi phân tích giới hạn khi N tiến đến vô cùng, mà chúng tôi gọi là Best-of-∞.
Mặc dù phương pháp này đạt được hiệu suất ấn tượng trong giới hạn, nó đòi hỏi thời gian tính toán vô hạn.
Để giải quyết vấn đề này, chúng tôi đề xuất một sơ đồ sinh câu trả lời thích ứng chọn số lượng N dựa trên sự đồng thuận của câu trả lời,
từ đó phân bổ hiệu quả tài nguyên tính toán. Ngoài tính thích ứng, chúng tôi mở rộng khung làm việc đến các
tổ hợp có trọng số của nhiều LLMs, cho thấy rằng các hỗn hợp như vậy có thể vượt trội hơn bất kỳ mô hình đơn lẻ nào.
Trọng số tổ hợp tối ưu được xây dựng và tính toán hiệu quả như một bài toán lập trình tuyến tính hỗn hợp nguyên.

🚀 Giới Thiệu

Trong những năm gần đây, chúng ta đã chứng kiến những tiến bộ đáng kể trong lĩnh vực Large Language Models (LLMs),
từ các mô hình đóng như Gemini, GPT, Claude đến các mô hình mã nguồn mở như Llama, DeepSeek, Qwen.
Một trong những mối quan tâm lớn nhất trong lĩnh vực LLMs là khả năng thực hiện các nhiệm vụ suy luận phức tạp.

Việc sử dụng nhiều tài nguyên tính toán hơn tại thời điểm kiểm tra, đặc biệt bằng cách tạo ra nhiều câu trả lời,
dẫn đến suy luận đáng tin cậy hơn. Một chiến lược đơn giản nhưng hiệu quả là phương pháp Best-of-N (BoN),
nơi chúng ta tạo ra N câu trả lời và chọn câu trả lời tốt nhất dựa trên một số tiêu chí.

Hình 1: Độ chính xác của Best-of-N với bỏ phiếu đa số theo hàm của N (GPT-OSS-20B) với bốn datasets.
Đường màu xanh lá chỉ ra độ chính xác tiệm cận của N→∞.

Có nhiều cách để triển khai chiến lược BoN. Một cách tiếp cận phổ biến là sử dụng reward model để chọn câu trả lời tốt nhất
hoặc yêu cầu LLM chọn câu trả lời ưa thích. Một cách tiếp cận khác là bỏ phiếu đa số trong đó câu trả lời xuất hiện
thường xuyên nhất được chọn.

Mặc dù đơn giản, bỏ phiếu đa số có nhiều ưu điểm. Đầu tiên, nó không yêu cầu mô hình hóa bổ sung hoặc tạo văn bản thêm.
Thứ hai, so với các phương pháp khác, bỏ phiếu đa số có khả năng chống lại reward hacking và hưởng lợi từ việc tạo thêm với rủi ro tối thiểu,
không giống như các mô hình dựa trên reward nơi việc tăng N có thể dẫn đến overfitting.

Minh họa adaptive sampling

Hình 2: Minh họa adaptive sampling (Algorithm 1). Histogram cho thấy phân phối các câu trả lời được tạo bởi LLM cho một bài toán đơn lẻ.
Màu xanh dương chỉ ra câu trả lời xuất hiện nhiều nhất, màu cam chỉ ra các câu trả lời khác.

Mặc dù chúng ta mong muốn đạt được hiệu suất Best-of-N như vậy khi N→∞, mà chúng ta gọi là hiệu suất Best-of-∞,
nó đòi hỏi một số lượng vô hạn các thế hệ (mẫu), điều này không khả thi trong các tình huống thực tế.
Tuy nhiên, với cùng ngân sách thời gian kiểm tra, chúng ta có thể sử dụng ngân sách có sẵn hiệu quả hơn.
Như được thể hiện trong Hình 2, chúng ta có thể tạo mẫu một cách thích ứng cho đến khi chúng ta xác định được đa số với một mức độ tin cậy nào đó.

Sơ đồ của chúng tôi có thể được mở rộng tự nhiên đến các tổ hợp của nhiều LLMs. Quan trọng là, bỏ phiếu đa số tổ hợp có thể tự nhiên
hưởng lợi từ tính bổ sung. Ví dụ, trong dataset AIME2025, hiệu suất Best-of-∞ của GPT-OSS-20B và Nemotron-Nano-9B-v2 lần lượt là 90.0% và 73.0%,
nhưng tổ hợp của chúng đạt được 93.3%. Một LLM yếu có thể đóng góp vào tổ hợp nếu nó có điểm mạnh bổ sung.

♾️ Best-of-∞ trong Mẫu Hữu Hạn

Trong khi Best-of-∞ định nghĩa một tổ hợp Best-of-N lý tưởng trong giới hạn N→∞, việc thực hiện theo nghĩa đen sẽ đòi hỏi
tính toán thời gian kiểm tra không giới hạn. Bây giờ chúng tôi phát triển một quy trình mẫu hữu hạn theo dõi chặt chẽ giới hạn này.

Ý tưởng cốt lõi của chúng tôi là lấy mẫu thích ứng (tức là yêu cầu LLM tạo ra câu trả lời) cho đến khi chúng ta chắc chắn
về bỏ phiếu đa số dân số với mức độ tin cậy mong muốn. Nói cách khác, chúng ta nhằm mục đích kết thúc quá trình tạo câu trả lời
ngay khi có đủ bằng chứng thống kê để hỗ trợ kết luận rằng phản hồi hiện tại xuất hiện thường xuyên nhất tương ứng với đa số thực sự,
điều này cho phép số lượng N khác nhau trên các vấn đề.

Một thách thức đặc biệt của vấn đề này nằm ở thực tế là hỗ trợ của phân phối câu trả lời được tạo bởi các mô hình ngôn ngữ lớn (LLMs)
là không xác định. Ví dụ, trong một trường hợp, LLM có thể tạo ra hai câu trả lời ứng viên, chẳng hạn như 42 với xác suất 70% và 105 với xác suất 30%,
trong khi trong trường hợp khác, nó có thể tạo ra bốn đầu ra riêng biệt, chẳng hạn như 111 với xác suất 40%, 1 với xác suất 25%,
2 với xác suất 20%, và 702 với xác suất 15%.

Với sự không chắc chắn như vậy trong sự thay đổi của các phản hồi được tạo, một cách tiếp cận đặc biệt phù hợp là sử dụng
mô hình hóa Bayesian không tham số. Đặc biệt, chúng tôi áp dụng một quy trình Dirichlet DP(H,α) trước trên không gian câu trả lời
nắm bắt phân phối không xác định của các câu trả lời. Ở đây, H là phân phối cơ sở trên không gian câu trả lời, và α > 0 là tham số tập trung
kiểm soát khả năng tạo ra câu trả lời mới.

🔧 Algorithm 1: Approximated Best-of-∞

Input: Maximum samples N_max, concentration parameter α, Bayes factor threshold B
1: for n = 1, 2, … do
2:   if using LLM Ensemble then
3:     Choose LLM with probability {w_i}_{i∈𝒦}
4:   end if
5:   Generate answer using selected LLM
6:   if n ≥ N_max then
7:     return majority answer
8:   end if
9:   Compute Bayes factor B_n
10:   if B_n ≥ B then
11:     return majority answer
12:   end if
13: end for
14: return The most frequent answer

Chúng tôi sử dụng Bayes factor để đo lường bằng chứng của đa số thực sự. Chính thức, chúng tôi định nghĩa các giả thuyết như sau:

📊 Định Nghĩa Giả Thuyết

H₀: Câu trả lời xuất hiện thường xuyên nhất A₁ không phải là đa số thực sự.

H₁: Câu trả lời xuất hiện thường xuyên nhất A₁ là đa số thực sự.

Bayes Factor: BF = P(D(n)|H₁) / P(D(n)|H₀)

Khi n đủ lớn so với α, P(H₁|D(n)) của posterior DP có thể được xấp xỉ bằng phân phối Dirichlet.
Mặc dù số lượng này không dễ tính toán, nó có thể được ước tính bằng các phương pháp Monte Carlo bằng cách lấy mẫu từ phân phối Dirichlet.

🎯 Định Lý 1: Sự Hội Tụ

Nếu chúng ta đặt N_max và B đủ lớn, hiệu suất của thuật toán hội tụ đến hiệu suất Best-of-∞.
Điều này đảm bảo rằng phương pháp adaptive sampling của chúng ta có thể đạt được hiệu suất gần như tối ưu
với số lượng mẫu hữu hạn.

🤝 Tổ Hợp LLM

🎯 Best-of-One

Trong phần này, chúng tôi mở rộng khung làm việc Best-of-∞ đến các tổ hợp có trọng số của nhiều LLMs.
Giả sử chúng ta có K LLMs khác nhau, mỗi LLM có thể tạo ra các câu trả lời khác nhau cho cùng một câu hỏi.
Mục tiêu của chúng ta là tìm ra cách kết hợp các LLMs này để đạt được hiệu suất tối ưu.

♾️ Best-of-∞

Câu hỏi trung tâm của chúng ta là làm thế nào để chọn một vector trọng số w tối đa hóa độ chính xác f(w).
Lemma sau đây ngụ ý độ khó của việc tối ưu hóa f(w).

📝 Lemma 2: Non-concavity

f(w) là một hàm không lồi trên không gian simplex của w. Điều này có nghĩa là các phương pháp dựa trên gradient
sẽ không thể tìm ra giải pháp tối ưu toàn cục.

Visualization của non-concave objective function

Hình 3: Visualization của hàm mục tiêu không lồi f(w) trên weight simplex w.
Simplex màu vàng tương ứng với w trong simplex của các trọng số của ba LLMs.

Mặc dù non-concavity ngụ ý tính tối ưu dưới của các phương pháp dựa trên gradient, một cách tiếp cận tối ưu hóa tổ hợp
có thể được áp dụng cho các trường hợp có quy mô điển hình. Điểm mấu chốt trong việc tối ưu hóa f(w) là tổng trong phương trình
nhận giá trị một trong một polytope.

📝 Lemma 3: Polytope Lemma

Cho {p^q_ij} là các phân phối tùy ý của các câu trả lời. Khi đó, tập hợp sau, ngụ ý rằng câu trả lời j là câu trả lời
xuất hiện thường xuyên nhất, là một polytope: {w ∈ Δ_K : Σ_i w_i p^q_ij > max_{j’≠j} Σ_i w_i p^q_ij’}

Lemma 3 nói rằng việc tối đa hóa số lượng câu trả lời đúng tương đương với việc tối đa hóa số lượng polytopes chứa w.
Bằng cách giới thiệu biến phụ y_q chỉ ra tính đúng đắn cho mỗi câu trả lời, điều này có thể được xây dựng như một
bài toán lập trình tuyến tính hỗn hợp nguyên (MILP).

📝 Lemma 4: MILP Formulation

Việc tối đa hóa f(w) tương đương với bài toán MILP sau:

max Σ_q y_q

s.t. w_i ≥ 0 ∀_i, Σ_i w_i = 1, A_q w ≥ -m(1-y_q) ∀q

trong đó A_q là ma trận kích thước ℝ^{|𝒜_q|×K}

⚖️ Max Margin Solutions

Như chúng tôi đã minh họa trong Hình 3, hàm mục tiêu f(w) có vùng liên tục của các giải pháp tối ưu.
Trong khi bất kỳ điểm nội thất nào trên vị trí này đều tối ưu trong Best-of-∞, hiệu suất hữu hạn-N của nó có thể thay đổi.
Trong bài báo này, chúng tôi áp dụng giải pháp “max margin”, tức là ở phần nội thất nhất của giải pháp.

Cụ thể, chúng tôi giới thiệu margin ξ > 0 và thay thế A_q w trong phương trình với A_q w – ξ.
Chúng tôi chọn supremum của margin ξ sao cho giá trị mục tiêu Σ_q y_q không giảm, và áp dụng giải pháp trên margin như vậy.

🧪 Thí Nghiệm

Phần này báo cáo kết quả thí nghiệm của chúng tôi. Chúng tôi xem xét các nhiệm vụ suy luận nặng trên các LLMs mã nguồn mở
mà chúng tôi có thể kiểm tra trong môi trường cục bộ của mình. Chúng tôi đặt siêu tham số α = 0.3 của Algorithm 1 cho tất cả các thí nghiệm.

Để giải MILPs, chúng tôi sử dụng highspy, một giao diện Python mã nguồn mở cho bộ tối ưu hóa HiGHS,
cung cấp các solver tiên tiến cho LP, MIP và MILP quy mô lớn. Chúng tôi áp dụng giải pháp max-margin được mô tả trong Phần 3.2.
Trừ khi được chỉ định khác, tất cả kết quả được ước tính từ 100 lần chạy độc lập. Bayes factor được tính toán với 1,000 mẫu Monte Carlo từ posterior.

📊 LLMs và Datasets Được Test

Chúng tôi đánh giá các LLMs mã nguồn mở (≤ 32B tham số) trên bốn benchmark suy luận. Chúng tôi sử dụng các bộ vấn đề sau:
AIME2024, AIME2025, GPQA-DIAMOND (Graduate-Level Google-Proof Q&A Benchmark), và MATH500.
Các datasets này là các nhiệm vụ suy luận toán học và khoa học đầy thách thức.

📈 Large-scale Generation Dataset

Chúng tôi tạo ra một tập hợp các câu trả lời ứng viên bằng cách truy vấn LLM với câu lệnh vấn đề.
Cho mỗi cặp (LLM, vấn đề), chúng tôi tạo ra ít nhất 80 câu trả lời—một bậc độ lớn lớn hơn 8 thế hệ điển hình
được báo cáo trong hầu hết các báo cáo kỹ thuật LLM. Chúng tôi tin rằng độ khó của các vấn đề cũng như quy mô
của các token được tạo ra đáng kể lớn hơn công việc hiện có về tính toán thời gian kiểm tra.

📊 Thống Kê Dataset

LLM # Files Total Tokens File Size (MB)
AM-Thinking-v1 4,800 79,438,111 185.95
Datarus-R1-14B-preview 4,800 49,968,613 127.03
EXAONE-Deep-32B 60,640 478,575,594 1,372.35
GPT-OSS-20B 68,605 244,985,253 98.59
LIMO-v2 6,095 77,460,567 219.45
MetaStone-S1-32B 4,800 79,438,111 185.95
NVIDIA-Nemotron-Nano-9B-v2 4,800 79,438,111 185.95
Phi-4-reasoning 4,800 79,438,111 185.95
Qwen3-4B 4,800 79,438,111 185.95
Qwen3-14B 4,800 79,438,111 185.95
Qwen3-30B-A3B-Thinking-2507 4,800 79,438,111 185.95

📊 Kết Quả Thí Nghiệm

🎯 Experimental Set 1: Hiệu Quả của Adaptive Sampling

Trong thí nghiệm đầu tiên, chúng tôi so sánh hiệu quả của phương pháp adaptive sampling với phương pháp fixed BoN.
Kết quả cho thấy rằng Algorithm 1 với kích thước mẫu trung bình N̄=3 đạt được độ chính xác tương tự như fixed sample của N=10,
cho thấy hiệu quả đáng kể của adaptive sampling.

🤝 Experimental Set 2: Ưu Thế của LLM Ensemble

Thí nghiệm thứ hai chứng minh ưu thế của tổ hợp LLM so với mô hình đơn lẻ. Chúng tôi kết hợp năm LLMs:
EXAONE-Deep-32B, MetaStone-S1-32B, Phi-4-reasoning, Qwen3-30B-A3B-Thinking, và GPT-OSS-20B trên GPQA-Diamond.
Trọng số được tối ưu hóa thành w=(0.0176,0.0346,0.2690,0.4145,0.2644). Tổ hợp LLM vượt trội hơn bất kỳ mô hình đơn lẻ nào với N≥5.

⚖️ Experimental Set 3: Học Trọng Số Tốt

Thí nghiệm thứ ba khám phá việc học trọng số tối ưu từ dữ liệu. Chúng tôi sử dụng số lượng mẫu khác nhau để xác định trọng số
và đo hiệu suất Best-of-∞ trên AIME2025. Kết quả cho thấy rằng chỉ cần một số lượng mẫu tương đối nhỏ là đủ để học được trọng số tốt.

🔄 Experimental Set 4: Transfer Learning của Trọng Số Tối Ưu

Thí nghiệm thứ tư khám phá khả năng transfer learning của trọng số được học từ một dataset sang dataset khác.
Kết quả cho thấy rằng trọng số được học từ một dataset có thể được áp dụng hiệu quả cho các dataset khác,
cho thấy tính tổng quát của phương pháp.

📊 Experimental Set 5: So Sánh với Các Phương Pháp Chọn Câu Trả Lời Khác

Thí nghiệm cuối cùng so sánh phương pháp của chúng tôi với các phương pháp chọn câu trả lời khác, bao gồm LLM-as-a-judge,
reward models, và self-certainty. Kết quả cho thấy Majority Voting đạt hiệu suất cao thứ hai sau Omniscient,
vượt trội hơn các phương pháp khác.

📈 Kết Quả Hiệu Suất Chi Tiết

LLM AIME2024 AIME2025 GPQA-D MATH500
AM-Thinking-v1 0.867 0.867 0.707 0.950
EXAONE-Deep-32B 0.867 0.767 0.692 0.962
GPT-OSS-20B 0.900 0.900 0.722 0.960
MetaStone-S1-32B 0.867 0.800 0.707 0.950
NVIDIA-Nemotron-Nano-9B-v2 0.867 0.733 0.626 0.956
Phi-4-reasoning 0.867 0.833 0.727 0.944
Qwen3-30B-A3B-Thinking-2507 0.933 0.900 0.732 0.960

Method AIME2025 (%) Mô Tả
Omniscient 91.04 ± 1.32 Lý thuyết: luôn chọn đúng nếu có trong candidates
Majority Voting 85.42 ± 2.01 Chọn câu trả lời xuất hiện nhiều nhất
LLM-as-a-judge (tournament) 82.92 ± 2.57 So sánh từng cặp câu trả lời
LLM-as-a-judge (set) 81.25 ± 2.42 So sánh tất cả câu trả lời cùng lúc
INF-ORM-Llama3.1-70B 79.79 ± 2.54 Reward model đứng thứ 9 RewardBench
Skywork-Reward-V2-Llama-3.1-8B 79.79 ± 2.47 Reward model đứng thứ 1 RewardBench
Skywork-Reward-V2-Qwen3-8B 80.00 ± 2.51 Reward model đứng thứ 6 RewardBench
Self-certainty 75.83 ± 2.47 Chọn câu trả lời có confidence cao nhất
Random (≈ Bo1) 76.25 ± 2.71 Chọn ngẫu nhiên (baseline)

Kết quả cho thấy Majority Voting đạt hiệu suất cao thứ hai sau Omniscient,
vượt trội hơn các phương pháp dựa trên reward model và LLM-as-a-judge. Điều này chứng minh tính hiệu quả
của phương pháp đơn giản nhưng mạnh mẽ này.

🔍 Phát Hiện Chính

✅ Hiệu Quả Adaptive Sampling

Phương pháp adaptive sampling giảm đáng kể số lượng thế hệ cần thiết
trong khi vẫn duy trì hiệu suất cao. Algorithm 1 với N̄=3 đạt được
độ chính xác tương tự như fixed sample của N=10, cho thấy hiệu quả
tính toán đáng kể.

🤝 Ưu Thế Ensemble

Tổ hợp có trọng số của nhiều LLMs vượt trội hơn bất kỳ mô hình đơn lẻ nào,
đặc biệt khi có tính bổ sung. Ensemble đạt 93.3% so với 90.0% của mô hình tốt nhất,
chứng minh giá trị của việc kết hợp các mô hình.

⚖️ Tối Ưu Hóa Trọng Số

Việc tối ưu hóa trọng số ensemble được giải quyết hiệu quả
như một bài toán MILP, cho phép tìm ra trọng số tối ưu một cách có hệ thống.
Phương pháp max-margin đảm bảo tính ổn định cho các ứng dụng thực tế.

📊 Quy Mô Lớn

Thí nghiệm với 11 LLMs và 4 datasets, tổng cộng hơn 3,500 thế hệ
cho mỗi kết hợp LLM–dataset, đại diện cho quy mô lớn nhất trong nghiên cứu hiện tại.
Dataset này sẽ được phát hành cho nghiên cứu tiếp theo.

💡 Insights Quan Trọng

  • Bayes Factor hiệu quả: Phương pháp Bayes Factor cho phép dừng adaptive sampling một cách thông minh,
    tiết kiệm tài nguyên tính toán đáng kể.
  • Tính bổ sung của LLMs: Các LLMs yếu có thể đóng góp tích cực vào ensemble nếu chúng có điểm mạnh bổ sung.
  • Transfer learning: Trọng số được học từ một dataset có thể được áp dụng hiệu quả cho các dataset khác.
  • Robustness: Majority voting robust hơn các phương pháp dựa trên reward model và ít bị ảnh hưởng bởi reward hacking.

🎯 Kết Luận

Trong bài báo này, chúng tôi xem chiến lược Best-of-N với bỏ phiếu đa số như việc lấy mẫu từ
phân phối câu trả lời cơ bản, với hiệu suất Best-of-∞ được định nghĩa tự nhiên.
Để xấp xỉ giới hạn này với một số lượng hữu hạn các mẫu, chúng tôi giới thiệu một phương pháp lấy mẫu thích ứng dựa trên Bayes Factor.

Chúng tôi cũng nghiên cứu vấn đề tổng hợp phản hồi từ nhiều LLMs và đề xuất một bỏ phiếu đa số
tận dụng hiệu quả điểm mạnh của các mô hình cá nhân. Hiệu suất Best-of-∞ có ưu thế vì trọng số của
tổ hợp LLM có thể được tối ưu hóa bằng cách giải một bài toán lập trình tuyến tính hỗn hợp nguyên.

Các thí nghiệm rộng rãi của chúng tôi chứng minh hiệu quả của phương pháp được đề xuất.
Chúng tôi đã thử nghiệm với 11 LLMs được điều chỉnh theo hướng dẫn và bốn bộ vấn đề suy luận nặng,
với ít nhất 80 thế hệ cho mỗi kết hợp LLM–bộ vấn đề. Điều này đại diện cho quy mô lớn hơn đáng kể
của tính toán thời gian kiểm tra so với công việc trước đây.

🚀 Tác Động và Ý Nghĩa

Nghiên cứu này mở ra những khả năng mới trong việc tối ưu hóa hiệu suất LLM thông qua
adaptive generation và weighted ensemble, đặc biệt quan trọng cho các ứng dụng yêu cầu độ chính xác cao
như toán học, khoa học và suy luận phức tạp. Phương pháp này có thể được áp dụng rộng rãi
trong các hệ thống AI thực tế để cải thiện độ tin cậy và hiệu suất. Việc phát hành dataset
và source code sẽ thúc đẩy nghiên cứu tiếp theo trong lĩnh vực này.

⚠️ Hạn Chế và Hướng Phát Triển

Mặc dù có những kết quả tích cực, nghiên cứu này vẫn có một số hạn chế. Việc tối ưu hóa MILP có thể
trở nên khó khăn với số lượng LLMs rất lớn. Ngoài ra, phương pháp adaptive sampling dựa trên Bayes Factor
có thể cần điều chỉnh cho các loại nhiệm vụ khác nhau. Hướng phát triển tương lai bao gồm việc mở rộng
phương pháp cho các nhiệm vụ multimodal và khám phá các cách tiếp cận hiệu quả hơn cho việc tối ưu hóa ensemble.

🔧 Chi Tiết Kỹ Thuật

📈 Datasets Sử Dụng

  • AIME2024: American Invitational Mathematics Examination – 15 bài toán toán học khó
  • AIME2025: Phiên bản mới của AIME với độ khó tương tự
  • GPQA-DIAMOND: Graduate-level Physics Questions – 448 câu hỏi vật lý trình độ sau đại học
  • MATH500: Mathematical reasoning problems – 500 bài toán toán học từ MATH dataset

🤖 LLMs Được Test

  • GPT-OSS-20B (OpenAI) – 20B parameters
  • Phi-4-reasoning (Microsoft) – 14B parameters
  • Qwen3-30B-A3B-Thinking – 30B parameters
  • Nemotron-Nano-9B-v2 (NVIDIA) – 9B parameters
  • EXAONE-Deep-32B – 32B parameters
  • MetaStone-S1-32B – 32B parameters
  • Và 5 mô hình khác

💻 Source Code và Dataset

Source code của nghiên cứu này có sẵn tại:
https://github.com/jkomiyama/BoInf-code-publish

Dataset với hơn 3,500 thế hệ cho mỗi kết hợp LLM–dataset sẽ được phát hành để thúc đẩy nghiên cứu tiếp theo
trong lĩnh vực test-time computation và LLM ensemble.

⚙️ Hyperparameters và Cài Đặt

  • Concentration parameter α: 0.3 cho tất cả thí nghiệm
  • Bayes factor threshold B: Được điều chỉnh cho từng dataset
  • Maximum samples N_max: 100 cho adaptive sampling
  • Monte Carlo samples: 1,000 cho tính toán Bayes factor
  • Independent runs: 100 cho mỗi thí nghiệm

 

📋 Thông Tin Nghiên Cứu

🔬 Nghiên Cứu Gốc

Tiêu đề: Best-of-∞ – Asymptotic Performance of Test-Time Compute

Tác giả: Junpei Komiyama, Daisuke Oba, Masafumi Oyamada

Ngày xuất bản: 26 Sep 2025

Nguồn: arXiv:2509.21091

🎯 Đóng Góp Chính

  • Phân tích hiệu suất tiệm cận của Best-of-N
  • Đề xuất phương pháp Adaptive Generation
  • Tối ưu hóa Weighted Ensemble với MILP
  • Thí nghiệm với 11 LLMs và 4 datasets

💻 Source Code & Dataset

GitHub: BoInf-code-publish

Dataset: Hơn 3,500 thế hệ cho mỗi kết hợp LLM–dataset

📊 Quy Mô Nghiên Cứu

LLMs: 11 mô hình mã nguồn mở

Datasets: 4 benchmark suy luận

Generations: ≥80 lần sinh cho mỗi kết hợp

Blog được tạo từ nghiên cứu gốc với mục đích giáo dục và chia sẻ kiến thức về AI và Machine Learning.

Tất cả hình ảnh và dữ liệu được trích xuất từ bài báo nghiên cứu gốc.
Đây là một trong những nghiên cứu quy mô lớn nhất về test-time computation trong LLMs.

 

OpenAI AgentKit vs Dify

🤖 OpenAI AgentKit vs Dify

A Comprehensive Technical Comparison of Two Leading AI Agent Development Platforms

Last Updated: October 2025 | DevDay 2025 Analysis

Executive Summary: OpenAI AgentKit and Dify represent two distinct approaches to AI agent development. AgentKit, announced at OpenAI’s DevDay 2025, offers a comprehensive, proprietary toolkit designed to streamline agent creation within the OpenAI ecosystem. Dify, an open-source platform, provides extensive flexibility with multi-provider LLM support and full infrastructure control. This guide examines both platforms in depth to help you make an informed decision.

🚀 Platform Overview

OpenAI AgentKit

Launched October 2025 at DevDay, AgentKit is OpenAI’s complete toolkit for building production-ready AI agents with minimal friction.

  • Proprietary platform by OpenAI
  • Cloud-based deployment
  • Deep OpenAI ecosystem integration
  • Enterprise-grade security built-in
  • Visual drag-and-drop builder
  • Rapid prototyping (agents in hours, not months)

Dify

Open-source LLMOps platform with 180,000+ developers, supporting comprehensive AI application development with full control.

  • 100% open-source platform
  • Self-hosted or cloud deployment
  • Multi-provider LLM support (GPT, Claude, Llama, etc.)
  • Complete data sovereignty
  • Extensive RAG capabilities
  • Active community of 180,000+ developers

🎯 OpenAI AgentKit – Core Features

🎨 Agent Builder

A visual canvas for creating and versioning multi-agent workflows using drag-and-drop functionality. Developers can design complex agent interactions without extensive coding.

  • Visual workflow designer
  • Version control for agent workflows
  • Multi-agent orchestration
  • Real-time collaboration
  • 70% faster iteration cycles reported

💬 ChatKit

Embeddable, customizable chat interfaces that can be integrated directly into your applications with your own branding and workflows.

  • White-label chat interfaces
  • Custom branding options
  • Pre-built UI components
  • Seamless product integration
  • Mobile-responsive design

🔌 Connector Registry

Centralized admin dashboard for managing secure connections between agents and both internal tools and third-party systems.

  • Pre-built connectors: Dropbox, Google Drive, SharePoint, Teams
  • Secure data access management
  • Admin control panel
  • Third-party MCP server support
  • Enterprise-grade security controls

📊 Evaluation & Optimization

Comprehensive tools for measuring and improving agent performance with automated testing and optimization.

  • Datasets for component testing
  • End-to-end trace grading
  • Automated prompt optimization
  • Third-party model evaluation support
  • Custom grading criteria

🔒 Security & Guardrails

Built-in security layers protecting against data leakage, jailbreaks, and unintended behaviors.

  • PII leak detection and prevention
  • Jailbreak protection
  • Content filtering
  • OpenAI’s standard security measures
  • Compliance-ready infrastructure

⚡ Performance

Optimized for rapid development and deployment with impressive benchmarks demonstrated at DevDay 2025.

  • Live demo: 2 agents built in <8 minutes
  • Hours to deploy vs months traditionally
  • Built on Responses API
  • Integration with GPT-5 Codex
  • Dynamic thinking time adjustment

🎯 Real-World Success Story

Ramp (Fintech): Built a complete procurement agent in just a few hours instead of months using AgentKit. Their teams reported a 70% reduction in iteration cycles, launching agents in two sprints rather than two quarters. Agent Builder enabled seamless collaboration between product, legal, and engineering teams on the same visual canvas.

🛠️ Dify – Core Features

🎯 Visual Workflow Builder

Intuitive canvas for building and testing AI workflows with comprehensive model support and visual orchestration.

  • Drag-and-drop workflow design
  • Support for 100+ LLM models
  • Real-time debugging with node inspection
  • Variable tracking during execution
  • Instant step-by-step testing

🧠 Comprehensive Model Support

Seamless integration with hundreds of proprietary and open-source LLMs from multiple providers.

  • OpenAI: GPT-3.5, GPT-4, GPT-5
  • Anthropic: Claude models
  • Open-source: Llama3, Mistral, Qwen
  • Self-hosted model support
  • Any OpenAI API-compatible model

📚 RAG Pipeline

Extensive Retrieval-Augmented Generation capabilities covering the entire document lifecycle.

  • Document ingestion from multiple formats
  • PDF, PPT, Word extraction
  • Vector database integration
  • Advanced retrieval strategies
  • Metadata-based filtering for security

🤖 Agent Node System

Flexible agent architecture with customizable strategies for autonomous decision-making within workflows.

  • Plug-in “Agent Strategies”
  • Autonomous task handling
  • Custom tool integration
  • Multi-agent collaboration
  • Dynamic workflow adaptation

🎛️ Prompt Engineering IDE

Intuitive interface for crafting, testing, and comparing prompts across different models.

  • Visual prompt editor
  • Model performance comparison
  • A/B testing capabilities
  • Text-to-speech integration
  • Template management

📊 Observability & Operations

Full visibility into AI application performance with comprehensive logging and monitoring.

  • Complete execution logs
  • Cost tracking per execution
  • Conversation auditing
  • Performance metrics dashboard
  • Version control for workflows

🏢 Enterprise Features

Production-ready infrastructure with enterprise-grade security and scalability.

  • Self-hosted deployment options
  • AWS Marketplace integration
  • Custom branding and white-labeling
  • SSO and access control
  • Multi-tenant architecture

🌐 Open Source Advantage

Community-driven development with transparent roadmap and extensive customization options.

  • 180,000+ developer community
  • 34,800+ GitHub stars
  • Regular feature updates
  • Community plugins and extensions
  • Full code access and customization

🎯 Real-World Success Story

Volvo Cars: Uses Dify for rapid AI validation and deployment, enabling teams to quickly design and deploy complex NLP pipelines. This approach significantly improved assessment product quality while reducing both cost and time to market. Dify’s democratized AI development allows even non-technical team members to contribute to AI initiatives.

⚖️ Detailed Comparison

Feature / Aspect OpenAI AgentKit Dify
Launch Date October 2025 (DevDay 2025) May 2023 (Established platform)
Source Model Proprietary, closed-source 100% open-source (GitHub)
Ecosystem OpenAI-exclusive (GPT models) Multi-provider (100+ LLMs from dozens of providers)
Deployment Options Cloud-based on OpenAI platform only Self-hosted, cloud, or hybrid deployment
Data Sovereignty Managed by OpenAI infrastructure Full control – host anywhere, complete data ownership
Model Support OpenAI models (GPT-3.5, GPT-4, GPT-5, Codex) GPT, Claude, Llama3, Mistral, Qwen, self-hosted models, any OpenAI-compatible API
Visual Builder ✓ Agent Builder (drag-and-drop, currently in beta) ✓ Visual workflow canvas (production-ready)
RAG Capabilities Limited documentation available Extensive: document ingestion, retrieval, PDF/PPT/Word extraction, vector databases, metadata filtering
Chat Interface ChatKit (embeddable, customizable) Built-in chat UI with full customization
Connectors Connector Registry (Dropbox, Drive, SharePoint, Teams, MCP servers) – Limited beta Extensive integration options, custom API connections, community plugins
Evaluation Tools Datasets, trace grading, automated prompt optimization, custom graders Full observability, debugging tools, version control, execution logs
Security Features PII detection, jailbreak protection, OpenAI security standards, guardrails Self-managed security, SSO, access control, custom security policies
Community Size New (launched Oct 2025), growing adoption 180,000+ developers, 59,000+ end users, 34,800+ GitHub stars
Pricing Model Included with standard API pricing, enterprise features for some components Free tier, Professional ($59/month), Team ($159/month), Enterprise (custom)
Development Speed Hours to build agents (demo showed <8 minutes for 2 agents) Rapid prototyping, established workflow templates
Customization Within OpenAI ecosystem constraints Unlimited – full code access, custom modifications possible
Learning Curve Low – designed for ease of use Low to medium – extensive documentation and community support
Best For OpenAI-committed teams, rapid prototyping, enterprise users wanting managed solution Multi-provider needs, data sovereignty requirements, open-source advocates, full customization
Production Readiness ChatKit & Evals: Generally available
Agent Builder: Beta
Connector Registry: Limited beta
Fully production-ready, battle-tested by 180,000+ developers
API Integration Built on OpenAI Responses API RESTful API, webhook support, extensive integration options

✅ Pros & Cons Analysis

OpenAI AgentKit

Advantages

  • Rapid Development: Build functional agents in hours rather than months with visual tools
  • Seamless Integration: Deep integration with OpenAI ecosystem and GPT models
  • Enterprise Security: Built-in guardrails, PII protection, and OpenAI security standards
  • Managed Infrastructure: No DevOps burden, fully managed by OpenAI
  • Cutting-Edge Models: Immediate access to latest GPT models and features
  • Live Demo Success: Proven capability (2 agents in <8 minutes)
  • Unified Toolkit: All necessary tools in one platform
  • Evaluation Tools: Comprehensive testing and optimization features

Limitations

  • Vendor Lock-in: Exclusively tied to OpenAI ecosystem
  • Limited Model Choice: Cannot use Claude, Llama, or other non-OpenAI models
  • New Platform: Just launched (Oct 2025), limited production track record
  • Beta Features: Key components still in beta (Agent Builder, Connector Registry)
  • No Data Sovereignty: Data managed by OpenAI, not self-hostable
  • Closed Source: Cannot inspect or modify underlying code
  • Pricing Uncertainty: Costs tied to OpenAI API pricing model
  • Limited Customization: Constrained by platform design decisions

Dify

Advantages

  • Open Source Freedom: Full code access, unlimited customization, no vendor lock-in
  • Multi-Provider Support: Use any LLM – GPT, Claude, Llama, Mistral, or self-hosted models
  • Data Sovereignty: Complete control over data, self-hosting options
  • Extensive RAG: Comprehensive document processing and retrieval capabilities
  • Large Community: 180,000+ developers, active development, extensive resources
  • Production Proven: Battle-tested since 2023, used by major companies like Volvo
  • Flexible Deployment: Cloud, self-hosted, or hybrid options
  • Cost Control: Use cheaper models or self-hosted options, transparent pricing
  • No Vendor Dependencies: Switch providers or models without platform changes

Limitations

  • DevOps Responsibility: Self-hosting requires infrastructure management
  • Learning Curve: More complex than managed solutions for beginners
  • No Native OpenAI Features: Latest OpenAI-specific features may lag
  • Security Setup: Must configure own security measures for self-hosted
  • Community Support: Relies on community vs dedicated support team
  • Integration Effort: May require more work to integrate custom tools
  • Scalability Management: Need to handle scaling for high-traffic scenarios

💡 Use Cases & Applications

OpenAI AgentKit – Ideal Use Cases

🏢 Enterprise Rapid Prototyping

Large organizations already invested in OpenAI wanting to quickly deploy AI agents across multiple departments without heavy technical overhead.

🚀 Startup MVPs

Startups needing to build and iterate on AI-powered products rapidly with minimal infrastructure investment and maximum speed to market.

💼 Business Process Automation

Companies automating internal workflows like procurement, customer support, or data analysis using OpenAI’s latest models.

🔬 Research & Development

Teams exploring cutting-edge AI capabilities with OpenAI’s latest models and wanting managed infrastructure for experiments.

Dify – Ideal Use Cases

🏦 Regulated Industries

Banking, healthcare, or government organizations requiring full data sovereignty, self-hosting, and complete audit trails.

🌐 Multi-Model Applications

Projects needing to leverage multiple LLM providers for cost optimization, feature diversity, or redundancy.

🛠️ Custom AI Solutions

Development teams building highly customized AI applications requiring deep integration with existing systems and workflows.

📚 Knowledge Management

Organizations building comprehensive RAG systems with complex document processing, vector search, and metadata filtering needs.

🎓 Educational & Research

Academic institutions and researchers needing transparent, customizable AI systems with full control over model selection and data.

🌍 Global Operations

International companies needing to deploy AI across multiple regions with varying data residency requirements.

💰 Pricing Comparison

OpenAI AgentKit Pricing

Model: Included with standard OpenAI API pricing. You pay for:

  • API calls to GPT models (token-based pricing)
  • Standard OpenAI usage fees apply
  • Enterprise features may have additional costs
  • Connector Registry requires Global Admin Console (available for Enterprise/Edu)

Advantage: No separate platform fee, but tied to OpenAI’s pricing

Consideration: Costs can scale significantly with high usage; no control over rate changes

Dify Pricing

Sandbox (Free):

  • 200 OpenAI calls included
  • Core features access
  • Ideal for testing and small projects

Professional ($59/month):

  • For independent developers & small teams
  • Production AI applications
  • Increased resources and team collaboration

Team ($159/month):

  • Medium-sized teams
  • Higher throughput requirements
  • Advanced collaboration features

Enterprise (Custom):

  • Custom deployment options
  • Dedicated support
  • SLA guarantees
  • On-premise or private cloud hosting

Self-Hosted (Free):

  • Deploy on your own infrastructure at no platform cost
  • Only pay for your chosen LLM provider (can use cheaper options)
  • Complete cost control

🎯 Decision Framework: Which Platform Should You Choose?

Choose OpenAI AgentKit If:

  • You’re already heavily invested in the OpenAI ecosystem
  • You want the fastest possible time-to-market with minimal setup
  • Your use case doesn’t require data to stay on-premise
  • You prefer managed infrastructure over self-hosting
  • You need the latest GPT models immediately upon release
  • Your team lacks DevOps resources for infrastructure management
  • Budget allows for OpenAI’s premium pricing model
  • You value tight integration over flexibility
  • Compliance allows cloud-based AI processing
  • You’re comfortable with platform limitations for ease of use

Choose Dify If:

  • You need to use multiple LLM providers or specific models
  • Data sovereignty and privacy are critical requirements
  • You want complete control over your AI infrastructure
  • Your organization requires self-hosted solutions
  • Cost optimization through model flexibility is important
  • You have DevOps capability for self-hosting
  • You need extensive RAG and document processing capabilities
  • Open-source transparency is a requirement
  • You want to avoid vendor lock-in
  • Your use case requires deep customization
  • You’re in a regulated industry (banking, healthcare, government)
  • You prefer community-driven development

🔮 Future Outlook & Roadmap

OpenAI AgentKit Roadmap

OpenAI plans to add standalone Workflows API and agent deployment options to ChatGPT. Expect rapid iteration and new features as the platform matures beyond beta stage.

Dify Development

Active open-source development with regular releases. Community-driven feature requests and transparent roadmap on GitHub. Continuous improvements to RAG, workflows, and integrations.

Market Competition

Both platforms face competition from LangChain, n8n, Zapier Central, and others. The AI agent space is rapidly evolving with new players entering regularly.

Convergence Trends

Expect features to converge over time as both platforms mature. Visual builders, multi-agent orchestration, and evaluation tools are becoming industry standards.

🎓 Final Recommendation

For most organizations: The choice depends on your priorities. If you value speed, simplicity, and are committed to OpenAI, AgentKit offers the fastest path to production agents. If you need flexibility, data control, and multi-provider support, Dify provides superior long-term value despite requiring more initial setup.

Hybrid Approach: Some organizations use AgentKit for rapid prototyping and Dify for production deployments where data sovereignty and model flexibility matter. This combines the speed of AgentKit with the control of Dify.

Last Updated: October 2025 | Based on OpenAI DevDay 2025 announcements

Sources: Official OpenAI documentation, Dify GitHub repository, TechCrunch, VentureBeat, Medium technical analyses

This comparison is for informational purposes. Features and pricing subject to change. Always consult official documentation for the most current information.

 

Building Intelligent AI Agents with OpenAI: From Raw API to Official Agents SDK

Introduction

Artificial Intelligence agents are revolutionizing how we interact with technology. Unlike traditional chatbots that simply respond to queries, AI agents can understand context, make decisions, and use tools to accomplish complex tasks autonomously. This project demonstrates how to build progressively sophisticated AI agents using both the OpenAI API and the official OpenAI Agents SDK.

Whether you’re a beginner exploring AI development or an experienced developer looking to integrate intelligent agents into your applications, this sample project provides practical, hands-on examples comparing two approaches: custom implementation using raw OpenAI API and using the official Agents SDK.

What is an AI Agent?

An AI agent is an autonomous system powered by a language model that can:

  • Understand natural language instructions
  • Make intelligent decisions about which tools to use
  • Execute functions to interact with external systems
  • Reason about results and provide meaningful responses
  • Collaborate with other agents to solve complex problems

Think of it as giving your AI assistant a toolbox. Instead of just talking, it can now check the weather, perform calculations, search databases, and much more.

Project Overview

The OpenAI AgentKit Sample Project demonstrates six levels of AI agent sophistication across two implementation approaches:

OpenAI API Approach (Custom Implementation)

1. Basic Agent

A foundational implementation showing how to set up OpenAI’s Chat Completions API.

What you’ll learn:

  • Setting up the OpenAI client
  • Configuring system and user messages
  • Managing model parameters (temperature, tokens)
  • Handling API responses

2. Agent with Tools

Introduces function calling where the agent decides when and how to use specific tools.

Available Tools:

  • Weather Tool: Retrieves current weather information
  • Calculator Tool: Performs mathematical operations
  • Time Tool: Gets current date and time across timezones

3. Advanced Agent

Production-ready example with sophisticated features including detailed logging, error handling, and multiple complex tools.

Enhanced Capabilities:

  • Wikipedia search integration
  • Sentiment analysis
  • Timezone-aware time retrieval
  • Comprehensive error handling
  • Performance statistics and logging

OpenAI Agents SDK Approach (Official Framework)

4. SDK Basic Agent

Simple agent using the official OpenAI Agents SDK with automatic agent loop and simplified API.

Key Features:

  • Uses Agent and run from @openai/agents
  • Automatic conversation management
  • Clean, minimal code

5. SDK Agent with Tools

Agent with tools using proper SDK conventions and automatic schema generation.

Tools:

  • Weather lookup with Zod validation
  • Mathematical calculations
  • Time zone support

Key Features:

  • Tools defined with tool() helper
  • Zod-powered parameter validation
  • Automatic schema generation from TypeScript types

6. SDK Multi-Agent System

Sophisticated multi-agent system with specialized agents and handoffs.

Agents:

  • WeatherExpert: Handles weather queries
  • MathExpert: Performs calculations
  • KnowledgeExpert: Searches knowledge base
  • Coordinator: Routes requests to specialists

Technology Stack

OpenAI API
GPT-4o-mini model for intelligent responses
@openai/agents
Official OpenAI Agents SDK
Zod
Runtime type validation and schema generation
Node.js
Runtime environment (22+ required for SDK)
Express.js
Web server framework
dotenv
Environment variable management

Getting Started

Prerequisites

Installation

1. Clone or download the project

cd openai-agentkit-sample

2. Install dependencies

npm install

This will install:

  • openai – Raw OpenAI API client
  • @openai/agents – Official Agents SDK
  • zod – Schema validation
  • Other dependencies

3. Configure environment variables

cp .env.example .env

Edit .env and add your OpenAI API key:

OPENAI_API_KEY=sk-your-actual-api-key-here

Running the Examples

Start the web server:

npm start

Open http://localhost:3000 in your browser

Run OpenAI API examples:

npm run example:basic      # Basic agent
npm run example:tools      # Agent with tools
npm run example:advanced   # Advanced agent

Run OpenAI Agents SDK examples:

npm run example:sdk-basic  # SDK basic agent
npm run example:sdk-tools  # SDK with tools
npm run example:sdk-multi  # Multi-agent system

Comparing the Two Approaches

OpenAI API (Custom Implementation)

Pros:

  • Full control over every aspect
  • Deep understanding of agent mechanics
  • Maximum flexibility
  • No framework constraints

Cons:

  • More code to write and maintain
  • Manual agent loop implementation
  • Manual tool schema definition
  • More error-prone

Example – Tool Definition (Raw API):

const weatherTool = {
  type: 'function',
  function: {
    name: 'get_weather',
    description: 'Get the current weather in a given location',
    parameters: {
      type: 'object',
      properties: {
        location: {
          type: 'string',
          description: 'The city and country',
        },
        unit: {
          type: 'string',
          enum: ['celsius', 'fahrenheit'],
        },
      },
      required: ['location'],
    },
  },
};
// Manual tool execution
function executeFunction(functionName, args) {
  switch (functionName) {
    case 'get_weather':
      return getWeather(args.location, args.unit);
    // ... more cases
  }
}

OpenAI Agents SDK (Official Framework)

Pros:

  • Less code, faster development
  • Automatic agent loop
  • Automatic schema generation from Zod
  • Built-in handoffs for multi-agent systems
  • Production-ready patterns
  • Type-safe with TypeScript

Cons:

  • Less control over internals
  • Framework learning curve
  • Tied to SDK conventions
  • Node.js 22+ requirement

Example – Tool Definition (Agents SDK):

import { tool } from '@openai/agents';
import { z } from 'zod';
const getWeatherTool = tool({
  name: 'get_weather',
  description: 'Get the current weather for a given location',
  parameters: z.object({
    location: z.string().describe('The city and country'),
    unit: z.enum(['celsius', 'fahrenheit']).optional().default('celsius'),
  }),
  async execute({ location, unit }) {
    // Tool implementation
    return JSON.stringify({ temperature: 22, condition: 'Sunny' });
  },
});
// Automatic execution - no switch statement needed!
const agent = new Agent({
  tools: [getWeatherTool],
});

Key Concepts

Function Calling / Tool Usage

Both approaches support function calling, where the AI model can “call” functions you define:

  1. Define tool: Describe function, parameters, and purpose
  2. Model decides: Model automatically decides when to use tools
  3. Execute tool: Your code executes the function
  4. Return result: Send result back to model
  5. Final response: Model uses result to create answer

OpenAI Agents SDK Advantages

The Agents SDK provides several powerful features:

Automatic Schema Generation:

// SDK automatically generates JSON schema from Zod!
z.object({
  city: z.string(),
  unit: z.enum(['celsius', 'fahrenheit']).optional(),
})

Agent Handoffs:

const coordinator = new Agent({
  handoffs: [weatherAgent, mathAgent, knowledgeAgent],
});
// Coordinator can automatically route to specialists

Built-in Agent Loop:

// SDK handles the entire conversation loop
const result = await run(agent, "What's the weather in Hanoi?");
console.log(result.finalOutput);

Practical Use Cases

Customer Service Automation

  • Answer questions using knowledge bases
  • Check order status
  • Process refunds
  • Escalate to human agents
  • Route to specialized agents

Personal Assistant Applications

  • Schedule management
  • Email drafting
  • Research and information gathering
  • Task automation
  • Multi-task coordination

Data Analysis Tools

  • Query databases
  • Generate reports
  • Perform calculations
  • Visualize insights
  • Collaborate across data sources

Best Practices

1. Clear Tool Descriptions

Make function descriptions detailed and specific:

Good:
description: 'Get the current weather including temperature, conditions, and humidity for a specific city and country'
Bad:
description: 'Get weather'

2. Use Zod for Validation (SDK)

parameters: z.object({
  email: z.string().email(),
  age: z.number().min(0).max(120),
  role: z.enum(['admin', 'user', 'guest']),
})

3. Error Handling

Always implement comprehensive error handling:

async execute({ city }) {
  try {
    const result = await weatherAPI.get(city);
    return JSON.stringify(result);
  } catch (error) {
    return JSON.stringify({ error: error.message });
  }
}

4. Tool Modularity

Create small, focused tools rather than monolithic ones:

// Good - specific tools
const getWeatherTool = tool({...});
const getForecastTool = tool({...});
// Bad - one giant tool
const weatherAndForecastAndHistoryTool = tool({...});

Multi-Agent Patterns

The Agents SDK excels at multi-agent workflows:

Specialist Pattern

const weatherExpert = new Agent({
  name: 'WeatherExpert',
  tools: [getWeatherTool],
});
const mathExpert = new Agent({
  name: 'MathExpert',
  tools: [calculateTool],
});
const coordinator = new Agent({
  handoffs: [weatherExpert, mathExpert],
});

Hierarchical Delegation

  • Coordinator receives user request
  • Analyzes which specialist is needed
  • Hands off to appropriate agent
  • Aggregates results
  • Returns unified response

API Endpoints

The project includes a web server with both approaches:

Raw API:

  • POST /api/chat/basic – Basic chat completion
  • POST /api/chat/with-tools – Manual tool handling

Agents SDK:

  • POST /api/chat/agents-sdk – SDK-powered agent with tools

When to Use Which Approach?

Use OpenAI API (Custom Implementation) When:

  • You need full control and customization
  • Learning how agents work at a low level
  • Implementing highly custom logic
  • Working with existing codebases
  • Framework constraints are a concern

Use OpenAI Agents SDK When:

  • Building production applications quickly
  • Need multi-agent workflows
  • Want type-safe tool definitions
  • Prefer less boilerplate code
  • Following best practices matters
  • Team collaboration is important

Performance Considerations

  • Model Selection: GPT-4o-mini offers great balance of capability and cost
  • Caching: Consider caching frequent queries
  • Async Operations: Use Promise.all() for parallel tool execution
  • Response Streaming: Implement for better UX
  • Rate Limiting: Monitor and manage API rate limits

Troubleshooting

Issue: “Invalid API Key”

  • Verify .env file contains correct API key
  • Check key is active in OpenAI dashboard

Issue: Tools Not Being Called

  • Ensure tool descriptions are clear and specific
  • Try more explicit user prompts
  • Check parameter schemas are correctly formatted

Issue: “Unsupported tool type”

  • Use tool() helper with Agents SDK
  • Ensure Zod schemas are properly defined
  • Check you’re importing from @openai/agents

Resources

Comparison Table

Feature Raw OpenAI API Agents SDK
Code Lines ~200 for basic agent with tools ~50 for same functionality
Schema Definition Manual JSON Automatic from Zod
Agent Loop Manual implementation Built-in
Type Safety Limited Full TypeScript support
Multi-Agent Manual implementation Built-in handoffs
Learning Curve Steep Moderate
Flexibility Maximum High
Production Ready Requires work Out-of-the-box
Node.js Requirement 18+ 22+

Conclusion

This project demonstrates two powerful approaches to building AI agents:

  1. Raw OpenAI API: Provides deep understanding and maximum control. Perfect for learning and custom implementations.
  2. OpenAI Agents SDK: Offers productivity, type safety, and production-ready patterns. Ideal for building real applications quickly.

Both approaches have their place. Start with the SDK for production work, but understanding the raw API approach gives you insights into how agents actually work.

Next Steps

  1. Experiment: Run all six examples
  2. Compare: Notice the differences in code complexity
  3. Customize: Create your own tools
  4. Integrate: Connect real APIs
  5. Deploy: Move to production with proper error handling
  6. Scale: Implement multi-agent systems for complex tasks

Contributing

Contributions, suggestions, and improvements are welcome! Feel free to:

  • Report issues
  • Submit pull requests
  • Share your custom tools
  • Suggest new examples

Demo

Github : https://github.com/cuongdvscuti/openai-agentkit-scuti

License

MIT License – Feel free to use this project for learning, development, or commercial purposes.


Ready to build your own AI agents?
Clone the repository, follow the setup instructions, and start with whichever approach fits your needs. The future of intelligent automation is in your hands!

OpenAI DevDay 2025: Cách Mạng Hóa Phát Triển Ứng Dụng AI

OpenAI DevDay 2025: Những Đột Phá Mới Trong Thế Giới AI

🚀 OpenAI DevDay 2025: Cách Mạng Hóa Phát Triển Ứng Dụng AI

📅 Sự kiện: 6 tháng 10, 2025 tại San Francisco

OpenAI DevDay 2025 đã mang đến những đột phá công nghệ AI ấn tượng với hơn 1,500 nhà phát triển tham dự và hàng chục nghìn người theo dõi trực tuyến. CEO Sam Altman đã công bố loạt tính năng mới làm thay đổi cách chúng ta xây dựng và triển khai ứng dụng AI.

800M+
Người dùng ChatGPT hàng tuần
4M+
Nhà phát triển
6B
Tokens/phút qua API

🎯 I. Tính Năng và Dịch Vụ Mới

1. ChatGPT Apps SDK – Ứng Dụng Tương Tác Trong ChatGPT

  • Apps in ChatGPT: Người dùng có thể chat trực tiếp với ứng dụng ngay trong giao diện ChatGPT mà không cần chuyển tab hay mở ứng dụng khác
  • Apps SDK: Công cụ phát triển mới dựa trên Model Context Protocol (MCP) – một chuẩn mở cho phép nhà phát triển xây dựng ứng dụng tương tác ngay trong ChatGPT
  • Đối tác ra mắt: Coursera, Canva, Zillow, Figma, Spotify, Expedia, Booking.com
  • Tính năng nổi bật: ChatGPT tự động gợi ý ứng dụng phù hợp trong cuộc trò chuyện, ví dụ khi bạn nói về lập kế hoạch du lịch, nó sẽ gợi ý Expedia
  • Monetization: Sắp có giao thức thương mại điện tử mới cho phép thanh toán ngay trong ChatGPT

2. AgentKit – Bộ Công Cụ Xây Dựng AI Agent Chuyên Nghiệp

  • Agent Builder: Giao diện kéo thả trực quan để thiết kế workflow cho AI agent mà không cần code phức tạp
  • ChatKit: Giao diện chat có thể tích hợp vào ứng dụng hoặc website của bạn, hỗ trợ streaming responses, quản lý threads, hiển thị quá trình suy nghĩ của model
  • Connector Registry: Bảng điều khiển tập trung để quản lý kết nối dữ liệu với Dropbox, Google Drive, SharePoint, Microsoft Teams
  • Guardrails: Lớp bảo mật mã nguồn mở giúp bảo vệ agent khỏi hành vi không mong muốn, có thể che PII, phát hiện jailbreaks
  • Enhanced Evals: Công cụ đánh giá nâng cao với datasets, trace grading, tối ưu prompt tự động, hỗ trợ các model của bên thứ ba
  • Demo trực tiếp: Tại sự kiện, một kỹ sư OpenAI đã xây dựng một AI agent hoàn chỉnh chỉ trong 8 phút

3. GPT-5 Pro – Model AI Thông Minh Nhất Trong API

  • Khả năng suy luận: Đạt trình độ PhD trong các lĩnh vực khoa học, có khả năng suy luận sâu cho các tác vụ phức tạp
  • Độ chính xác cao: Đặc biệt phù hợp cho tài chính, pháp lý, y tế – các lĩnh vực đòi hỏi độ chính xác cao
  • Reasoning effort: Có 4 mức độ suy luận (minimal, low, medium, high) để cân bằng giữa tốc độ và chất lượng
  • Context window: 272,000 tokens cho input, 128,000 tokens cho output
  • Multimodal: Hỗ trợ text và image cho input, text cho output

4. Codex – AI Agent Lập Trình Chính Thức Ra Mắt

  • GPT-5 Codex Model: Phiên bản GPT-5 được huấn luyện đặc biệt cho coding và agentic workflows
  • Tích hợp Slack: Lập trình viên có thể giao việc hoặc đặt câu hỏi trực tiếp từ Slack channels
  • Codex SDK: Cho phép tự động hóa code review, refactoring, automated testing
  • Thống kê ấn tượng:
    • Số lượng tin nhắn tăng 10x kể từ khi ra mắt tháng 8/2025
    • Đã xử lý hơn 40 trillion tokens
    • Nội bộ OpenAI: 70% pull requests nhiều hơn mỗi tuần

5. Sora 2 – Video Generation Trong API

  • Kiểm soát nâng cao: Có thể chỉ định độ dài, tỷ lệ khung hình, độ phân giải
  • Audio đồng bộ: Tạo video với âm thanh đầy đủ, âm thanh môi trường, hiệu ứng được đồng bộ với hình ảnh
  • Remix video: Cho phép chỉnh sửa và remix video đã tạo
  • Giá cả:
    • Sora-2: $1.00 cho video 10 giây độ phân giải tiêu chuẩn
    • Sora-2-pro: $5.00 cho video 10 giây độ phân giải cao

6. Mini Models – Tiết Kiệm Chi Phí

Model Chức năng Tiết kiệm
gpt-realtime-mini Voice interaction real-time 70% rẻ hơn large model
gpt-image-1-mini Tạo hình ảnh 80% rẻ hơn large model

7. Giá Cả GPT-5 Cạnh Tranh

Loại Input Output
GPT-5 $1.25/1M tokens $10/1M tokens
So với Claude Opus 4.1 $15/1M tokens $75/1M tokens

✨ II. Những Điểm Nổi Bật Đáng Chú Ý

🎯 Dễ Dàng Hơn Bao Giờ Hết

Dân chủ hóa phát triển phần mềm: Sam Altman đã kể câu chuyện về một cụ ông 89 tuổi người Nhật tự học lập trình với ChatGPT và đã tạo ra 11 ứng dụng iPhone dành cho người cao tuổi. Đây là minh chứng cho tầm nhìn “bất kỳ ai có ý tưởng đều có thể xây dựng ứng dụng cho chính mình”.

⚡ Tốc Độ Phát Triển Chưa Từng Có

“Phần mềm từng mất hàng tháng hoặc hàng năm để xây dựng. Giờ đây bạn thấy nó có thể được tạo ra chỉ trong vài phút với AI. Bạn không cần một đội ngũ lớn. Bạn chỉ cần một ý tưởng hay và có thể biến nó thành hiện thực nhanh hơn bao giờ hết.” – Sam Altman

🔒 Bảo Mật và Quản Trị Doanh Nghiệp

  • Content Shield: OpenAI cung cấp bảo vệ bản quyền cho doanh nghiệp
  • Global Admin Console: Quản lý domains, SSO, nhiều API organizations
  • Guardrails: Bảo vệ dữ liệu nhạy cảm và ngăn chặn hành vi độc hại

🤝 Hợp Tác Chiến Lược

AMD Partnership: OpenAI công bố hợp tác chiến lược với AMD để triển khai 6 gigawatts GPU Instinct của AMD trong nhiều năm tới, với warrant lên đến 160 triệu cổ phiếu AMD.

🌟 III. Tác Động và Ý Nghĩa

1. Đối Với Nhà Phát Triển

  • Giảm thời gian phát triển: Từ nhiều tháng xuống còn vài phút nhờ các công cụ như AgentKit và Codex
  • Chi phí thấp hơn: GPT-5 rẻ hơn 50% so với GPT-4o ở input, các mini models tiết kiệm 70-80%
  • Phân phối rộng rãi: Tiếp cận ngay 800 triệu người dùng ChatGPT qua Apps SDK
  • Developer lock-in thấp hơn: MCP là chuẩn mở, giúp dễ dàng chuyển đổi giữa các nền tảng

2. Đối Với Doanh Nghiệp

  • Tăng năng suất: AI agents có thể tự động hóa quy trình phức tạp từ customer support đến sales operations
  • Giảm headcount: Đội nhỏ có thể làm việc của đội lớn nhờ AI, tiết kiệm chi phí nhân sự
  • Cạnh tranh công bằng: Startup có thể cạnh tranh với đại gia nhờ chi phí thấp và công cụ dễ tiếp cận
  • Quản trị và bảo mật: Connector Registry và Guardrails giúp quản lý dữ liệu tập trung và đảm bảo compliance

3. Đối Với Người Dùng Cuối

  • Trải nghiệm liền mạch: Không cần chuyển đổi giữa nhiều ứng dụng, mọi thứ trong một giao diện ChatGPT
  • Cá nhân hóa cao: AI agents có thể học và thích nghi với nhu cầu cá nhân
  • Sáng tạo nội dung dễ dàng: Sora 2 cho phép tạo video chất lượng cao chỉ với mô tả text
  • Học tập và phát triển: Tích hợp Coursera giúp học tập cá nhân hóa ngay trong ChatGPT

4. Tác Động Ngành

Cuộc chiến giá cả AI: Với giá GPT-5 Pro rẻ hơn đáng kể so với Claude Opus 4.1 (rẻ hơn 92% ở input, 86% ở output), OpenAI đang tạo áp lực giá lên toàn ngành.

Platform Play: ChatGPT không còn là chatbot đơn thuần mà đang trở thành một nền tảng – giống như App Store của Apple. Điều này có thể thay đổi cách phân phối ứng dụng AI.

Democratization of AI: Với công cụ visual như Agent Builder, người không biết code cũng có thể tạo AI agents phức tạp, mở rộng đáng kể cộng đồng AI builders.

Chuyển dịch từ Answers đến Actions: ChatGPT đang chuyển từ trả lời câu hỏi sang thực hiện hành động, đánh dấu bước tiến mới trong phát triển AI.

5. Xu Hướng Tương Lai

  • AI như một Operating System: ChatGPT đang tiến đến việc trở thành một hệ điều hành AI – nơi tập trung apps, agents và users
  • Agentic AI: Từ việc chỉ trả lời câu hỏi, AI giờ có thể nhận và hoàn thành các tác vụ phức tạp end-to-end
  • Multimodal Everything: Tích hợp text, image, audio, video trong một platform duy nhất
  • Device Ecosystem: Với sự tham gia của Jony Ive và thương vụ mua io ($6.4B), OpenAI đang hướng đến việc tạo ra thiết bị AI riêng

🚀 Kết Luận

OpenAI DevDay 2025 không chỉ là sự kiện công bố sản phẩm mà là tuyên ngôn về tương lai của phát triển phần mềm. Với Apps SDK, AgentKit, GPT-5 Pro, và Sora 2, OpenAI đang xây dựng một hệ sinh thái AI toàn diện – từ nền tảng phát triển cho đến trải nghiệm người dùng cuối.

Thông điệp chính: “Bất kỳ ai có ý tưởng tốt đều có thể biến nó thành hiện thực nhanh hơn bao giờ hết”. Đây không chỉ là slogan marketing mà là tầm nhìn về một thế giới mà AI dân chủ hóa việc sáng tạo phần mềm.

Với 800 triệu người dùng, 4 triệu nhà phát triển và 6 tỷ tokens được xử lý mỗi phút, OpenAI không chỉ dẫn đầu cuộc đua AI mà đang định hình lại cách chúng ta tương tác với công nghệ.

Nguồn tham khảo:

  • OpenAI DevDay Official: openai.com/devday/
  • Sam Altman Keynote Livestream
  • OpenAI Blog và Documentation
  • CNBC, TechCrunch Coverage

Quick Guide to Using Jules

Jules is Google’s asynchronous AI coding agent that integrates directly with your GitHub repositories to perform tasks like fixing bugs, writing tests, building new features, and bumping dependency versions.

Getting Started:

  1. Connect GitHub: Visit jules.google, select your repository and branch

  2. Assign Tasks: Write a detailed prompt for Jules, or add the “jules” label to a GitHub issue

  3. Jules Works: Jules fetches your repository, clones it to a Cloud VM, and develops a plan using the latest Gemini 2.5 Pro model Jules – An Asynchronous Coding Agent

  4. Review & Approve: Jules provides a diff of the changes for you to browse and approve
  5. Create PR: Once approved, Jules creates a pull request for you to merge and publish on GitHub

Anthropic giới thiệu mô hình lập trình đỉnh nhất thế giới Claude Sonnet 4.5

Trong thế giới AI đang thay đổi từng ngày, các mô hình ngôn ngữ lớn (LLM — Large Language Models) không chỉ dừng lại ở khả năng hiểu – sinh văn bản, mà đang tiến sang khả năng tương tác thực tế, thực thi công cụ, duy trì trạng thái lâu, và hỗ trợ tác vụ đa bước. Claude của Anthropic là một trong những cái tên nổi bật nhất trong cuộc đua này — và phiên bản mới nhất Sonnet 4.5 được định vị như một bước nhảy quan trọng.

“Claude Sonnet 4.5 is the best coding model in the world. It’s the strongest model for building complex agents. It’s the best model at using computers.”Anthropic

1. Giới thiệu

Trong vài năm gần đây, các mô hình như GPT (OpenAI), Gemini (Google / DeepMind), Claude (Anthropic) đã trở thành xương sống của nhiều ứng dụng AI trong sản xuất, công việc hàng ngày và nghiên cứu. Nhưng mỗi dòng mô hình đều chọn hướng “cân bằng” giữa sức mạnh và an toàn, giữa khả năng sáng tạo và kiểm soát.

Claude, từ khi xuất hiện, đã xác định con đường của mình: ưu tiên an toàn, khả năng tương tác công cụ (tool use), kiểm soát nội dung xấu. Đặc biệt, dòng Sonnet của Claude được dùng như phiên bản “cân bằng” giữa các mô hình nhẹ hơn và các mô hình cực mạnh (Opus).

Vào ngày 29 tháng 9 năm 2025, Anthropic chính thức ra mắt Claude Sonnet 4.5, phiên bản được quảng bá là mạnh nhất trong dòng Sonnet, và là mô hình kết hợp tốt nhất giữa cấu trúc mã, khả năng dùng máy tính và agent phức tạp.

Thông báo chính thức khẳng định Sonnet 4.5 không chỉ là nâng cấp nhỏ mà là bước tiến lớn: nó cải thiện đáng kể khả năng lập trình, tương tác công cụ, reasoning & toán học, đồng thời giữ chi phí sử dụng không đổi với Sonnet 4 trước đó.

2. Những điểm nổi bật & cải tiến từ thông báo chính thức

2.1 “Most aligned frontier model” — Mô hình tiên phong có alignment cao nhất

Anthropic mô tả Sonnet 4.5 là mô hình hiện đại có alignment tốt nhất mà họ từng phát hành. Họ cho biết rằng so với các phiên bản Claude trước đây, Sonnet 4.5 đã giảm đáng kể các hành vi không mong muốn như:

  • Sycophancy (lấy lòng người dùng quá mức)
  • Deception (lừa dối hoặc đưa thông tin sai)
  • Power-seeking (tự nâng quyền lực)
  • Khuyến khích ảo tưởng hoặc suy nghĩ sai lệch (encouraging delusional thinking)

Ngoài ra, để đối phó với rủi ro khi mô hình tương tác với công cụ (agent, prompt injection), họ đã có những bước tiến cải thiện trong bảo vệ chống prompt injection — một trong những lỗ hổng nghiêm trọng nhất khi dùng mô hình kết hợp công cụ.

Sonnet 4.5 được phát hành dưới AI Safety Level 3 (ASL-3), theo khung bảo vệ của Anthropic, với các bộ lọc (classifiers) để phát hiện các input/output có nguy cơ cao — đặc biệt liên quan đến vũ khí hóa học, sinh học, hạt nhân (CBRN).

Họ cũng nói rõ: các bộ lọc đôi khi sẽ “cảnh báo nhầm” (false positives), nhưng Anthropic đã cải thiện để giảm tỷ lệ báo nhầm so với trước — kể từ phiên bản Opus 4, tỷ lệ nhầm được giảm mạnh.

Việc đưa thông tin này vào blog (với giải thích dễ hiểu) sẽ giúp độc giả thấy rằng Sonnet 4.5 không đơn thuần là “thêm mạnh hơn”, mà cũng là “thêm an toàn”.

2.2 Nâng cấp công cụ & trải nghiệm người dùng

Một loạt tính năng mới và cải tiến trải nghiệm được Anthropic công bố:

  • Checkpoints trong Claude Code: Bạn có thể lưu tiến độ và “quay lui” về trạng thái trước đó nếu kết quả không như ý.
  • Giao diện terminal mới & extension VS Code gốc: để người dùng phát triển dễ dùng hơn trong môi trường quen thuộc.
  • Context editing (chỉnh ngữ cảnh) & memory tool trong API: giúp agent chạy dài hơi, duy trì bối cảnh xuất hiện trong prompt, xử lý phức tạp hơn.
  • Trong ứng dụng Claude (trên web/app), tích hợp thực thi mã (code execution)tạo file (spreadsheet, slide, document) ngay trong cuộc hội thoại.
  • Claude for Chrome extension (cho người dùng Max) — giúp Claude tương tác trực tiếp qua trình duyệt, lấp đầy form, điều hướng web, v.v.
  • Claude Agent SDK: Anthropic mở nền tảng cho các nhà phát triển xây dựng agent dựa trên cơ sở mà Claude dùng. SDK này chứa các thành phần họ đã phát triển cho Claude Code: quản lý memory, quyền kiểm soát, phối hợp sub-agent, v.v.
  • Research preview “Imagine with Claude”: một chế độ thử nghiệm cho phép Claude tạo phần mềm “on the fly”, không dùng mã viết sẵn, phản ứng tương tác theo yêu cầu của người dùng — được mở cho người dùng Max trong 5 ngày.

Những điểm này là “chất” để bạn thêm vào blog khiến nó hấp dẫn và mang tính cập nhật kỹ thuật cao.

2.3 Hiệu năng & benchmark đáng chú ý

Anthropic cung cấp các con số benchmark để thể hiện bước nhảy lớn của Sonnet 4.5:

  • Trên SWE-bench Verified (benchmark chuyên về khả năng lập trình thực tế), Sonnet 4.5 được cho là state-of-the-art.
  • Họ dùng phép thử: 77,2 %, tính trung bình 10 lần thử nghiệm, không dùng thêm compute khi test, và budget “thinking” 200K tokens.
  • Với cấu hình 1M context, có thể đạt 82,0 %.
  • Trên OSWorld (benchmark thử AI sử dụng máy tính thực: tương tác máy tính, trang web, file, lệnh), Sonnet 4.5 đạt 61,4 %, vượt Sonnet 4 trước đó (42,2 %).
  • Trong các lĩnh vực chuyên môn như tài chính, y tế, luật, STEM, Sonnet 4.5 thể hiện kiến thức và reasoning tốt hơn so với các mô hình cũ (bao gồm Opus 4.1).
  • Anthropic cũng nói rằng người dùng đã thấy mô hình giữ “focus” trong hơn 30 giờ khi thực hiện tác vụ phức tạp đa bước.

Khi bạn đưa vào blog, bạn nên giải thích những con số này (ví dụ: SWE-bench là gì, OSWorld là gì), để độc giả không chuyên cũng hiểu giá trị của việc tăng từ 42 % lên 61 %, hay “giữ 30 giờ” là gì trong bối cảnh AI.

2.5 Ưu điểm về chi phí & khả năng chuyển đổi

Một điểm rất hấp dẫn mà Anthropic nhấn mạnh: giá sử dụng Sonnet 4.5 giữ nguyên như Sonnet 4 — không tăng phí, vẫn là $3 / $15 per million tokens (theo gói)

Họ cũng nhấn rằng Sonnet 4.5 là bản “drop-in replacement” cho Sonnet 4 — tức là nếu bạn đang dùng Sonnet 4 qua API hay ứng dụng Claude, bạn có thể chuyển sang Sonnet 4.5 mà không cần thay đổi nhiều.

Điều này làm tăng sức hấp dẫn của việc nâng cấp từ các phiên bản cũ lên Sonnet 4.5 — vì bạn được lợi nhiều hơn mà không phải trả thêm.

2.6 Thông tin kỹ thuật & lưu ý từ hệ thống (system card)

Trong thông báo, Anthropic cũng nhắc đến system card đi kèm Sonnet 4.5 — nơi họ công bố chi tiết hơn về các đánh giá an toàn, mitigations, phương pháp thử nghiệm, các chỉ số misaligned behaviors, cách họ đo lường prompt injection, v.v.

Ví dụ, trong system card có:

  • Biểu đồ “misaligned behavior scores” (hành vi lệch chuẩn) — càng thấp càng tốt — được đo qua hệ thống auditor tự động.
  • Phương pháp thử nghiệm và footnotes cho các benchmark: cách họ test SWE-bench, OSWorld, Terminal-Bench, τ2-bench, AIME, MMMLU, Finance Agent.
  • Ghi chú rằng các khách hàng trong ngành an ninh mạng, nghiên cứu sinh học, v.v. có thể được vào allowlist nếu cần vượt hạn chế CBRN.

3. Những cải tiến chính trong phiên bản 4.5

3.1 Hiệu năng lập trình & agent

Một trong những điểm mạnh lớn mà Sonnet 4.5 hướng tới là năng lực lập trình thực tế. Trên benchmark SWE-bench Verified, nó đạt ~ 77,2 % (khi test với scaffold, không dùng thêm compute), và ở cấu hình 1M context có thể lên đến ~ 82,0 %. Trong các thử nghiệm nội bộ, nó có thể giữ trạng thái làm việc liên tục hơn 30 giờ cho các tác vụ phức tạp.

Khi so sánh với Sonnet 4 trước đó, Sonnet 4.5 đạt 61,4 % trên benchmark OSWorld (AI thực thi máy tính thực tế), trong khi Sonnet 4 chỉ có ~ 42,2 %. Đây là bước nhảy lớn trong khả năng AI “dùng máy tính như người dùng thật”.

Ngoài ra, Sonnet 4.5 được thiết kế để thực thi nhiều lệnh song song (“parallel tool execution”) — ví dụ chạy nhiều lệnh bash trong một ngữ cảnh — giúp tận dụng tối đa “actions per context window” (số hành động trên khung ngữ cảnh) hiệu quả hơn.

3.4 Trải nghiệm người dùng & công cụ hỗ trợ

Sonnet 4.5 không chỉ mạnh mà còn dễ dùng:

  • Checkpoints trong Claude Code: cho phép người dùng lưu trạng thái, quay trở lại nếu cần.
  • Giao diện terminal mới, extension VS Code tích hợp gốc — giúp developer làm việc trong môi trường quen thuộc.
  • Context editing (chỉnh ngữ cảnh) và memory tool trong API: giúp agent theo dõi ngữ cảnh, nhớ các bước trước và hoạt động trong tác vụ dài hơn.
  • Trong ứng dụng Claude (app/web): hỗ trợ thực thi mãtạo file (spreadsheet, slide, document) ngay trong cuộc hội thoại — không cần chuyển sang công cụ ngoài.
  • Claude for Chrome: tiện ích mở rộng cho người dùng Max — giúp Claude tương tác trực tiếp với trang web: điều hướng, điền form, xử lý các tương tác web.
  • Claude Agent SDK: Anthropic mở mã để người dùng / developer xây agent dựa trên nền tảng mà Claude sử dụng — từ memory management đến phối hợp sub-agent, quyền kiểm soát, v.v.
  • Imagine with Claude: bản thử nghiệm (research preview) cho phép Claude “sáng tạo phần mềm on the fly” — nghĩa là không có phần mã viết sẵn, mà mô hình tự sinh & điều chỉnh theo yêu cầu người dùng. Được cung cấp cho người dùng Max trong 5 ngày.
3.3 An toàn và alignment

Sonnet 4.5 không chỉ mạnh mà còn chú trọng an toàn:

  • Áp dụng các bộ lọc (classifiers) để phát hiện các input/output nguy hiểm, đặc biệt trong các lĩnh vực CBRN — nhằm hạn chế khả năng sử dụng mô hình cho vũ khí hóa học, sinh học, hạt nhân.
  • Các bộ lọc này đôi khi “cảnh báo nhầm” (false positives), nhưng Anthropic đã cải tiến để giảm tỷ lệ này: so với trước, giảm 10× từ bản gốc, và giảm 2× so với Opus 4.
  • Việc phát hành ở mức AI Safety Level 3 (ASL-3) cho thấy Anthropic đặt giới hạn truy cập và bảo vệ bổ sung theo khả năng mô hình.
  • Biểu đồ “misaligned behavior scores” (điểm hành vi lệch chuẩn) được công bố — thể hiện mức độ giảm các hành vi như deception, sycophancy, power-seeking, khuyến khích ảo tưởng.
  • Bảo vệ chống prompt injection được cải thiện đáng kể, đặc biệt quan trọng khi mô hình dùng công cụ/agent.

Những yếu tố này rất quan trọng để người dùng tin tưởng dùng Sonnet 4.5 trong môi trường sản xuất, doanh nghiệp, ứng dụng thực tế.

3.4 Chi phí & chuyển đổi dễ dàng

Một điểm hấp dẫn là giá vẫn giữ như Sonnet 4: không tăng phí, vẫn là $3/$15 per million tokens (tùy gói)

Anthropic cho biết Sonnet 4.5 là drop-in replacement — tức nếu bạn đang dùng Sonnet 4 qua API hoặc ứng dụng, bạn có thể chuyển sang Sonnet 4.5 mà không cần thay đổi nhiều code hoặc cấu hình.

Đây là chi tiết quan trọng để độc giả của blog thấy rằng “nâng cấp” không đồng nghĩa “tăng chi phí lớn”.

4. Ứng dụng thực tiễn & tiềm năng nổi bật

Với những cải tiến kể trên, Claude Sonnet 4.5 có thể được ứng dụng mạnh trong nhiều lĩnh vực — phần này bạn có thể minh họa thêm bằng ví dụ thực tế trong blog của bạn.

4.1 Lập trình & phát triển phần mềm

  • Tạo mã (code generation) từ module nhỏ đến hệ thống lớn
  • Tự động sửa lỗi, refactor code, test, deploy
  • Phối hợp agent để quản lý dự án lập trình — chia nhỏ tác vụ, kiểm soát tiến độ
  • Hỗ trợ developer trong IDE (nhờ extension VS Code)

Ví dụ từ Anthropic: Sonnet 4.5 có thể hiểu mẫu mã code của một codebase lớn, thực hiện debug và kiến trúc theo ngữ cảnh cụ thể của dự án.

4.2 Ứng dụng doanh nghiệp & phân tích

  • Tự động hóa quy trình nội bộ: trích xuất, tổng hợp báo cáo, phân tích dữ liệu
  • Hỗ trợ phân tích tài chính, mô hình rủi ro, dự báo
  • Trong lĩnh vực pháp lý: phân tích hồ sơ kiện tụng, tổng hợp bản ghi, soạn bản nháp luật, hỗ trợ CoCounsel (như trích dẫn trong bài)
  • Trong an ninh mạng: red teaming, phát hiện lỗ hổng, tạo kịch bản tấn công (Anthropic trích dẫn việc Sonnet 4.5 được dùng cho các công ty an ninh mạng để giảm “vulnerability intake time” 44 % và tăng độ chính xác 25 %)

4.3 Trợ lý ảo – công việc văn phòng

  • Trong ứng dụng Claude: tạo slide, bảng tính, file văn bản trực tiếp từ cuộc hội thoại
  • Hỗ trợ xử lý email, lập kế hoạch, tổng hợp nội dung, viết báo cáo
  • Tương tác với nhiều hệ thống qua API, làm các tác vụ đa bước

4.4 Agent thông minh & tác vụ liên tục

Nhờ khả năng duy trì ngữ cảnh, nhớ lâu và tương tác công cụ, Sonnet 4.5 rất phù hợp để xây agent đa bước, làm việc liên tục qua nhiều giờ:

  • Quản lý dự án (lập kế hoạch → giám sát → báo cáo)
  • Agent giám sát, tự động hóa pipeline (CI/CD, triển khai sản phẩm)
  • Agent tương tác đa hệ thống (hệ thống CRM, ERP, API bên ngoài)
  • Agent tự điều chỉnh dựa trên phản hồi mới

Anthropic nhắc rằng Sonnet 4.5 có thể “giữ 30+ giờ tự chủ trong mã” — tức là trong tác vụ lập trình liên tục, mô hình vẫn giữ mạch lạc và không “rơi rụng”.

5. So sánh Sonnet 4.5 với các mô hình khác & ưu nhược điểm

Phần này giúp độc giả định vị Sonnet 4.5 trong “bản đồ AI” hiện tại.

5.1 So với Claude phiên bản trước (Sonnet 4, Opus 4)

Ưu điểm của 4.5 so với Sonnet 4 / Opus 4:

  • Nâng cao khả năng sử dụng công cụ & tương tác thực tế (OSWorld từ ~42,2 % lên ~61,4 %)
  • Tăng độ ổn định / duy trì trạng thái lâu hơn (“30+ giờ”)
  • Checkpoints, context editing, memory tool — các tính năng mà Sonnet 4 không có
  • Giá giữ nguyên so với Sonnet 4
  • Kích hoạt SDK agent, mở đường cho người dùng xây agent tùy biến
  • Cải thiện an toàn và alignment

Hạn chế so với Opus / mô hình cao cấp:

  • Có thể Opus 4 vẫn có lợi thế trong một số bài toán reasoning cực lớn
  • Sonnet 4.5 là phiên bản “cân bằng” — nếu bạn cần năng lực cực hạn, Opus có thể vẫn vượt trội
  • Dù giảm lỗi, Sonnet 4.5 vẫn có thể có sai sót trong môi trường thực, đặc biệt trong các domain ngoài dữ liệu huấn luyện

5.2 So với GPT-4 / GPT-5 / Gemini / các LLM khác

Lợi thế của Sonnet 4.5:

  • Khả năng dùng máy tính & thực thi công cụ nội tại — điểm mà GPT truyền thống cần mô hình kết hợp môi trường để làm
  • Agent lâu dài, giữ trạng thái dài, xử lý tác vụ đa bước
  • Tích hợp tính năng code execution, file creation ngay trong mô hình
  • Chi phí “không tăng khi nâng cấp” — tạo động lực để chuyển
  • An toàn & alignment là một trong các ưu tiên thiết kế

Thách thức so với GPT / Gemini:

  • Ecosystem plugin / cộng đồng hỗ trợ GPT / Gemini lớn hơn — nhiều tài nguyên, thư viện, ứng dụng kèm
  • GPT / Gemini có thể mạnh hơn về “ngôn ngữ tự nhiên / creative writing” trong nhiều tình huống
  • Tốc độ inference, độ trễ, khả năng mở rộng thực tế có thể là điểm yếu nếu triển khai không tốt

5.3 Ưu điểm & hạn chế tổng quan

Ưu điểm:

  • Kết hợp tốt giữa sức mạnh và khả năng dùng trong thực tế
  • Được cải tiến nhiều tính năng hữu ích (checkpoints, memory, chỉnh ngữ cảnh)
  • An toàn hơn — giảm nhiều loại hành vi không mong muốn
  • Giá ổn định, chuyển đổi dễ
  • Được phản hồi tích cực từ người dùng thật sự

Hạn chế & rủi ro:

  • Không hoàn hảo — vẫn có thể “bịa”, sai logic, đặc biệt trong domain mới
  • Khi agent liên tục tự hành động, nếu prompt hoặc giám sát không chặt có thể gây lỗi nghiêm trọng
  • Việc triển khai thực tế (cơ sở hạ tầng, độ ổn định, tài nguyên) là thách thức lớn
  • Mô hình mới nhanh chóng — Sonnet 4.5 có thể bị vượt nếu Anthropic hoặc đối thủ không tiếp tục đổi mới

6. Kết luận & lời khuyên cho người dùng

Claude Sonnet 4.5 là một bước tiến ấn tượng trong dòng Claude: nó mang lại năng lực cao hơn trong lập trình, tương tác công cụ, agent lâu dài và các ứng dụng thực tế. Nếu được sử dụng đúng cách, nó có thể là trợ thủ đắc lực cho lập trình viên, nhà phân tích, đội phát triển sản phẩm, và nhiều lĩnh vực khác.

Tuy nhiên, không có mô hình AI nào hoàn hảo. Người dùng cần hiểu đúng điểm mạnh, điểm yếu, luôn giám sát kết quả, thiết lập kiểm soát và luôn cập nhật khi có phiên bản mới.

Nếu bạn là nhà phát triển, nhà phân tích hay người chủ doanh nghiệp, Claude Sonnet 4.5 có thể là lựa chọn đáng cân nhắc cho các nhiệm vụ có tính logic cao, cần tương tác công cụ, hoặc muốn xây agent thông minh.

Tối ưu hóa PDF Cho LLM

PDF là định dạng tài liệu phổ biến nhất hiện nay: từ báo cáo, hợp đồng cho đến tài liệu kỹ thuật. Tuy nhiên, khi đưa PDF trực tiếp vào các mô hình ngôn ngữ lớn (LLM) để làm Q&A, RAG (Retrieval-Augmented Generation) hay tóm tắt, chúng ta thường gặp nhiều vấn đề:

  • PDF scan chỉ chứa ảnh, không thể đọc trực tiếp.

  • Layout phức tạp (2 cột, bảng, biểu đồ) → text extraction sai thứ tự.

  • File quá lớn → embedding tốn nhiều token, chi phí cao.

  • Nhiễu từ header/footer, số trang, ký tự đặc biệt.

Vì vậy, việc tối ưu PDF trước khi đưa vào LLM là bắt buộc nếu muốn đảm bảo kết quả chính xác, chi phí hợp lý và hệ thống dễ mở rộng.

Trong bài viết này, mình sẽ hướng dẫn cách triển khai pipeline xử lý PDF bằng Node.js: từ trích xuất văn bản, OCR cho PDF scan, làm sạch dữ liệu, chunk, tạo embedding và indexing bằng FAISS.


Workflow tổng quan

PDF → Phân loại (Text-based / Scanned)
├─ Text-based → pdf-parse → Làm sạch → Chunk → Embedding → Index
└─ Scanned → OCR (tesseract.js) → Làm sạch → Chunk → Embedding → Index

Bước 1. Cài đặt thư viện

npm install pdf-parse openai faiss-node tesseract.js pdf2pic
  • pdf-parse: trích xuất text từ PDF dạng text.

  • tesseract.js + pdf2pic: OCR cho PDF scan (ảnh).

  • openai: gọi API để tạo embeddings.

  • faiss-node: tạo vector index để search.


Bước 2. Trích xuất văn bản từ PDF (Text-based)

import fs from “fs”;
import pdf from “pdf-parse”;
const dataBuffer = fs.readFileSync(“sample.pdf”);
const extractPdf = async () => {
const data = await pdf(dataBuffer);
console.log(“Số trang:”, data.numpages);
return data.text;

};const rawText = await extractPdf();


Bước 3. Làm sạch dữ liệu

function cleanText(text) {
return text
.replace(/\s+/g, ” “) // bỏ khoảng trắng thừa
.replace(/Page \d+ of \d+/gi, “”) // bỏ số trang
.replace(/[^\x00-\x7F]/g, “”); // bỏ ký tự đặc biệt
}const cleanedText = cleanText(rawText);

Bước 4. Chunking văn bản

Chia nhỏ văn bản theo đoạn, tránh cắt cứng theo ký tự.

function chunkText(text, maxWords = 200) {
const sentences = text.split(/(?<=[.?!])\s+/);
const chunks = [];
let current = [];
let count = 0; for (const sentence of sentences) {
const words = sentence.split(” “).length;
if (count + words > maxWords) {
chunks.push(current.join(” “));
current = [];
count = 0;
}
current.push(sentence);
count += words;
}
if (current.length) chunks.push(current.join(” “));
return chunks;
}const chunks = chunkText(cleanedText);
console.log(“Số chunks:”, chunks.length);

Bước 5. OCR cho PDF Scan

Nếu PDF chỉ chứa ảnh, dùng tesseract.js để OCR:

import { fromPath } from “pdf2pic”;
import Tesseract from “tesseract.js”;const convert = fromPath(“scanned.pdf”, { density: 200 });for (let i = 1; i <= 3; i++) {
const page = await convert(i);
const result = await Tesseract.recognize(page.path, “eng”);
console.log(“OCR trang”, i, “:”, result.data.text.substring(0, 200));
}

Bước 6. Tạo Embedding & Indexing (OpenAI + FAISS)

import OpenAI from “openai”;
import faiss from “faiss-node”;const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });async function getEmbedding(text) {
const res = await client.embeddings.create({
model: “text-embedding-3-small”,
input: text,
});
return res.data[0].embedding;
}const embeddings = [];
for (const chunk of chunks) {
const emb = await getEmbedding(chunk);
embeddings.push(emb);
}// Tạo FAISS index
const dim = embeddings[0].length;
const index = new faiss.IndexFlatL2(dim);
index.add(embeddings);console.log(“Đã index:”, index.ntotal, “chunks”);

Bước 7. Tìm kiếm & Truy vấn

async function searchQuery(query, k = 3) {
const qEmb = await getEmbedding(query);
const { labels } = index.search([qEmb], k);
return labels[0].map(i => chunks[i]);
}const results = await searchQuery(“Nội dung chính của báo cáo là gì?”);
console.log(“Top matches:”, results);

Sau đó bạn đưa results vào prompt của GPT để Q&A hoặc tóm tắt.


Thực hành tốt nhất

  • Bảng (tables) → trích xuất thành CSV/JSON thay vì text để giữ cấu trúc.

  • Biểu đồ (figures/charts) → OCR + alt text mô tả.

  • Metadata → lưu page, section, title để dễ trace lại nguồn.

  • Large PDFs → xử lý batch 50–100 trang/lần.

  • Pre-check → phân loại PDF trước khi xử lý (text-based vs scanned).


Kết luận

Nếu không xử lý trước, PDF sẽ trở thành “nhiễu” đối với LLM: khó hiểu, tốn token và cho ra kết quả sai lệch. Bằng pipeline Node.js trên, bạn có thể tối ưu PDF từ raw file → dữ liệu sạch, có cấu trúc và dễ dàng search để đưa vào RAG hoặc các ứng dụng AI khác.

Benefits of Using MD vs XLSX for Knowledge Base on Dify

Why Use Markdown?

1. Better AI Processing

  • Semantic understanding: AI models process continuous text more effectively than fragmented cell data
  • Context preservation: Paragraph-based content maintains relationships between information
  • Effective retrieval: Vector embeddings capture meaning better from natural language text
  • Natural chunking: Content splits logically by sections, preserving context in each chunk

2. Cost Efficiency

  • Smaller storage: Plain text (5-10KB) vs Excel with formatting overhead (50-100KB+)
  • Lower token usage: Markdown structure is simpler, reducing embedding and processing tokens
  • Faster processing: Text parsing is significantly faster than Excel binary format

3. Operational Benefits

  • Version control friendly: Git tracks line-by-line changes effectively
  • Universal editing: Any text editor works, no proprietary software needed
  • Better collaboration: Merge conflicts are easier to resolve in plain text
  • Automation ready: Easily integrated into CI/CD and documentation workflows

4. When to Use Excel?

XLSX may be suitable when:

  • You need structured tabular data with calculations/formulas
  • Data is primarily numerical with specific formatting requirements
  • Direct import/export with database systems or business intelligence tools
  • Non-technical users need to edit data in familiar spreadsheet interface

However, for knowledge bases consumed by AI, converting to Markdown yields better results even for tabular data.

Demo: Converting XLSX to MD

You can create a custom plugin tool on Dify to convert Excel files to Markdown. Here’s how I built mine:

Implementation Steps

  1. Accept XLSX file input
    • Require Xlsx File parameter and wrap its blob in a BytesIO stream
  2. Configure column selection
    • Extract Selected Columns parameter (accepts list/JSON string/comma-separated string)
    • Ensure it is non-empty
  3. Set delimiter
    • Resolve Delimiter parameter for separating entries
  4. Parse Excel file
    • Read the first worksheet into a DataFrame using pandas
    • Verify all requested columns exist in the DataFrame header
    • Subset DataFrame to selected columns only
    • Normalize NaN values to None
  5. Transform to structured data
    • Convert each row into a dictionary keyed by selected column names
    • If no rows remain, emit message indicating no data and stop
  6. Generate Markdown
    • Build content by writing column: value lines per row
    • Append delimiter between entries
    • Join all blocks into final Markdown
  7. Output file
    • Derive filename from uploaded file metadata
    • Emit blob message with Markdown bytes and metadata

Sample

Input

 

Output