Techsy
Liên hệ
Bắt đầu
Quay lại Blog
ai-machine-learning

LangGraph so với CrewAI và OpenAI Agents 2026: Thử nghiệm tốc độ triển khai

Viết bởi Mert Batur Gürbüz
Cập nhật lần cuối May 12, 2026
28 phút đọc
Mục lục
LangGraph so với CrewAI và OpenAI Agents 2026: Thử nghiệm tốc độ triển khai

Quyết định giữa LangGraph so với CrewAI so với OpenAI Agents SDK thực chất là một cược vào triết lý phát triển: bạn muốn kiểm soát hoàn toàn mọi chuyển đổi trạng thái (LangGraph), sử dụng ẩn dụ về đội nhóm nơi bạn mô tả các vai trò và để khung làm việc tự điều phối (CrewAI), hay chọn lớp trừu tượng mỏng nhất với bốn nguyên thủy cơ bản và không cần cấu hình rườm rà (OpenAI Agents SDK)? Cả ba đều khả thi cho môi trường production vào năm 2026 -- LangGraph đạt 39,2 triệu lượt tải hàng tháng trên PyPI, CrewAI có 46,3K sao trên GitHub, và OpenAI Agents SDK hiện hỗ trợ hơn 100 mô hình thông qua LiteLLM, nhưng chúng phục vụ các hồ sơ nhà phát triển hoàn toàn khác nhau.

LangGraph so với CrewAI và OpenAI Agents SDK: Tóm tắt nhanh

Chọn LangGraph nếu bạn cần tính năng checkpointing (lưu điểm khôi phục), gỡ lỗi time-travel (quay ngược thời gian) và quyền kiểm soát chi tiết đối với các quy trình làm việc phức tạp. Chọn CrewAI nếu bạn muốn con đường nhanh nhất từ ý tưởng đến nguyên mẫu đa tác nhân hoạt động được. Chọn OpenAI Agents SDK nếu bạn đã nằm trong hệ sinh thái OpenAI và muốn giảm thiểu tối đa độ phức tạp của khung làm việc.

Tính năngLangGraphCrewAIOpenAI Agents SDK
Triết lýĐồ thị có hướng, kiểm soát toàn diệnĐội ngũ tác nhân dựa trên vai tròBốn nguyên thủy, trừu tượng tối thiểu
Phù hợp nhất choQuy trình làm việc phức tạp có trạng tháiTạo nguyên mẫu nhanh, điều phối đa tác nhânChuỗi tác nhân đơn giản, đội ngũ native OpenAI
Độ khó học tậpCao (1-2 tuần)Thấp (vài giờ)Rất thấp (vài phút)
Hỗ trợ mô hìnhKhông phụ thuộc mô hình (bất kỳ LLM nào)Không phụ thuộc mô hình (bất kỳ LLM nào)100+ qua LiteLLM (beta), native OpenAI
Quản lý trạng tháiCheckpointing tích hợp sẵn (SQLite, Postgres)Hệ thống Bộ nhớ thống nhấtTối thiểu, tự triển khai
Mẫu đa tác nhânCác nút đồ thị với cạnh có điều kiệnCác Crew với phân công vai trò/nhiệm vụChuyển giao tác nhân (handoffs)
Hỗ trợ MCPTích hợp cộng đồngNative (hạng nhất)Native (năm phương thức truyền tải)
Sẵn sàng cho ProductionCao (được dùng tại Uber, LinkedIn, Klarna)Trung bình-CaoTrung bình
Khả năng quan sátTích hợp LangSmithLogging tích hợp, hỗ trợ bên thứ baTracing tích hợp sẵn
Giấy phépMITMITMIT
Thời gian đến tác nhân đầu tiênVài giờVài phútVài phút
Sao GitHub26,6K46,3K20K

Bảng trên cho bạn biết "cái gì". Phần còn lại của bài viết này sẽ giải thích "tại sao", với mã nguồn thực tế, chi phí thực tế và những nhận định trung thực.

Ba kiến trúc này thực sự hoạt động như thế nào?

Ba khung làm việc này đại diện cho ba hướng tiếp cận khác biệt về điều phối đa tác nhân. Hiểu rõ triết lý kiến trúc sẽ giúp bạn tránh chọn sai và phải viết lại code sau sáu tháng.

<!-- IMAGE: Diagram comparing LangGraph's directed graph architecture, CrewAI's role-based team model, and OpenAI Agents SDK's handoff chain pattern -->

LangGraph: Đồ thị ở mọi cấp độ

LangGraph mô hình hóa các quy trình làm việc của tác nhân dưới dạng đồ thị có hướng. Bạn định nghĩa các nút (hàm Python), các cạnh (chuyển đổi giữa chúng) và các nhánh có điều kiện để định tuyến thực thi dựa trên trạng thái. Mọi dữ liệu đều chảy qua một StateGraph được định kiểu, và bạn kiểm soát chính xác thời điểm cũng như cách thức các tác nhân tương tác.

Hãy nghĩ về nó như việc xây dựng một máy trạng thái cho các tác nhân của bạn. Kể từ khi LangGraph 1.0 phát hành chính thức (GA) vào tháng 10 năm 2025, nó chạy như một thư viện độc lập, không yêu cầu phụ thuộc vào LangChain. Đây là một điểm nhầm lẫn phổ biến cần được làm rõ sớm.

CrewAI: Lắp ráp đội nhóm của bạn

CrewAI sử dụng ẩn dụ dựa trên vai trò. Bạn định nghĩa các đối tượng Agent với vai trò, mục tiêu và bối cảnh, gán cho chúng các đối tượng Task, và nhóm mọi thứ vào một Crew. Khung làm việc sẽ xử lý việc điều phối, ai chạy khi nào, cách kết quả được chuyển giữa các tác nhân và cách giải quyết xung đột.

Nó ánh xạ theo cách mọi người thường nghĩ về việc ủy thác: "Tôi cần một nhà nghiên cứu, một người viết và một biên tập viên. Đây là bản tóm tắt dự án. Bắt đầu đi." Mô hình trực quan này là lý do khiến CrewAI đạt mốc 100K+ nhà phát triển được chứng nhận nhanh hơn bất kỳ khung làm việc cạnh tranh nào khác.

OpenAI Agents SDK: Bốn nguyên thủy, không rườm rà

OpenAI Agents SDK cung cấp cho bạn bốn thứ: tác nhân, chuyển giao (handoffs), rào chắn (guardrails) và tracing (theo dõi). Một tác nhân là một LLM với các chỉ dẫn và công cụ. Một handoff ủy thác nhiệm vụ cho một tác nhân khác. Guardrails xác thực đầu vào. Tracing ghi lại mọi thứ.

Chỉ có vậy. Không có định nghĩa đồ thị, không phân công vai trò, không cấu hình YAML. SDK này phát triển từ khung làm việc thử nghiệm Swarm (cuối năm 2024) và đưa vào production kiến trúc dựa trên handoff tương tự, với khả năng xử lý lỗi và quan sát được tích hợp sẵn.

Nhận định: Không có người chiến thắng tuyệt đối, vấn đề là sự phù hợp. Kiểm soát dựa trên đồ thị (LangGraph), ẩn dụ đội nhóm (CrewAI) và chuỗi chuyển giao tối thiểu (OpenAI Agents SDK) đều xuất sắc trong các hình dạng quy trình làm việc khác nhau. Các ví dụ mã nguồn tiếp theo sẽ làm rõ những đánh đổi này.

Xây dựng cùng một tác nhân trên cả ba khung làm việc

Lý thuyết suông thì dễ. Dưới đây là cùng một tác nhân nghiên cứu, nhận một chủ đề, tìm kiếm trên web và tóm tắt kết quả, được xây dựng trên cả ba khung làm việc. Đây là sự so sánh mà không đối thủ nào cung cấp.

Nhiệm vụ

Một tác nhân nghiên cứu nhận chuỗi chủ đề, sử dụng công cụ tìm kiếm web để tìm thông tin liên quan và trả về bản tóm tắt có cấu trúc. Đủ đơn giản để hiển thị trong 20 dòng code, nhưng đủ phức tạp để bộc lộ sự khác biệt thực tế về trải nghiệm phát triển (DX).

Triển khai với LangGraph

python
from langgraph.graph import StateGraph, START, END
from langchain_openai import ChatOpenAI
from langchain_community.tools import TavilySearchResults
from typing import TypedDict, Annotated
import operator

class ResearchState(TypedDict):
    topic: str
    search_results: Annotated[list, operator.add]
    summary: str

search_tool = TavilySearchResults(max_results=3)
llm = ChatOpenAI(model="gpt-4o")

def search(state: ResearchState) -> dict:
    results = search_tool.invoke(state["topic"])
    return {"search_results": results}

def summarize(state: ResearchState) -> dict:
    context = "\n".join(r["content"] for r in state["search_results"])
    response = llm.invoke(
        f"Summarize this research on {state['topic']}:\n{context}"
    )
    return {"summary": response.content}

graph = StateGraph(ResearchState)
graph.add_node("search", search)
graph.add_node("summarize", summarize)
graph.add_edge(START, "search")
graph.add_edge("search", "summarize")
graph.add_edge("summarize", END)

app = graph.compile()
result = app.invoke({"topic": "AI agent frameworks 2026"})

Ba mươi dòng code, trạng thái được định kiểu rõ ràng, và bạn có thể thấy mọi bước chuyển đổi. Sự đánh đổi: bạn phải tự đấu nối đồ thị cho một thứ về cơ bản chỉ là "tìm kiếm rồi tóm tắt".

Triển khai với CrewAI

python
from crewai import Agent, Task, Crew
from crewai_tools import SerperDevTool

search_tool = SerperDevTool()

researcher = Agent(
    role="Research Analyst",
    goal="Find comprehensive information on the given topic",
    backstory="You are an expert researcher who finds key facts quickly.",
    tools=[search_tool],
    llm="gpt-4o"
)

research_task = Task(
    description="Research the topic: {topic}. Find key facts and trends.",
    expected_output="A structured summary with key findings.",
    agent=researcher
)

crew = Crew(agents=[researcher], tasks=[research_task])
result = crew.kickoff(inputs={"topic": "AI agent frameworks 2026"})

Mười tám dòng code. Ẩn dụ vai trò/nhiệm vụ đọc gần giống như một bản mô tả công việc. Bạn không định nghĩa luồng thực thi, khung làm việc sẽ quyết định cách tác nhân tiếp cận nhiệm vụ của nó.

Triển khai với OpenAI Agents SDK

python
from agents import Agent, Runner
from agents.tool import WebSearchTool

research_agent = Agent(
    name="Research Agent",
    instructions="Search the web for the given topic and provide a structured summary with key findings.",
    tools=[WebSearchTool()]
)

result = Runner.run_sync(
    research_agent,
    "Research AI agent frameworks 2026"
)
print(result.final_output)

Mười hai dòng code. Không định nghĩa trạng thái, không đối tượng nhiệm vụ, không đồ thị. Bạn mô tả những gì tác nhân nên làm, cung cấp công cụ cho nó và chạy. SDK xử lý mọi thứ còn lại.

Nhận định so sánh mã nguồn

Chỉ sốLangGraphCrewAIOpenAI Agents SDK
Số dòng code~30~18~12
Độ phức tạp thiết lậpCao (trạng thái định kiểu, đấu nối đồ thị)Trung bình (tác nhân, nhiệm vụ, crew)Thấp (tác nhân + chạy)
Khả năng đọc hiểuLuồng thực thi rõ ràngẨn dụ vai trò trực quanCực kỳ đơn giản
Tính linh hoạtToàn diện (thêm nhánh, vòng lặp, điều kiện)Vừa phải (công cụ tùy chỉnh, cấu hình bộ nhớ)Hạn chế (chỉ có handoffs hoặc không)

Nhận định: CrewAI thắng về tốc độ tạo nguyên mẫu, LangGraph thắng về khả năng hiển thị quy trình làm việc. OpenAI Agents SDK giúp bạn đạt đến giai đoạn "hello world" nhanh nhất, nhưng ngay khi bạn cần logic có điều kiện hoặc lưu trữ trạng thái, bạn sẽ ước mình có các nút đồ thị hoặc chuỗi nhiệm vụ. Đối với một tác nhân production thực tế, 18 dòng code thêm trong LangGraph mua cho bạn rất nhiều quyền kiểm soát.

Độ khó học tập ra sao?

LangGraph mất 1-2 tuần để làm quen. Mô hình tư duy đồ thị/máy trạng thái không phải là cách hầu hết các nhà phát triển web nghĩ về vấn đề. Tài liệu rất kỹ lưỡng nhưng dày đặc, và việc tích hợp LangSmith thêm một lớp khái niệm nữa. Tuy nhiên, một khi đã hiểu, bạn sẽ thấy khó quay lại các cách tiếp cận kém rõ ràng hơn.

CrewAI giúp bạn làm việc hiệu quả trong dưới một giờ. Định nghĩa một vai trò, viết một nhiệm vụ, khởi động một crew. Ẩn dụ này ánh xạ theo cách mọi người tự nhiên nghĩ về việc ủy thác. Tài liệu hướng dẫn bắt đầu được viết rất tốt. Điểm phức tạp xuất hiện khi bạn cần điều phối tùy chỉnh vượt quá các loại quy trình tuần tự và phân cấp có sẵn. Đó là "vách đá độ phức tạp" của CrewAI.

OpenAI Agents SDK mất vài phút nếu bạn đã biết API của OpenAI. Bốn nguyên thủy, tài liệu sạch sẽ, bề mặt API tối thiểu. Tuy nhiên, trần giới hạn đến rất nhanh; ngay khi bạn cần logic thử lại, phân nhánh có điều kiện hoặc trạng thái bền vững, bạn phải tự xây dựng.

Đây là sắc thái mà ít ai đề cập: CrewAI dễ dàng cho đến khi bạn cần quản lý trạng thái tùy chỉnh. LangGraph khó khăn cho đến khi mô hình đồ thị trở nên rõ ràng, sau đó nó là tùy chọn mạnh mẽ nhất. OpenAI SDK không bao giờ trở nên khó, nó chỉ đơn giản là ngừng đủ dùng.

Nhận định: CrewAI thắng về thời gian để có tác nhân đầu tiên. Nhưng "học nhanh nhất" và "tốt nhất cho production" là hai câu hỏi hoàn toàn khác nhau.

Quản lý trạng thái và độ bền vững trong Production

Tác nhân của bạn đang thực hiện cuộc gọi API thứ 15 trong quy trình 20 bước và nhà cung cấp LLM giới hạn tốc độ truy cập (rate-limit). Điều gì xảy ra tiếp theo? Câu trả lời phụ thuộc hoàn toàn vào cách khung làm việc của bạn tiếp cận các quy trình làm việc có trạng thái.

LangGraph: Checkpointing và Time-Travel

Đây là tính năng nổi bật của LangGraph. Checkpointing tích hợp sẵn vào SqliteSaver, PostgresSaver hoặc Azure CosmosDB lưu toàn bộ trạng thái đồ thị sau mỗi lần thực thi nút. Nếu xảy ra sự cố, bạn tiếp tục từ điểm checkpoint cuối cùng, không phải bắt đầu lại từ đầu.

Gỡ lỗi time-travel cho phép bạn phát lại bất kỳ bước thực thi đồ thị nào trước đó từng bước một. Cần hiểu tại sao tác nhân của bạn đưa ra quyết định lạ ở bước 12? Quay ngược lại và kiểm tra trạng thái. Đối với các quy trình làm việc có sự tham gia của con người, bạn có thể tạm dừng thực thi, để con người xem xét và sửa đổi trạng thái, sau đó tiếp tục.

CrewAI: Hệ thống bộ nhớ thống nhất

CrewAI tiếp cận theo góc độ khác với lớp Memory thống nhất. Nó kết hợp ngữ cảnh ngắn hạn (cuộc hội thoại hiện tại), lưu trữ dài hạn (bền vững qua các phiên) và bộ nhớ thực thể (kiến thức về các sự vật cụ thể) vào một hệ thống duy nhất. Nó cũng hỗ trợ bơm kiến thức dựa trên RAG. Nếu bạn muốn tìm hiểu sâu hơn về cách bộ nhớ hoạt động across các khung làm việc tác nhân, hướng dẫn về hệ thống bộ nhớ tác nhân AI của chúng tôi bao gồm chi tiết các mẫu này.

Sự khác biệt quan trọng: LangGraph cung cấp trạng thái quy trình làm việc (bạn đang ở đâu trong quy trình). CrewAI cung cấp bộ nhớ tác nhân (những gì tác nhân nhớ). Đối với các quy trình nhiều bước cần khôi phục chính xác, checkpointing của LangGraph chính xác hơn. Đối với các tác nhân cần học hỏi và ghi nhớ qua các phiên, mô hình bộ nhớ của CrewAI tự nhiên hơn.

OpenAI Agents SDK: Tự mang trạng thái của bạn

Agents SDK có quản lý trạng thái tích hợp tối thiểu. Ngữ cảnh hội thoại được chuyển giữa các tác nhân thông qua handoffs, nhưng không có checkpointing native, không lớp lưu trữ bền vững và không cơ chế khôi phục. Nếu quy trình của bạn gặp sự cố giữa chừng, bạn phải bắt đầu lại.

Đối với các chuỗi tác nhân đơn giản hoàn thành trong vài giây, điều này là ổn. Đối với bất kỳ thứ gì chạy lâu dài hoặc quan trọng, bạn sẽ cần xây dựng lớp lưu trữ bền vững của riêng mình lên trên.

Nhận định: LangGraph thắng về độ bền vững production, và khoảng cách là rất lớn. Checkpointing và gỡ lỗi time-travel là những tính năng phân biệt giữa "hoạt động trong demo" và "hoạt động lúc 3 giờ sáng khi kỹ sư trực đang ngủ". Hệ thống bộ nhớ của CrewAI vững chắc cho kiến thức tác nhân, nhưng nó đang giải quyết một vấn đề khác.

Chúng xử lý lỗi như thế nào?

Xử lý lỗi là mối quan tâm số 1 đối với các hệ thống tác nhân production, nhưng hiếm khi được thảo luận trong các so sánh khung làm việc. Dưới đây là cách mỗi khung làm việc đối phó khi mọi thứ trục trặc.

Những gì bị hỏng trong Production

Trước khi so sánh các chiến lược khôi phục, hãy gọi tên các chế độ lỗi phổ biến: LLM hết thời gian chờ và giới hạn tốc độ, các lệnh gọi công cụ ảo giác (tác nhân bịa ra một hàm không tồn tại), vòng lặp tác nhân (Tác nhân A ủy thác cho Tác nhân B, Tác nhân B lại ủy thác ngược lại cho A) và các lỗi từng phần trong chuỗi đa tác nhân nơi bước 7 trên 10 bị lỗi.

Chiến lược khôi phục theo khung làm việc

LangGraph cung cấp khả năng xử lý lỗi chi tiết nhất. Bạn có thể bọc các nút riêng lẻ trong logic try/catch, định nghĩa chính sách thử lại cho mỗi cạnh và thêm các nhánh có điều kiện định tuyến đến các đường dự phòng khi một nút bị lỗi. Kết hợp với checkpointing, bạn có thể tiếp tục từ nút thành công cuối cùng thay vì phát lại toàn bộ đồ thị. Đối với các hệ thống production, điều này có nghĩa là bạn có thể checkpoint trước các thao tác rủi ro (gọi API đắt tiền, gọi công cụ bên ngoài) và quay ngược lại một cách sạch sẽ.

CrewAI xử lý lỗi ở cấp độ nhiệm vụ. Bạn có thể định nghĩa các tác nhân dự phòng kích hoạt khi tác nhân chính bị lỗi và cấu hình logic thử lại ở cấp độ crew. Nó kém chi tiết hơn LangGraph, bạn đang thử lại toàn bộ nhiệm vụ, không phải các lệnh gọi hàm riêng lẻ, nhưng nó bao phủ 80% trường hợp. CrewAI cũng có giới hạn max_iter tích hợp sẵn trên các tác nhân để ngăn chặn các vòng lặp vô tận.

OpenAI Agents SDK cung cấp guardrails để xác thực đầu vào (bắt các đầu vào xấu trước khi chúng đến tác nhân) và tracing để gỡ lỗi hậu sự cố. Nhưng logic thử lại và định tuyến dự phòng? Là trách nhiệm của bạn. SDK cố tình tối giản, nghĩa là bạn phải tự viết các mẫu khôi phục của mình.

Vấn đề vòng lặp

Vòng lặp tác nhân là kẻ giết người thầm lặng của các hệ thống production. LangGraph giải quyết vấn đề này về mặt cấu trúc, đồ thị của bạn định nghĩa các chuyển đổi hợp lệ và các chu kỳ phải được mô hình hóa rõ ràng với các điều kiện chấm dứt. Tham số max_iter của CrewAI giới hạn số lần lặp cho mỗi tác nhân. OpenAI SDK không có cơ chế ngăn chặn vòng lặp tích hợp sẵn; bạn sẽ cần tự triển khai phát hiện chu kỳ của mình.

Nhận định: LangGraph thắng về xử lý lỗi và độ tin cậy. Sự kết hợp giữa xử lý lỗi từng nút, chính sách thử lại cấp đồ thị và khôi phục dựa trên checkpoint cung cấp cho các đội production nhiều công cụ nhất để xây dựng các hệ thống kiên cường. CrewAI là đủ cho hầu hết các trường hợp sử dụng. OpenAI SDK giả định bạn sẽ tự xử lý lỗi.

Chi phí vận hành tác nhân trong Production là bao nhiêu?

Chi phí khung làm việc không nằm ở bản thân khung làm việc, cả ba đều có giấy phép MIT và miễn phí. Chi phí thực tế chia thành ba nhóm: chi phí API LLM (chi phí chủ đạo), phí nền tảng và quan sát, và hạ tầng.

Chi phí theo quy mô

Cấp độLangGraphCrewAIOpenAI Agents SDK
Cá nhân (miễn phí)$0 khung làm việc + chi phí API LLM$0 khung làm việc + chi phí API LLM$0 khung làm việc + chi phí API LLM
Startup ($50-200/tháng)LangMath gói miễn phí, tự hostCrewAI mã nguồn mở, tự hostChỉ chi phí API OpenAI
Tăng trưởng ($500-2K/tháng)LangSmith trả phí ($39+/tháng), chi phí LLMPhí nền tảng CrewAI AOP, chi phí LLMAPI OpenAI + tìm kiếm web ($25-30/1K truy vấn)
Doanh nghiệp ($5K+/tháng)LangSmith enterprise, hạ tầng riêngNền tảng enterprise CrewAI, tuân thủGói enterprise OpenAI, dung lượng riêng

"Estimated Monthly Production Costs by Tier"

"LangGraph tends to be cheapest at scale due to token efficiency from explicit graph control, while OpenAI Agents SDK costs run higher because of API-centric pricing and web search fees."
Bảng dữ liệu
"Estimated Monthly Production Costs by Tier"
"Tier""LangGraph""CrewAI""OpenAI Agents SDK"
"Hobby"000
"Startup"100100150
"Growth"80010001200
"Enterprise"500060007000

Hiệu quả Token: Ai đốt ít token hơn?

Đây là nơi sự khác biệt kiến trúc ảnh hưởng đến ví tiền của bạn. Quyền kiểm soát đồ thị rõ ràng của LangGraph có nghĩa là các tác nhân chỉ thực thi các nút chúng cần, không có sự đàm phán qua lại giữa các tác nhân để figuring out ai làm gì. Điều này làm cho nó trở thành tùy chọn hiệu quả token nhất cho các quy trình làm việc phức tạp.

Việc điều phối tự động của CrewAI rất tiện lợi nhưng gây ồn ào (chatty). Khung làm việc chèn các prompt điều phối giữa các tác nhân và các tác nhân dựa trên vai trò đôi khi "thảo luận" về phân công nhiệm vụ. Đối với các quy trình làm việc đơn giản, chi phí này là không đáng kể; đối với các crew có 10+ tác nhân, nó sẽ cộng dồn lại.

Việc sử dụng token của OpenAI Agents SDK phụ thuộc vào độ dài chuỗi handoff. Các chuỗi ngắn thì hiệu quả. Nhưng mỗi handoff chuyển toàn bộ ngữ cảnh hội thoại sang tác nhân tiếp theo, vì vậy các chuỗi dài tích lũy token rất nhanh.

