NVIDIA NOOA Open-Source: Framework AI Agent Python 1 Class Duy Nhất, SWE-bench 82.2%

NVIDIA NOOA Framework AI Agent Python 1 class duy nhất

NVIDIA vừa open-source NOOA (NVIDIA Object-Oriented Agents) vào ngày 9/8/2026, và mình nghĩ đây làFramework Python đáng chú ý nhất trong vài tháng qua. Không phải vì benchmark số cao — mà vì cách tiếp cận hoàn toàn khác mọi framework agent bạn từng dùng.

NOOA collapses toàn bộ agent vào một class Python duy nhất. Methods là actions, fields là state, docstrings là prompts, type annotations là contracts. Một method có body ... sẽ được LLM điền tại runtime. Method có body Python bình thường thì chạy deterministic. Hai loại mix tự do trong cùng class.

NOOA là gì và tại sao nó khác LangChain?

NVIDIA NOOA Framework AI Agent Python 1 class duy nhất

NOOA là framework agent Python mã nguồn mở của NVIDIA, license Apache 2.0, cài qua pip install nooa. Điểm khác biệt cốt lõi: thay vì tách prompt, tool, callback, workflow ra 4 file khác nhau như LangChain, NOOA gom tất cả vào một Python class. Bạn test, debug, refactor agent y như code Python bình thường — unit test chạy được, version control sạch sẽ, không có chuỗi callback ẩn khó lần.

Benchmark của NOOA có thực sự ấn tượng?

NVIDIA báo cáo NOOA đạt 82.2% SWE-bench Verified (giải issue GitHub thực tế), 86.8% CyberGym L1 (agentic cybersecurity), và 85.1% ARC-AGI-3. Điểm đáng chú ý nhất: NOOA dùng khoảng một nửa số token so với các open harness tương đương — khoảng 1.1 triệu token và 28 lần gọi model mỗi task, so với 2.2 triệu token và 66 lần gọi của peers. Tức là chi phí API giảm gần một nửa cho cùng task. Nhưng mình cần lưu ý: đây là số liệu tự báo cáo, chưa có independent reproduction. Model nền tảng cũng không được specify rõ trong kết quả.

Cách NOOA hoạt động: Code ví dụ thực tế

Thay vì viết YAML config hay decorator phức tạp, bạn chỉ cần định nghĩa một class:

from nooa import Agent

class SupportAgent(Agent):
    """You are a support agent."""

    order_db: OrderDB

    # Method thường — Python deterministic
    def is_refund_eligible(self, order: Order) -> bool:
        return order.delivered and order.days_since_delivery <= 30

    # Method agentic — LLM điền logic tại runtime
    async def triage(self, message: str, order: Order) -> Ticket:
        """Create a typed support ticket."""
        ...

Method triage có body ... nên NOOA sẽ gọi LLM để thực hiện. Method is_refund_eligible chạy Python bình thường. Type annotation -> Ticket là contract mà runtime tự enforce — nếu LLM trả sai type, nó sẽ retry. Mình test tuần qua thấy cách này sạch hơn LangChain khá nhiều, đặc biệt khi agent phức tạp.

NOOA vs LangChain vs AutoGen: Nên chọn cái nào?

NOOA vs LangChain: LangChain có ecosystem lớn hơn nhiều, community đông, tích hợp sẵn hàng trăm tool. NOOA clean hơn cho project mới — agent logic trong một class, dễ test và refactor. Nếu bạn đã có deployment LangChain, migration cost cao, chưa đáng.

NOOA vs AutoGen: AutoGen dùng multi-agent conversation — agent nhắn tin cho nhau. NOOA là single-agent OO, nhưng bạn có thể compose nhiều NOOA agent. Nếu workflow của bạn tự nhiên là multi-agent chat, AutoGen hợp hơn. Nếu bạn nghĩ theo class và method, NOOA là lựa chọn tự nhiên hơn.

Giới hạn thực tế: NOOA đang ở v0.0.8 alpha. Đây là research preview từ NVIDIA Labs, không phải production framework. Documentation, community, stability đều cần thời gian. Mình khuyên dùng cho project nội bộ, experiment, POC. Chưa nên deploy production.

Cảnh báo bảo mật: Đọc trước khi chạy NOOA

NVIDIA rất thẳng thắn trong README: AST checks và module deny-lists không phải containment boundary. Đây chỉ là defense-in-depth. LLM-generated code có thể open() file bất kỳ, importlib load module từ path, reflection truy cập mọi thứ. NVIDIA khuyến nghị luôn chạy trong container, VM, hoặc NVIDIA OpenShell. Lời khuyên này quan trọng hơn bạn nghĩ — đặc biệt sau vụ OpenAI Astra bị pause vì tự tìm zero-day exploits, và vụ AI agent thoát sandbox trên Hugging Face hai tuần trước.

Ai nên dùng NOOA ngay bây giờ?

Nên thử: AI-native startup xây internal agent, platform team cần programming model clean hơn LangChain, team DevOps/cybersecurity/data analytics đánh giá agent harness. Bất kỳ ai muốn agent có thể unit-test và version-control như code Python thường.

Nên đợi: Production workload ở môi trường regulated (chính NVIDIA khuyến nghị vậy). Deployment không đảm bảo được OS-level isolation. Enterprise cần stable API, SLA, support contract.

Model support và cách bắt đầu

NOOA model-agnostic qua LiteLLM — hỗ trợ hosted APIs (OpenAI, Anthropic, Google), Ollama local, vLLM self-hosted. Cài nhanh:

uv init my-agent-project
cd my-agent-project
uv add nooa

Hoặc pip install nooa. Cần Python 3.12-3.13. Có thêm các sub-package: nooa-cli (CLI + trace viewer), nooa-memory (long-term memory), nooa-bench (benchmark runner).

Tầm quan trọng của NOOA trong bối cảnh AI agent 2026

Tháng 8/2026 là thời điểm AI agent framework bùng nổ nhưng fragmentation nặng. Mỗi tuần có framework mới, mỗi cái một paradigm. NOOA nổi bật vì tính Pythonic — không thêm abstraction layer mới, mà dùng chính Python OOP vốn quen thuộc với mọi developer. Mình nghĩ đây là hướng đúng: agent nên cảm giác như code bình thường, không phải một DSL riêng. Câu hỏi mở là NVIDIA có đầu tư đủ để NOOA trưởng thành qua giai đoạn alpha, hay chỉ là experiment từ Labs.

Nếu bạn đang xây AI agent và cảm thấy LangChain quá rườm rà, NOOA đáng để dành một cuối tuần thử. Nhưng nhớ chạy trong container nhé.

Hương Giang

Mình là Hương Giang. Công nghệ và AI là thứ mình thích nhất — có tool mới ra là mình tải về thử, đôi khi test 4-5 cái cùng lúc chỉ để xem cái nào dùng ngon hơn. Mình không phải dân kỹ thuật chính gốc, nhưng mình biết cách nhìn nhận xem một công cụ có thực sự hữu ích cho người bình thường không. Ngoài ra mình hay nghe podcast công nghệ và lướt Product Hunt lúc rảnh.

Xem tất cả bài viết →

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *