2026-07-22
OpenAI Agents SDK đã nhanh chóng được đón nhận như một lựa chọn nhẹ hơn so với LangChain, LlamaIndex và AutoGen — đạt 26,900 sao GitHub và 10.3 triệu lượt tải xuống hằng tháng vào giữa năm 2026. Sức hấp dẫn của nó là có thật: đường cong học tập thấp, các thành phần nguyên thủy cho tác nhân rõ ràng và khả năng theo dõi tích hợp giúp tạo mẫu nhanh chóng. Tuy nhiên, để đưa tác nhân vào môi trường sản xuất, bạn vẫn phải tự xây dựng backend — hosting, mở rộng quy mô, bộ nhớ bền vững, quy trình RAG, tích hợp công cụ và quản lý nhà cung cấp mô hình. Jenova Agent API loại bỏ toàn bộ hệ thống này bằng một backend tác nhân được quản lý hoàn toàn, nơi điều phối, định tuyến đa mô hình, bộ nhớ, lưu trữ và tích hợp công cụ đều sẵn sàng cho môi trường sản xuất thông qua một lần tích hợp duy nhất.
✅ Bất kỳ mô hình nào từ OpenAI, Anthropic, Google, xAI và nhiều nhà cung cấp khác — đa nhà cung cấp thực sự, không bị khóa bởi nhà cung cấp ✅ Bộ nhớ bền vững, lưu trữ được quản lý và RAG tích hợp — không cần cơ sở dữ liệu bên ngoài ✅ Tích hợp công cụ gốc MCP với cấu hình bằng không ✅ Xây dựng và ra mắt tác nhân sản xuất tùy chỉnh trong vài phút, thay vì nhiều tháng
Dù bạn đang gặp phải các giới hạn đã được ghi nhận của SDK với những mô hình không thuộc OpenAI, đang tự xây dựng tính bền vững của bộ nhớ từ đầu, hay đang đánh giá các lựa chọn được quản lý thay cho toàn bộ phương pháp khung, hướng dẫn này sẽ phân tích những gì OpenAI Agents SDK thực sự đòi hỏi trong môi trường sản xuất — và những gì một API được quản lý hoàn toàn có thể loại bỏ.

Jenova Agent API là một backend tác nhân được quản lý hoàn toàn, thay thế hạ tầng DIY — điều phối, định tuyến mô hình, bộ nhớ, lưu trữ, RAG và công cụ — bằng một lần tích hợp API duy nhất.
Các năng lực chính:
Thị trường tác nhân AI toàn cầu đạt $7.84 tỷ vào năm 2025 và được dự báo chạm $52.62 tỷ vào năm 2030, trong khi Gartner dự đoán rằng 40% ứng dụng doanh nghiệp sẽ có các tác nhân AI chuyên biệt theo tác vụ vào cuối năm 2026. OpenAI Agents SDK được định vị là con đường đơn giản hơn để phát triển tác nhân so với các trừu tượng chuỗi của LangChain, quy trình truy xuất của LlamaIndex hoặc các cuộc hội thoại đa tác nhân của AutoGen.
Nhưng đơn giản hơn không đồng nghĩa với đơn giản. SDK cung cấp các thành phần nguyên thủy cho tác nhân. Backend sản xuất vẫn hoàn toàn là trách nhiệm của nhà phát triển:
$10,000 đến $500,000+ — khoảng chi phí để xây dựng một tác nhân AI sản xuất vào năm 2026, trong đó khung chỉ chiếm một phần nhỏ trong tổng chi tiêu.
OpenAI Agents SDK tuyên bố tương thích với “hơn 100 LLMs”, nhưng việc sử dụng trong môi trường sản xuất cho thấy nhiều trở ngại đáng kể với các nhà cung cấp ngoài OpenAI. Các đầu ra có cấu trúc như xác thực lược đồ JSON có thể không được các nhà cung cấp thay thế hỗ trợ, dẫn đến lỗi khi cố gắng sử dụng các công cụ phụ thuộc vào đầu ra có cấu trúc. Nhà phát triển làm việc với các mô hình ngoài OpenAI gặp các vấn đề như lỗi 404 hoặc đầu ra JSON bị lỗi định dạng do thiếu hỗ trợ cho các tính năng riêng của từng nhà cung cấp.
Sự phụ thuộc của SDK vào các tính năng dành riêng cho OpenAI như Responses API làm giảm tính linh hoạt khi tích hợp LLM bên thứ ba. Như kết luận của bài so sánh khung từ Firecrawl: SDK “tích hợp chặt chẽ với các công cụ được OpenAI lưu trữ (tìm kiếm tệp, tìm kiếm web, sử dụng máy tính) nhưng khiến bạn gắn chặt với một nhà cung cấp”.
Về lý thuyết là độc lập nhà cung cấp. Trên thực tế là tối ưu cho OpenAI.
OpenAI Agents SDK không cung cấp cơ chế gốc cho bộ nhớ hội thoại bền vững. Mọi phiên đều bắt đầu không trạng thái — không có cách tích hợp sẵn để tác nhân nhớ các tương tác trước đây, sở thích của người dùng hoặc ngữ cảnh dự án đang diễn ra xuyên suốt các phiên.
Đối với các mẫu thử một lượt, điều này vẫn hoạt động. Nhưng với các tác nhân sản xuất duy trì mối quan hệ liên tục — dịch vụ tư vấn, luồng hỗ trợ, buổi dạy kèm, dự án cộng tác — việc duy trì bộ nhớ đòi hỏi phải triển khai các kho trạng thái bên ngoài (Redis, Postgres, cơ sở dữ liệu tùy chỉnh), các lớp tuần tự hóa và logic quản lý ngữ cảnh từ đầu. Ở quy mô lớn, hạ tầng bộ nhớ trở thành một dự án kỹ thuật độc lập với các điểm lỗi và gánh nặng bảo trì riêng.
Mặc dù SDK đơn giản hóa việc tạo tác nhân ban đầu bằng các thành phần rõ ràng, việc điều phối quy trình liên quan đến nhiều tác nhân trở nên phức tạp khi tác vụ tăng quy mô. Quản lý giao tiếp giữa các tác nhân, logic phân công tác vụ và chia sẻ ngữ cảnh đòi hỏi thiết kế cũng như gỡ lỗi cẩn thận, còn các lần chuyển giao được cấu hình sai khiến tác nhân tạo ra kết quả không đầy đủ hoặc âm thầm thất bại.
Khả năng theo dõi và quan sát của SDK phụ thuộc nhiều vào hạ tầng của OpenAI, trong khi hỗ trợ hạn chế cho các bộ xử lý theo dõi ngoài OpenAI cản trở khả năng quan sát trong môi trường đa nhà cung cấp. Nếu không có khả năng theo dõi mạnh mẽ và độc lập nhà cung cấp, việc gỡ lỗi quy trình sản xuất — đặc biệt là những quy trình có nhiều mô hình — sẽ khó khăn hơn đáng kể.
Đây không phải vấn đề riêng của OpenAI Agents SDK. LangChain và LangGraph đòi hỏi xây dựng điều phối, quản lý trạng thái và tích hợp công cụ từ các thành phần. LlamaIndex tập trung vào truy xuất nhưng cần điều phối bên ngoài cho các quy trình tác nhân đầy đủ. AutoGen hiện chỉ ở chế độ bảo trì, chỉ nhận các bản sửa lỗi và bản vá bảo mật sau khi được hợp nhất vào Microsoft Agent Framework. Mọi khung đều có cùng một ràng buộc nền tảng: bạn sở hữu backend.
Đây chính xác là vấn đề Jenova Agent API được xây dựng để loại bỏ.
Jenova Agent API là dịch vụ hạ tầng tác nhân được quản lý hoàn toàn — một lần tích hợp duy nhất thay thế toàn bộ backend mà nhà phát triển phải xây dựng xoay quanh OpenAI Agents SDK và các khung tương tự. Thay vì lắp ghép logic điều phối, kho bộ nhớ, cơ sở dữ liệu vector và wrapper công cụ, nhà phát triển xác định hướng dẫn, mô hình, công cụ và cơ sở tri thức của tác nhân. API xử lý mọi phần còn lại.
| OpenAI Agents SDK | Jenova Agent API |
|---|---|
| Độc lập nhà cung cấp về lý thuyết; tối ưu cho OpenAI trên thực tế | Bất kỳ mô hình nào thông qua một điểm cuối duy nhất — OpenAI, Anthropic, Google, xAI và nhiều nhà cung cấp khác |
| Không có bộ nhớ bền vững tích hợp — cần kho trạng thái bên ngoài | Bộ nhớ và ngữ cảnh không giới hạn cho mỗi phiên, được tích hợp sẵn |
| Không có truy xuất tài liệu được quản lý — RAG hoàn toàn là DIY | Lưu trữ được quản lý hoàn toàn với RAG tích hợp |
| Tích hợp công cụ qua các hàm Python tùy chỉnh | Công cụ gốc nền tảng + bất kỳ máy chủ MCP từ xa nào, sẵn sàng sử dụng ngay |
| Tự lưu trữ — bạn chịu trách nhiệm về năng lực tính toán, mở rộng quy mô và thời gian hoạt động | Hạ tầng cấp độ sản xuất được quản lý hoàn toàn |
| Theo dõi gắn với bảng điều khiển và hạ tầng của OpenAI | Đã được kiểm chứng trong môi trường sản xuất với hơn 30,000 người dùng tại hơn 70 quốc gia |

API cung cấp khả năng điều phối đã được kiểm chứng, tự động phối hợp mô hình, công cụ, bộ nhớ và truy xuất cho mọi quy trình. Lập luận nhiều bước, gọi công cụ và tổng hợp phản hồi diễn ra bên trong nền tảng — không cần xây dựng các quy tắc chuyển giao tùy chỉnh, cấu hình trình chạy hay cơ chế nối ghép guardrail.
Trong khi OpenAI Agents SDK yêu cầu xác định rõ tác nhân, chuyển giao, guardrail và trình chạy — sau đó tự lưu trữ và mở rộng quy mô logic đó — API được quản lý trừu tượng hóa hoàn toàn việc điều phối. Hãy xác định tác nhân cần hoàn thành điều gì. Hạ tầng sẽ quyết định cách thực hiện.
Cung cấp sức mạnh cho tác nhân bằng các mô hình từ OpenAI, Anthropic, Google, xAI, Qwen và nhiều nhà cung cấp khác qua một lần tích hợp duy nhất. Chọn mô hình theo từng tác nhân hoặc tự do chuyển đổi — không có vấn đề tương thích đầu ra có cấu trúc, không cần xử lý lỗi riêng cho từng nhà cung cấp, không cần các khóa API riêng biệt.
Điều này trực tiếp giải quyết hạn chế được ghi nhận nhiều nhất của OpenAI Agents SDK. Trong khi hỗ trợ mô hình ngoài OpenAI của SDK dẫn đến lỗi đầu ra có cấu trúc và thất bại khi tích hợp công cụ, API được quản lý cung cấp năng lực đồng nhất trên mọi nhà cung cấp được hỗ trợ. Tính linh hoạt mô hình thực sự — không phải sự độc lập nhà cung cấp kèm điều kiện.
Bộ nhớ hội thoại và ngữ cảnh không giới hạn được tích hợp trong mọi phiên — không cần kho trạng thái bên ngoài, mã tuần tự hóa hay kỹ thuật hóa cửa sổ ngữ cảnh. Tác nhân tự động nhớ sở thích người dùng, các tương tác trước đây và ngữ cảnh dự án dài hạn xuyên suốt các phiên.
Đối với các nhà phát triển đã dành nhiều tuần để triển khai trạng thái hội thoại bền vững xung quanh SDK không trạng thái, riêng khả năng này đã loại bỏ cả một nhóm công việc kỹ thuật và chi phí hạ tầng liên tục.
Cơ sở dữ liệu quan hệ và vector được quản lý cùng RAG tích hợp. Tải tài liệu và cơ sở tri thức lên, API sẽ xử lý phân đoạn, embedding, lập chỉ mục và truy xuất — không có cơ sở dữ liệu vector nào cần cấp phát, tinh chỉnh hoặc mở rộng quy mô.
OpenAI Agents SDK không cung cấp truy xuất tài liệu tích hợp. RAG trong môi trường sản xuất đồng nghĩa với việc chọn cơ sở dữ liệu vector, xây dựng quy trình phân đoạn, chọn mô hình embedding, tối ưu chất lượng truy xuất và duy trì chỉ mục khi tài liệu thay đổi. API được quản lý thay thế toàn bộ quy trình này bằng một lần tải tệp lên.
Tích hợp công cụ không giới hạn với các công cụ gốc nền tảng và bất kỳ máy chủ MCP từ xa nào, sẵn sàng cho môi trường sản xuất mà không cần cấu hình. Gmail, Google Calendar, Drive, Search, Scholar, Maps, Notion, Dropbox, Reddit, YouTube và nhiều công cụ khác — không cần mã wrapper, không cần cơ chế xử lý luồng xác thực.
OpenAI Agents SDK hỗ trợ công cụ thông qua các hàm Python tùy chỉnh mà nhà phát triển phải tự xác định, kiểm thử và bảo trì từng hàm. Mỗi tích hợp bên ngoài đều cần xác thực đầu vào, kiểm soát quyền, xử lý lỗi và logic thử lại. API được quản lý cung cấp sẵn các tích hợp này, còn tiêu chuẩn MCP cho phép mọi máy chủ công cụ tuân thủ kết nối ngay lập tức.
Hạ tầng được quản lý hoàn toàn với API ổn định, được xây dựng cho lưu lượng môi trường sản xuất. Không có máy chủ cần cấp phát, không có điều phối container cần quản lý, không có chính sách mở rộng quy mô cần xác định. Đã được kiểm chứng trong môi trường sản xuất với hơn 30,000 người dùng tại hơn 70 quốc gia.
Một yêu cầu cho thấy sự khác biệt:
bashcurl -X POST https://api.jenova.ai/v1/chat \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "your-custom-agent",
"message": "Summarize the Q2 compliance report and flag any regulatory risks",
"session_id": "session-abc-123"
}'
Không có đồ thị điều phối cần xác định. Không có kho bộ nhớ cần cấu hình. Không có hạ tầng cần lưu trữ. Một yêu cầu, thực thi tác nhân hoàn chỉnh.
Jenova Agent API được thiết kế cho các nhà phát triển triển khai tác nhân sản xuất như tính năng trong chính sản phẩm của họ — không phải để quản lý hạ tầng. Dưới đây là các ứng dụng cụ thể bạn có thể xây dựng và ra mắt:
Xây dựng tác nhân hỗ trợ tùy chỉnh được đào tạo trên tài liệu sản phẩm, bài viết trợ giúp và dữ liệu phiếu hỗ trợ trước đây của bạn. Xác định giọng điệu và quy tắc chuyển cấp của tác nhân qua hướng dẫn tùy chỉnh, tải cơ sở tri thức lên và API sẽ tự động xử lý RAG, quản lý ngữ cảnh và hội thoại nhiều lượt.
Triển khai tác nhân học tập thích ứng trong ứng dụng công nghệ giáo dục của bạn. Tải tài liệu khóa học lên, xác định hướng dẫn riêng theo chương trình học cho từng môn và API quản lý ngữ cảnh học viên bền vững để mỗi người học nhận được hướng dẫn cá nhân hóa, liên tục xuyên suốt các phiên.
Ra mắt tác nhân phân tích danh mục đầu tư độc quyền ngay trong sản phẩm công nghệ tài chính của bạn. Cấu hình chuyên môn trong lĩnh vực tài chính bằng hướng dẫn tùy chỉnh, kết nối nguồn cấp dữ liệu thị trường qua MCP và cung cấp thông tin chuyên sâu được cá nhân hóa với bộ nhớ phiên duy trì ngữ cảnh danh mục đầu tư xuyên suốt các cuộc hội thoại tư vấn.
Xây dựng các tác nhân chuyên biệt để rà soát hợp đồng, trích xuất điều khoản, đánh dấu rủi ro và đối chiếu quy định. Tải thư viện điều khoản, mẫu biểu và văn bản pháp quy lên làm cơ sở tri thức, đồng thời xác định phương pháp phân tích qua hướng dẫn tùy chỉnh.
Tạo tác nhân thông minh kết nối với kho tài liệu của tổ chức, không gian làm việc Notion và Google Drive. Nhân viên truy vấn tác nhân bằng ngôn ngữ tự nhiên, tác nhân truy xuất, tổng hợp và trích dẫn các tài liệu nội bộ liên quan — được vận hành bởi kho lưu trữ vector được quản lý và RAG tích hợp.
Lấy khóa API của bạn và đưa tác nhân đầu tiên vào hoạt động trong vài phút.
Để đi từ con số không đến tác nhân sản xuất, bạn chỉ cần bốn bước:
Bước 1: Lấy khóa API
Tạo tài khoản nhà phát triển tại jenova.ai/platform và tạo khóa API. Khóa duy nhất này cấp quyền truy cập vào toàn bộ hạ tầng được quản lý — mọi nhà cung cấp mô hình, mọi tích hợp công cụ và mọi năng lực nền tảng thông qua một thông tin xác thực.
Bước 2: Xây dựng hoặc chọn tác nhân
Tạo tác nhân tùy chỉnh bằng cách xác định hướng dẫn hệ thống, chọn nhà cung cấp mô hình ưu tiên, tải cơ sở tri thức riêng tư lên và cấu hình quyền truy cập công cụ. Ngoài ra, bạn có thể chọn từ các tác nhân dựng sẵn đã được tối ưu cho các lĩnh vực cụ thể. Cấu hình tác nhân diễn ra trên nền tảng chỉ trong vài phút — không cần cài đặt khung, không cần mã để thiết lập.
Bước 3: Thêm tín dụng
Thêm tín dụng API vào tài khoản của bạn. Mức sử dụng được tính theo từng tương tác dựa trên mô hình và độ phức tạp liên quan. Không có số lượng chỗ ngồi cố định, không có hợp đồng hằng năm, không có cam kết tối thiểu — mở rộng hoặc thu hẹp mức sử dụng tùy theo nhu cầu.
Bước 4: Thực hiện lệnh gọi đầu tiên
Gửi yêu cầu đến tác nhân của bạn. API xử lý xuyên suốt điều phối, định tuyến mô hình, gọi công cụ, quản lý bộ nhớ và tạo phản hồi:
bashcurl -X POST https://api.jenova.ai/v1/chat \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "your-custom-agent",
"message": "Review the uploaded contract and identify non-standard liability clauses",
"session_id": "session-abc-123"
}'
Để xem thông số kỹ thuật điểm cuối đầy đủ, lược đồ yêu cầu/phản hồi và chi tiết xác thực, hãy tham khảo tài liệu API đầy đủ.
Tình huống: Một nhóm kỹ thuật ba người đã xây dựng hệ thống hỗ trợ khách hàng đa tác nhân bằng OpenAI Agents SDK. Sau bốn tháng vận hành, họ dành nhiều thời gian hơn để bảo trì bộ nhớ bền vững dựa trên Redis, các wrapper công cụ tùy chỉnh và hạ tầng tự lưu trữ thay vì phát triển tính năng sản phẩm. Việc cố chuyển sang mô hình ngoài OpenAI để tối ưu chi phí đã gây ra lỗi đầu ra có cấu trúc và thất bại khi tích hợp công cụ, đòi hỏi nhiều tuần khắc phục.
Hệ thống OpenAI Agents SDK: Logic điều phối tùy chỉnh, Redis cho bộ nhớ, Pinecone cho RAG, quản lý API theo từng nhà cung cấp, năng lực tính toán tự lưu trữ, giám sát và ứng phó sự cố.
Jenova Agent API: Di chuyển hướng dẫn tác nhân và cơ sở tri thức sang API được quản lý. Bộ nhớ, RAG, định tuyến mô hình và mở rộng quy mô do nền tảng xử lý. Nhóm kỹ thuật tập trung hoàn toàn trở lại vào phát triển sản phẩm.
Tình huống: Một startup công nghệ tài chính muốn cung cấp phân tích danh mục đầu tư bằng AI như một tính năng bảng điều khiển cao cấp. Đội ngũ kỹ thuật của họ đã đánh giá OpenAI Agents SDK nhưng ước tính cần nhiều tháng làm hạ tầng và chi phí phát triển từ $40,000 đến $120,000+ trước khi tính năng đầu tiên hướng tới người dùng có thể ra mắt — gồm bộ nhớ bền vững, RAG cho tài liệu tài chính, tích hợp công cụ dữ liệu thị trường và định tuyến đa mô hình.
Jenova Agent API: Xác định tác nhân cố vấn tài chính với hướng dẫn theo lĩnh vực, kết nối nguồn cấp dữ liệu thị trường qua MCP, tải tài liệu tham khảo tài chính lên. Ra mắt trong vài ngày với bộ nhớ tích hợp, RAG được quản lý và hạ tầng cấp độ sản xuất.
Tình huống: Một nền tảng giáo dục phục vụ 25,000 học viên cần các gia sư AI cá nhân hóa cho năm môn học, trong đó mỗi môn cần tri thức riêng theo chương trình, theo dõi tiến độ học viên bền vững và hỗ trợ đa mô hình.
Phương pháp khung DIY: Xây dựng cấu hình tác nhân cho mỗi môn bằng OpenAI Agents SDK, triển khai bộ nhớ bền vững theo từng học viên với cơ sở dữ liệu bên ngoài, cấp phát cơ sở dữ liệu vector cho tài liệu chương trình học, quản lý định tuyến mô hình để cân bằng chất lượng và chi phí. Riêng các lớp tích hợp đã chiếm 10–30% tổng nỗ lực phát triển.
Jenova Agent API: Tạo tác nhân gia sư tùy chỉnh cho từng môn với hướng dẫn và tài liệu theo chương trình học. API xử lý bộ nhớ phiên (tiến độ học viên tự động được duy trì), RAG (tài liệu chương trình được lập chỉ mục khi tải lên) và định tuyến mô hình — trên mọi phiên học viên đồng thời.
Tình huống: Một công ty phát triển phần mềm được thuê xây dựng các tính năng dùng AI cho ba khách hàng — sàng lọc đầu vào y tế, rà soát hợp đồng pháp lý và khám phá sản phẩm thương mại điện tử. Việc dùng OpenAI Agents SDK cho từng khách hàng sẽ đồng nghĩa với sao chép hạ tầng bộ nhớ, quy trình RAG, tích hợp công cụ và môi trường lưu trữ cho từng bên.
Jenova Agent API: Một lần tích hợp, một khóa API. Tạo tác nhân tùy chỉnh cho từng khách hàng với hướng dẫn, mô hình, cơ sở tri thức và công cụ theo lĩnh vực. Mỗi tác nhân tự động chạy trên hạ tầng được quản lý cấp độ sản xuất. Triển khai cả ba dự án trên cùng một nền tảng.
OpenAI Agents SDK là một khung Python cung cấp các thành phần nguyên thủy cho tác nhân — tác nhân, chuyển giao, guardrail và theo dõi — nhưng nhà phát triển tự xử lý hosting, mở rộng quy mô, bộ nhớ bền vững, RAG và tích hợp công cụ. Jenova Agent API là backend được quản lý hoàn toàn: một lần tích hợp xử lý điều phối, định tuyến đa mô hình, bộ nhớ, lưu trữ, RAG và công cụ. Bạn xác định tác nhân làm gì; hạ tầng xử lý cách tác nhân vận hành.
API sử dụng mô hình dựa trên tín dụng — bạn trả phí theo từng tương tác dựa trên mô hình và độ phức tạp liên quan. Không có số lượng chỗ ngồi cố định, không có gói đăng ký hằng năm, không có cam kết tối thiểu. Thêm tín dụng khi cần và mở rộng hoặc thu hẹp mức sử dụng theo nhu cầu. Hãy truy cập nền tảng API để xem chi tiết giá hiện hành.
Truy cập hợp nhất các mô hình từ OpenAI, Anthropic, Google, xAI, Qwen và nhiều nhà cung cấp khác qua một lần tích hợp duy nhất. Chọn mô hình theo từng tác nhân hoặc từng yêu cầu — không cần khóa API riêng, tài khoản nhà cung cấp hay lo ngại về tương thích đầu ra có cấu trúc. Danh sách mô hình khả dụng được cập nhật liên tục. Xem chi tiết đầy đủ tại jenova.ai/platform/docs.
Bốn bước: lấy khóa API, xây dựng hoặc chọn tác nhân, thêm tín dụng và thực hiện lệnh gọi đầu tiên. Tác nhân tùy chỉnh được cấu hình trên nền tảng — xác định hướng dẫn, chọn mô hình, tải cơ sở tri thức lên, cấu hình công cụ. Không cần cấp phát hạ tầng,