Các khung làm việc mã nguồn mở cũng cung cấp sự linh hoạt về nhà cung cấp. LangGraph và CrewAI cho phép bạn chuyển sang các nhà cung cấp LLM rẻ hơn (Claude qua Anthropic, mô hình mã nguồn mở qua Ollama) mà không cần thay đổi code điều phối. Để biết thêm các chiến lược cắt giảm chi phí LLM, hãy xem hướng dẫn giảm chi phí API LLM của chúng tôi. Tích hợp LiteLLM của Agents SDK cũng cho phép điều này, nhưng nó vẫn đang trong giai đoạn beta.

Nhận định: LangGraph thắng về hiệu quả chi phí ở quy mô lớn. Kiểm soát đồ thị rõ ràng nghĩa là ít token lãng phí, và thiết kế không phụ thuộc mô hình cho phép bạn tối ưu hóa chi phí LLM độc lập với lựa chọn khung làm việc.

Khung làm việc nào hỗ trợ MCP và A2A?

Hỗ trợ giao thức đang trở thành một tiêu chí lựa chọn thực sự trong năm 2026. Nếu các tác nhân của bạn cần kết nối với các công cụ bên ngoài, cơ sở dữ liệu, API, sản phẩm SaaS, hỗ trợ MCP sẽ tiết kiệm hàng tuần làm việc tích hợp tùy chỉnh.

MCP (Model Context Protocol) là tiêu chuẩn mở của Anthropic cho kết nối công cụ, chúng tôi đã viết một hướng dẫn đầy đủ về Model Context Protocol nếu bạn cần hiểu giao thức trước khi đánh giá hỗ trợ khung làm việc. CrewAI có hỗ trợ native hạng nhất thông qua trường mcps trên các tác nhân, việc kết nối với cơ sở dữ liệu PostgreSQL hoặc không gian làm việc Slack chỉ cần vài dòng cấu hình YAML. OpenAI Agents SDK cũng có hỗ trợ MCP native với năm tùy chọn truyền tải (Hosted, Streamable HTTP, SSE, Stdio, MCP Server Manager). LangGraph hỗ trợ MCP thông qua các tích hợp cộng đồng nhưng thiếu hỗ trợ native trong lõi.

A2A (Agent-to-Agent Protocol) là tiêu chuẩn mở của Google cho khả năng tương tác tác nhân chéo nhà cung cấp, được công bố vào tháng 4 năm 2025 với hơn 50 đối tác công nghệ. CrewAI đã thêm hỗ trợ A2A native. LangGraph có hỗ trợ A2A cơ bản thông qua hệ sinh thái đối tác của LangChain. OpenAI Agents SDK có tích hợp A2A hạn chế.

Giao thứcLangGraphCrewAIOpenAI Agents SDK
MCPTích hợp cộng đồngNative (hạng nhất)Native (năm phương thức truyền tải)
A2ACơ bản (qua hệ sinh thái)NativeHạn chế
Tích hợp công cụ tùy chỉnhHàm Python + công cụ LangChainDecorators, cấu hình YAML, MCPCông cụ hàm + handoffs

Nhận định: CrewAI thắng về hỗ trợ giao thức. Hỗ trợ native MCP và A2A nghĩa là các tác nhân CrewAI cắm vào hệ sinh thái rộng nhất của các công cụ bên ngoài với ít code tùy chỉnh nhất. Hỗ trợ MCP native của OpenAI SDK cũng mạnh, nhưng phạm vi A2A của CrewAI给它 lợi thế cho các dự án nặng về khả năng tương tác.

Tại sao không phải AutoGen hay PydanticAI?

Các khung làm việc này thường xuyên xuất hiện trong các so sánh, nên đây là lý do tại sao chúng không nằm trong bảng chính của chúng tôi.

AutoGen (nay là AG2) tốt nhất cho các vòng lặp hội thoại đa tác nhân, các kịch bản nơi các tác nhân đàm phán, phê bình hoặc tinh chỉnh đầu ra của nhau một cách lặp lại. Hãy nghĩ đến các chu kỳ review code nơi tác nhân Coder viết và tác nhân Reviewer phản hồi cho đến khi cả hai đồng ý. Việc thiết lập phức tạp hơn CrewAI, và mô hình lập trình cảm giác thiên về nghiên cứu hơn là sẵn sàng cho production. Nơi AutoGen tỏa sáng là các quy trình tranh luận và tinh chỉnh giữa các tác nhân, không phải các pipeline thực thi công cụ. Một điểm đáng lưu ý nữa: tính đến tháng 4 năm 2026, mẫu giám sát đa tác nhân của LangGraph đã hấp thụ nhiều mẫu của AutoGen, nên các đội đã dùng LangGraph hiếm khi cần chuyển đổi.

PydanticAI tiếp cận theo hướng ưu tiên an toàn kiểu. Mọi đầu vào và đầu ra của tác nhân đều là mô hình Pydantic đã được xác thực, nghĩa là các lỗi có cấu trúc ở mọi bước thay vì các lỗi âm thầm "garbage-in-garbage-out". Nó nhẹ hơn LangGraph cho các pipeline đầu ra có cấu trúc thuần túy, không cần đấu nối đồ thị, không phân công vai trò, chỉ các hàm được định kiểu gọi LLM. Đối với các tác nhân trích xuất dữ liệu nơi bạn đang kéo dữ liệu có cấu trúc từ tài liệu hoặc API, PydanticAI thực sự có thể đánh bại cả ba lựa chọn chính của chúng tôi. Điểm yếu của nó là các quy trình làm việc nặng về điều phối với trạng thái phức tạp và điều phối đa tác nhân.

Phiên bản ngắn gọn: cho điều phối production ở quy mô lớn, top 3 của chúng tôi vẫn thắng. AutoGen và PydanticAI tỏa sáng trong các trường hợp sử dụng hẹp cụ thể.

Khung làm việc nào phù hợp với dự án của bạn?

Đủ phân tích rồi. Dưới đây là ma trận ra quyết định.

Ma trận ra quyết định

Nếu dự án của bạn cần...Lựa chọn tốt nhấtTại sao
Nguyên mẫu nhanh nhất cho demo với bên liên quanCrewAIẨn dụ vai trò, ít boilerplate, tác nhân hoạt động trong vài phút
Quy trình làm việc phức tạp có trạng thái với khả năng khôi phụcLangGraphCheckpointing, gỡ lỗi time-travel, xử lý lỗi từng nút
Chuỗi tác nhân đơn giản, đã dùng OpenAIOpenAI Agents SDKKhông độ phức tạp khung làm việc, API quen thuộc, tracing tích hợp
Đội ngũ đa tác nhân với điều phối tự độngCrewAICrews xử lý phân công tác nhân, ủy thác và giải quyết xung đột
Tuân thủ doanh nghiệp và nhật ký kiểm toánLangGraphTrạng thái tự host, phát lại toàn bộ thực thi, logging chi tiết
Khả năng tương tác MCP/A2A với công cụ bên ngoàiCrewAIHỗ trợ native cho cả hai giao thức
Giảm thiểu khóa chặt nhà cung cấpLangGraph hoặc CrewAIKhông phụ thuộc mô hình, tự host, giấy phép MIT
Xác thực ý tưởng rồi mở rộng sang productionCrewAI rồi LangGraphTạo nguyên mẫu nhanh, di chuyển các đường dẫn quan trọng để đảm bảo độ bền

Mẫu "Tạo nguyên mẫu, sau đó di chuyển"

Điều này xứng đáng được nhấn mạnh riêng vì nó là một chiến lược hợp lệ. Bắt đầu với CrewAI để xác thực nhanh kiến trúc tác nhân của bạn, quy trình làm việc có hợp lý không? Các tác nhân có tạo ra đầu ra hữu ích không? Việc phân tách nhiệm vụ có đúng không? Khi bạn đã trả lời những câu hỏi đó, hãy di chuyển các đường dẫn quan trọng cho production sang LangGraph để có checkpointing, khôi phục lỗi và khả năng quan sát.

Chính tài liệu của CrewAI cũng thừa nhận con đường di chuyển này, điều này cho bạn biết something about vị trí mà mỗi khung làm việc tự nhìn nhận trong hệ sinh thái.

Đề cử vinh dự: Khi nào nên tìm kiếm nơi khác

Không có khung làm việc nào trong ba cái này có thể phù hợp với bạn. Pydantic AI đáng để đánh giá nếu bạn là người cuồng an toàn kiểu muốn các mô hình Pydantic chi phối mọi tương tác tác nhân. Google ADK hợp lý cho các đội đã chìm sâu trong hệ sinh thái Google Cloud. AG2 (trước đây là AutoGen) phù hợp với các đội dùng hệ sinh thái Microsoft. Khung làm việc đa tác nhân tốt nhất năm 2026 là cái phù hợp với mô hình tư duy và hạ tầng hiện có của đội bạn.

Cách Techsy lựa chọn khung làm việc tác nhân cho dự án khách hàng

Tại Techsy, chúng tôi đã xây dựng các hệ thống tác nhân trên cả ba khung làm việc cho khách hàng từ startup giai đoạn đầu đến các đội doanh nghiệp. Quy trình đánh giá của chúng tôi không phải là chọn ra một ứng cử viên yêu thích, mà là khớp khung làm việc với bốn ràng buộc: độ phức tạp dòng dữ liệu, thành thạo Python của đội, yêu cầu linh hoạt mô hình và nhu cầu tuân thủ.

Đối với hầu hết các dự án khách hàng, chúng tôi tạo nguyên mẫu logic tác nhân cốt lõi trong CrewAI để xác thực nhanh. Các tác nhân có thực sự giải quyết được vấn đề không? Việc phân tách nhiệm vụ có đúng không? Khi chúng tôi đã xác nhận kiến trúc hoạt động, chúng tôi di chuyển các đường dẫn quan trọng cho production sang LangGraph nhờ các tính năng checkpointing, khôi phục lỗi và quan sát của nó.

Khi nào chúng tôi khuyên dùng OpenAI Agents SDK? Khi đội đã chuẩn hóa trên API của OpenAI, quy trình làm việc tác nhân đơn giản (không phân nhánh phức tạp hoặc trạng thái chạy lâu dài) và ưu tiên là triển khai nhanh với độ phức tạp khung làm việc tối thiểu.

Sự thật trung thực: lựa chọn khung làm việc chỉ chiếm khoảng 20% trong việc hệ thống tác nhân của bạn có thành công hay không. 80% còn lại là thiết kế prompt, chất lượng công cụ và hạ tầng đánh giá. Chúng tôi dành nhiều thời gian cho những thứ đó hơn là các cuộc tranh luận về khung làm việc. Nếu bạn muốn bàn giao toàn bộ stack, hướng dẫn của chúng tôi về phát triển tác nhân AI sẵn sàng cho production bao gồm chi phí thực tế của một bản xây dựng end-to-end và các câu hỏi đánh giá nhà cung cấp cần hỏi đầu tiên.

Đang xây dựng hệ thống tác nhân AI và không chắc khung làm việc nào phù hợp? Chúng tôi có thể giúp bạn đánh giá. Nhận tư vấn miễn phí

Phán quyết cuối cùng, Người chiến thắng theo hạng mục

Hạng mụcNgười chiến thắngLý do chính
Học nhanh nhấtCrewAIẨn dụ vai trò/nhiệm vụ, vài giờ để làm việc hiệu quả
Độ bền productionLangGraphCheckpointing, gỡ lỗi time-travel, khôi phục sau sự cố
Ít ma sát nhất (người dùng OpenAI)OpenAI Agents SDKBốn nguyên thủy, API quen thuộc, vài phút đến tác nhân đầu tiên
Quản lý trạng tháiLangGraphLưu trữ bền vững tích hợp vào SQLite/Postgres, phát lại trạng thái
Điều phối đa tác nhânCrewAIĐiều phối crew tự động, ủy thác dựa trên vai trò
Linh hoạt mô hìnhLangGraph / CrewAI (hòa)Cả hai đều không phụ thuộc mô hình hoàn toàn mà không có cảnh báo beta
Xử lý lỗiLangGraphThử lại từng nút, dự phòng có điều kiện, khôi phục checkpoint
Hỗ trợ giao thức (MCP/A2A)CrewAIHỗ trợ native hạng nhất cho cả hai giao thức
Chi phí ở quy mô lớnLangGraphHiệu quả token nhất nhờ kiểm soát đồ thị rõ ràng
Tốt nhất cho startupCrewAI -> LangGraphTạo nguyên mẫu trong CrewAI, đưa vào production trong LangGraph

Nếu bạn đang xây dựng các tác nhân cần hoạt động đáng tin cậy trong production, LangGraph là khoản đầu tư đáng giá. Đường cong học tập là có thật, nhưng phần thưởng, checkpointing, gỡ lỗi time-travel, xử lý lỗi chi tiết, là thứ phân biệt các tác nhân chất lượng demo với các hệ thống chạy lúc 3 giờ sáng mà không đánh thức ai dậy.

Nếu bạn cần xác thực ý tưởng nhanh, hãy bắt đầu với CrewAI. Ẩn dụ dựa trên vai trò của nó giúp bạn đạt đến nguyên mẫu hoạt động nhanh hơn bất kỳ thứ gì khác, và bạn luôn có thể di chuyển các đường dẫn quan trọng sau này.

Nếu bạn đã all-in vào OpenAI và quy trình làm việc đơn giản, Agents SDK sẽ đưa bạn đến đích với ít nghi thức nhất.

Khung làm việc quan trọng ít hơn bạn nghĩ. Cả ba đều có thể xây dựng các hệ thống tác nhân production, chúng chỉ đưa ra các đánh đổi khác nhau về nơi đặt độ phức tạp. Chọn cái phù hợp với cách đội của bạn suy nghĩ, đầu tư vào kỹ thuật prompt vững chắc và thiết kế công cụ, và bắt đầu xây dựng.

FAQ: LangGraph so với CrewAI và OpenAI Agents SDK

Sự khác biệt giữa LangGraph và CrewAI là gì?

LangGraph sử dụng đồ thị có hướng nơi bạn xác định rõ ràng các nút, cạnh và chuyển đổi trạng thái. CrewAI sử dụng mô hình dựa trên vai trò nơi bạn định nghĩa các tác nhân với vai trò và nhiệm vụ, và khung làm việc xử lý việc điều phối. LangGraph cung cấp cho bạn nhiều quyền kiểm soát hơn đối với luồng thực thi; CrewAI nhanh hơn để tạo nguyên mẫu.

CrewAI có tốt hơn LangGraph cho người mới bắt đầu không?

Có. Ẩn dụ vai trò/nhiệm vụ của CrewAI ánh xạ theo cách mọi người tự nhiên nghĩ về việc ủy thác. Hầu hết các nhà phát triển có được một tác nhân hoạt động trong dưới một giờ. Mô hình tư duy dựa trên đồ thị của LangGraph mất 1-2 tuần để làm việc hiệu quả, nhưng cung cấp nhiều sức mạnh hơn một khi bạn đã vượt qua đường cong học tập.

OpenAI Agents SDK đã sẵn sàng cho production chưa?

Đối với các chuỗi tác nhân đơn giản hoàn thành nhanh, có. Đối với các quy trình làm việc phức tạp có trạng thái, nó thiếu checkpointing tích hợp và khôi phục sau sự cố. Bạn sẽ cần tự xây dựng lớp lưu trữ bền vững và thử lại. SDK cố tình tối giản, độ bền production nằm ngoài phạm vi của nó.

Có thể sử dụng CrewAI với các mô hình không phải OpenAI không?

Chắc chắn rồi. CrewAI hỗ trợ Anthropic (Claude), Google (Gemini) và các mô hình mã nguồn mở qua Ollama và vLLM. Nó hoàn toàn không phụ thuộc mô hình mà không có dấu hoa thị nào. Bạn có thể trộn các mô hình khác nhau cho các tác nhân khác nhau trong cùng một crew.

LangGraph có miễn phí không?

Có. LangGraph có giấy phép MIT và hoàn toàn miễn phí. LangSmith, nền tảng quan sát tùy chọn, có gói miễn phí cho phát triển và các gói trả phí bắt đầu từ $39/tháng cho tracing và giám sát production.

Chuyện gì đã xảy ra với OpenAI Swarm?

OpenAI Swarm là một khung làm việc đa tác nhân thử nghiệm được phát hành vào cuối năm 2024. Nó đã được thay thế bằng OpenAI Agents SDK vào đầu năm 2025, khung làm việc này đưa kiến trúc dựa trên handoff tương tự vào production với các guardrails, tracing và API ổn định phù hợp. Nếu bạn có code Swarm, con đường di chuyển sang Agents SDK rất thẳng thắn.

Khung làm việc nào hỗ trợ MCP (Model Context Protocol)?

CrewAI có hỗ trợ MCP native hạng nhất thông qua trường mcps trên các tác nhân. OpenAI Agents SDK cũng hỗ trợ MCP native với năm tùy chọn truyền tải. LangGraph hỗ trợ MCP thông qua các tích hợp cộng đồng nhưng không có hỗ trợ native trong lõi.

Tôi có thể di chuyển từ CrewAI sang LangGraph không?

Có, và đó là một mẫu được công nhận. Tài liệu của CrewAI thừa nhận rằng các đội thường tạo nguyên mẫu trong CrewAI và di chuyển các đường dẫn quan trọng cho production sang LangGraph để quản lý trạng thái tốt hơn. Việc di chuyển liên quan đến việc cấu trúc lại logic tác nhân của bạn từ các định nghĩa vai trò/nhiệm vụ sang các nút và cạnh đồ thị.

LangGraph có yêu cầu LangChain không?

Không. Kể từ LangGraph 1.0 (tháng 10 năm 2025), nó chạy như một thư viện hoàn toàn độc lập. Nó tích hợp với LangSmith để quan sát và có thể sử dụng các công cụ LangChain, nhưng không cái nào là bắt buộc. Bạn có thể sử dụng LangGraph với các hàm Python thuần túy và bất kỳ client LLM nào.

Chi phí vận hành tác nhân AI trong production là bao nhiêu?

Chi phí API LLM chiếm ưu thế, bản thân các khung làm việc đều miễn phí và mã nguồn mở. Dự kiến $50-200/tháng ở quy mô startup (chủ yếu là token LLM), tăng lên $500-2K cho giai đoạn tăng trưởng và $5K+ cho doanh nghiệp với đầy đủ chi phí nền tảng. Hiệu quả token khác nhau: LangGraph hiệu quả nhất nhờ kiểm soát đồ thị rõ ràng.

Khung làm việc tác nhân AI nào tốt nhất cho startup?

CrewAI để tạo nguyên mẫu nhanh và xác thực ý tưởng. LangGraph cho các hệ thống quan trọng cho production cần độ tin cậy. Mẫu "tạo nguyên mẫu trong CrewAI, đưa vào production trong LangGraph" hoạt động tốt cho các startup cần lặp lại nhanh nhưng vẫn phải triển khai something bền vững.

Khung làm việc nào có tài liệu tốt nhất?

LangGraph có tài liệu toàn diện nhất, kỹ lưỡng nhưng dày đặc, với độ bao phủ sâu về các mẫu nâng cao. CrewAI có trải nghiệm bắt đầu thân thiện với người mới nhất với các hướng dẫn xuất sắc. OpenAI Agents SDK có tài liệu sạch sẽ, tối giản phù hợp với bề mặt API tối thiểu của nó. Sở thích của bạn phụ thuộc vào phong cách học tập.

Nguồn

  • Tài liệu LangGraph
  • LangGraph Persistence & Checkpointing
  • Thông báo LangGraph 1.0 GA
  • Tài liệu CrewAI
  • CrewAI MCP Servers as Tools
  • Tài liệu OpenAI Agents SDK
  • OpenAI Agents SDK: Tích hợp LiteLLM
  • Thông báo giao thức Google A2A
  • Thống kê tải xuống LangGraph PyPI

Thẻ

langgraph so với crewai so với openai agents sdkso sánh khung làm việc tác nhân aiđiều phối đa tác nhâncrewailanggraphopenai agents sdkkhung làm việc đa tác nhân tốt nhất 2026quy trình làm việc có trạng thái

Chia sẻ bài viết này

Bài viết liên quan

Thêm từ chuyên mục ai-machine-learning

ai-machine-learning
Jul 24, 2026

Claude Opus 5 Đã Ra Mắt: Trí Tuệ Gần Bằng Fable 5 Với Nửa Giá

Anthropic đã phát hành Claude Opus 5 vào ngày 24 tháng 7 năm 2026. Nó đạt điểm cao hơn gấp đôi Opus 4.8 trên Frontier-Bench và giữ nguyên mức giá của Opus, nhưng lại thua Fable 5 và Mythos 5 ở một vài bài kiểm tra. Dưới đây là bảng benchmark, mức giá và khuyến nghị nên chuyển đổi, chờ đợi hay giữ nguyên.

10 min read phút đọc
Đọc
ai-machine-learning
Jul 20, 2026

8 API Web Scraping AI Tốt Nhất Năm 2026 (Đã Kiểm Thử Trên Chính Agent Stack Của Chúng Tôi)

Chúng tôi đã kiểm thử 8 API web scraping AI với mức giá thực tế năm 2026 được kéo qua chính agent stack của mình. Firecrawl, Bright Data, ScrapingBee và 5 công cụ khác, xếp hạng theo đầu ra sẵn sàng cho LLM, khả năng vượt anti-bot và hỗ trợ MCP.

9 min read phút đọc
Đọc
ai-machine-learning
Jul 20, 2026

Kỹ thuật Prompt cho Lập trình: 7 Mẫu Chúng Tôi Dùng Hàng Ngày trong Claude Code và Cursor (2026)

Hầu hết các bài viết về 'prompt lập trình AI' chỉ đưa cho bạn 50 mẫu để sao chép. Bài này dạy 7 mẫu chúng tôi dùng mỗi ngày để vận hành quy trình Claude Code gồm 16 agent, với ví dụ thực tế trước-và-sau cho từng mẫu, cùng vị trí áp dụng từng mẫu trong Claude Code, Cursor và Copilot năm 2026.

11 min read phút đọc
Đọc
Xem tất cả bài viết
Khởi động dự án của bạn

Sẵn sàng tạo nên điều gì đó đột phá?

Hãy biến tầm nhìn của bạn thành hiện thực. Đội ngũ của chúng tôi sẵn sàng đồng hành cùng bạn tạo ra phần mềm tạo nên sự khác biệt.

Đặt lịch gọi ý tưởng 30 phútXem dự án của chúng tôi

Công cụ hot trong kho

Claude Skills

Xem tất cả
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Tự động hoá AI

Xem tất cả
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Công cụ hot trong kho

Claude Skills

Xem tất cả
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Tự động hoá AI

Xem tất cả
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Dịch vụ

  • Giải pháp doanh nghiệp
  • Ứng dụng di động
  • Ứng dụng web

Giải pháp

  • Hệ thống CRM
  • Tích hợp AI
  • Giải pháp ERP
  • Voice Agent
  • Tự động hóa quy trình
  • Bảo mật thông tin

Thư viện

  • Blog
  • Dự án

Cộng đồng

  • Tự động hoá AI
  • Claude Skills

Công cụ

  • Tính phí làm ứng dụng mobile
  • Tính phí dùng OpenAI / LLM API
  • Tính phí làm MVP
  • Tính phí làm Voice AI Agent

Công ty

  • Giới thiệu
  • Cộng sự
  • Liên hệ

Pháp lý

  • Chính sách quyền riêng tư
  • Điều khoản dịch vụ
  • Chính sách cookie

Dịch vụ

  • Giải pháp doanh nghiệp
  • Ứng dụng di động
  • Ứng dụng web

Giải pháp

  • Hệ thống CRM
  • Tích hợp AI
  • Giải pháp ERP
  • Voice Agent
  • Tự động hóa quy trình
  • Bảo mật thông tin

Thư viện

  • Blog
  • Dự án

Cộng đồng

  • Tự động hoá AI
  • Claude Skills

Công cụ

  • Tính phí làm ứng dụng mobile
  • Tính phí dùng OpenAI / LLM API
  • Tính phí làm MVP
  • Tính phí làm Voice AI Agent

Công ty

  • Giới thiệu
  • Cộng sự
  • Liên hệ
Pháp lýChính sách quyền riêng tưĐiều khoản dịch vụChính sách cookie
TECHSY
© 2026 Techsy. Bảo lưu mọi quyền.