Để kiểm tra API Sakana Fugu trong Apidog, hãy tạo một yêu cầu HTTP mới trỏ đến đường dẫn `/chat/completions` tương thích OpenAI của Fugu, thêm tiêu đề `Authorization: Bearer` với khóa API của bạn và gửi một payload chỉ định mô hình `fugu` hoặc `fugu-ultra`. Vì Fugu cung cấp một endpoint tương thích OpenAI, bất kỳ công cụ nào hiểu định dạng trò chuyện OpenAI đều hoạt động mà không cần hoán đổi SDK, và Apidog cung cấp cho bạn khả năng kiểm tra luồng, các biến thể yêu cầu đã lưu và so sánh phản hồi trong một cửa sổ duy nhất. Hướng dẫn này sẽ trình bày toàn bộ quy trình: xây dựng yêu cầu, theo dõi các delta SSE, đọc đối tượng `usage` và so sánh độ trễ giữa phiên bản cân bằng và phiên bản Ultra chậm hơn để bạn có thể thấy chi phí điều phối (orchestration hop) trong các phản hồi thực tế.
Nếu bạn muốn tích hợp theo hướng code-first thay vì hướng kiểm tra và quan sát, hướng dẫn sử dụng Sakana Fugu API đi kèm sẽ bao gồm việc kết nối SDK. Bài viết này tập trung vào việc sử dụng Apidog.
Những gì bạn thực sự đang kiểm tra với Fugu
Fugu không phải là một mô hình trò chuyện đơn thuần. Theo Sakana, đó là một hệ thống điều phối đa tác nhân (multi-agent orchestration system) được trình bày như một mô hình nền tảng duy nhất đằng sau một API. Một mô hình ngôn ngữ được đào tạo chuyên về ủy quyền, giao tiếp tác nhân và tổng hợp công việc, sau đó tự động điều phối nhiều LLM, bao gồm các phiên bản đệ quy của chính nó. Tiêu đề phát hành là "Một mô hình để điều khiển tất cả". Để biết thêm về câu chuyện điều phối, hãy xem phần giải thích về Sakana Fugu là gì.

Thiết kế đó rất quan trọng cho việc thử nghiệm. Khi bạn gửi một yêu cầu, Fugu quyết định trả lời trực tiếp hay tập hợp một đội ngũ phía sau hậu trường. Bạn thấy một phản hồi, nhưng công việc bên dưới có thể đã đi qua nhiều mô hình. Vì vậy, những điều đáng đo lường trong Apidog khác với một thử nghiệm mô hình thông thường: bạn theo dõi độ trễ như một chỉ số cho thấy liệu Fugu đã chạy một lượt duy nhất hay một "orchestration hop", và bạn đọc đối tượng `usage` để xem chi phí token trên cuộc gọi cha.
Hai biến thể chia sẻ một endpoint duy nhất:
- Fugu (biến thể cân bằng, độ trễ thấp) nhắm đến công việc hàng ngày: lập trình, đánh giá mã, chatbot và các dịch vụ tương tác.
- Fugu Ultra nhắm đến chất lượng câu trả lời tối đa: nghiên cứu AI, tái tạo tài liệu, phân tích an ninh mạng và điều tra tài liệu hoặc bằng sáng chế.
Bản beta và phần lớn báo chí ban đầu gọi biến thể nhỏ là "Fugu Mini". Trang phát hành chính thức gọi là "Fugu" và "Fugu Ultra", vì vậy hãy sử dụng những tên đó; "Mini" là nhãn beta cũ.
Lấy URL cơ sở và khóa API trước khi bắt đầu
Fugu yêu cầu đăng nhập. Bạn đăng nhập tại console.sakana.ai bằng Google hoặc email, và console là nơi bạn sao chép khóa API và URL cơ sở của mình.
Một lưu ý quan trọng cho ngày 22-06-2026: URL cơ sở không được công bố trên bất kỳ trang công khai nào của Sakana. Đừng đoán. Sao chép host thực tế từ console và giữ nó như một biến. Bất cứ nơi nào trong hướng dẫn này bạn thấy `<YOUR_FUGU_BASE_URL_FROM_CONSOLE>`, hãy thay thế nó bằng giá trị mà console hiển thị cho bạn. Quyền truy cập cũng đã chuyển từ bản beta giới hạn khoảng 500 người dùng sang khả dụng rộng rãi; liệu việc tự đăng ký đã mở hoàn toàn hay có hạn chế EU/EEA hay không đều đáng kiểm tra trực tiếp trong console.
Thiết lập yêu cầu Fugu trong Apidog
Tải xuống Apidog nếu bạn chưa có, sau đó tạo một dự án mới và một yêu cầu HTTP mới.
Sử dụng biến môi trường cho khóa và host
Không dán các bí mật vào thanh URL. Môi trường Apidog cho phép bạn lưu trữ URL cơ sở và khóa một lần và tham chiếu chúng trên mọi yêu cầu. Tạo một môi trường (gọi là `Fugu Prod`) và thêm hai biến:
- `fugu_base_url` được đặt thành giá trị `<YOUR_FUGU_BASE_URL_FROM_CONSOLE>` của bạn.
- `fugu_key` được đặt thành khóa API của bạn từ console.
Bây giờ, URL yêu cầu của bạn sẽ trở thành `{{fugu_base_url}}/chat/completions` và giá trị tiêu đề của bạn sẽ trở thành `Bearer {{fugu_key}}`. Việc chuyển đổi giữa khóa staging và khóa production chỉ là một thay đổi trong menu thả xuống, không phải là tìm-và-thay-thế trên các yêu cầu. Nếu bạn đã kết nối các nhà cung cấp tương thích OpenAI khác thông qua một gateway trước đây, điều này phản ánh mẫu trong hướng dẫn Claude Code với OpenRouter, nơi một URL cơ sở và một bearer token chuyển hướng một client OpenAI đến một backend mới.
Xây dựng nội dung yêu cầu
Đặt phương thức là `POST`, URL là `{{fugu_base_url}}/chat/completions`, và thêm các tiêu đề sau:
Authorization: Bearer {{fugu_key}}
Content-Type: application/json
Sau đó, đưa một payload trò chuyện OpenAI tiêu chuẩn vào nội dung JSON:
{
"model": "fugu",
"messages": [
{ "role": "system", "content": "You are a concise API testing assistant." },
{ "role": "user", "content": "Summarize what an SSE delta is in two sentences." }
],
"stream": false
}
Cấu trúc khớp chính xác với tài liệu tham khảo hoàn thành trò chuyện của OpenAI, đây là điểm mấu chốt của một endpoint tương thích OpenAI. Các chuỗi ID mô hình được báo cáo khi ra mắt là `fugu` và `fugu-ultra` (và có thể là một dạng có ngày tháng như `fugu-ultra-20260615`). Hãy xác nhận ID chính xác trong console thay vì mã hóa cứng một chuỗi có ngày tháng, vì các ID có ngày tháng có thể xoay vòng.
Gửi yêu cầu. Bạn sẽ nhận được một đối tượng hoàn thành trò chuyện bình thường, với một mảng `choices` và một khối `usage`. Lưu yêu cầu này trong Apidog dưới tên “Fugu balanced.”
Gửi đến biến thể Ultra và lưu cả hai
Nhân đôi yêu cầu đã lưu, thay đổi một trường và bạn có trường hợp thử nghiệm thứ hai của mình:
{
"model": "fugu-ultra",
"messages": [
{ "role": "user", "content": "Reproduce the core result of the Trinity coordinator paper in plain language and note one limitation." }
],
"stream": false
}
Lưu yêu cầu này dưới tên “Fugu Ultra.” Bây giờ bạn có hai yêu cầu đã lưu truy cập cùng một endpoint, chỉ khác nhau ở trường `model`. Đây là thiết lập làm cho phần còn lại của thử nghiệm có ý nghĩa. Bạn gửi cùng một lời nhắc đến cả hai, sau đó so sánh phản hồi và thời gian. Apidog giữ lịch sử phản hồi cho mỗi yêu cầu, vì vậy bạn có thể chạy lại mỗi yêu cầu và xem cách các câu trả lời và độ trễ thay đổi. Để biết một mẫu rộng hơn về việc nối chuỗi và so sánh các cuộc gọi API, hướng dẫn điều phối kiểm thử API bao gồm cách sắp xếp và xác nhận trên nhiều yêu cầu.
Kiểm tra các delta luồng SSE
Tính năng streaming là nơi hành vi của Fugu trở nên thú vị, bởi vì một orchestration hop dài vẫn truyền các token khi chúng được hoàn thiện. Chuyển `stream` thành `true`:
{
"model": "fugu-ultra",
"messages": [
{ "role": "user", "content": "Walk through a one-shot chess opening analysis, step by step." }
],
"stream": true
}
Khi bật streaming, phản hồi là `text/event-stream` và đến dưới dạng một loạt các `data:` chunk. Apidog hiển thị luồng SSE trực tiếp, vì vậy bạn thấy các delta xuất hiện thay vì nhìn chằm chằm vào một vòng quay chờ. Mỗi chunk trông như thế này:
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"The"},"finish_reason":null}]}
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":" Sicilian"},"finish_reason":null}]}
data: [DONE]
Đối tượng `delta` mang nội dung token tăng dần. Chunk đầu tiên thường mang `role`, sau đó các chunk tiếp theo mang các phân đoạn `content`, và luồng kết thúc với `finish_reason` được đặt và một dòng `data: [DONE]` cuối cùng. Hãy chú ý khoảng cách trước delta đầu tiên trên Ultra. Một khoảng dừng dài trước khi các token bắt đầu, sau đó là một luồng ổn định, là một tín hiệu hữu ích cho thấy Fugu đã tập hợp một đội ngũ trước khi trả lời. Biến thể cân bằng có xu hướng bắt đầu streaming sớm hơn vì nó thường trả lời trực tiếp hơn.
Đọc đối tượng usage và so sánh chi phí
Sau khi một cuộc gọi không streaming trả về, hãy mở khối `usage` trong phản hồi:
{
"usage": {
"prompt_tokens": 38,
"completion_tokens": 412,
"total_tokens": 450
}
}
Số lượng token trên cuộc gọi cha là những gì Apidog hiển thị trực tiếp cho bạn. Hãy giữ một điểm trung thực trong đầu: Fugu là một công cụ điều phối (orchestrator) gọi các mô hình tiên tiến của các nhà cung cấp khác, bao gồm cả chính nó một cách đệ quy. `usage` mà bạn đọc là tài khoản trên yêu cầu của bạn tới Fugu, chứ không phải là một cửa sổ vào mọi mô hình hạ nguồn mà nó có thể đã gọi. Cấu trúc giá, theo Sakana, là các gói thuê bao theo cấp bậc cho việc sử dụng hàng ngày cộng với gói trả tiền theo mức sử dụng cho khối lượng công việc nặng hơn và doanh nghiệp.
Để có một điểm so sánh thực tế, mức giá công bố của Anthropic (09-06-2026) đặt Fable 5 và Mythos 5 ở mức 10 đô la cho 1 triệu đầu vào và 50 đô la cho 1 triệu đầu ra. Hướng dẫn API Claude Fable 5 đi kèm bao gồm endpoint đó nếu bạn muốn một mô hình cơ sở đơn lẻ để kiểm tra cùng với Fugu trong cùng một dự án Apidog.
Đo chi phí orchestration hop theo độ trễ
Đây là bài kiểm tra chứng minh lý do chạy cả hai biến thể. Gửi cùng một lời nhắc đến "Fugu balanced" và "Fugu Ultra", sau đó đọc thời gian phản hồi mà Apidog báo cáo ở cuối mỗi kết quả.
Bạn thường sẽ thấy biến thể cân bằng trả về nhanh hơn. Theo Sakana, "Fugu" cân bằng nhắm đến độ trễ thấp và các dịch vụ tương tác, trong khi Ultra nhắm đến chất lượng tối đa cho công việc cấp độ nghiên cứu. Độ chênh lệch độ trễ là chỉ số trực quan của bạn về "orchestration hop": khi Ultra mất nhiều thời gian hơn, thời gian thêm đó là do Fugu đang điều phối một đội ngũ thay vì trả lời trong một lượt. Thời gian theo yêu cầu và lịch sử đã lưu của Apidog cho phép bạn chạy mỗi biến thể nhiều lần và xem liệu khoảng cách đó có ổn định hay phụ thuộc vào lời nhắc.
Để nhấn mạnh sự khác biệt, hãy chọn một tác vụ từ danh sách ứng dụng của Sakana mà họ tuyên bố có kết quả mạnh mẽ: AutoResearch, thiết kế cơ khí, dự đoán chuỗi thời gian tài chính, hoặc cờ vua một nước. Theo Sakana, Fugu luôn vượt trội hơn Gemini 3.1 Pro, Opus 4.8 và GPT 5.5 trên các ứng dụng cụ thể đó. Hãy đọc kỹ tuyên bố đó. Fugu có thể đạt được những kết quả đó bằng cách gọi chính các mô hình đó và tổng hợp đầu ra của chúng, vì vậy một kết quả "đánh bại Opus 4.8" có thể là kết quả của mô hình-của-các-mô hình, chứ không phải là chiến thắng của một mô hình đơn lẻ. Sakana cũng định vị Fugu Ultra ngang hàng với Fable 5 và Mythos Preview cũ hơn trên các tiêu chuẩn kỹ thuật và lý luận, đó là một tuyên bố về sự tương đương, không phải là tuyên bố "đánh bại". Tự mình kiểm tra và đánh giá bằng lời nhắc của riêng bạn.
Định tuyến và quản lý tác nhân bạn có thể khám phá
Trang phát hành của Fugu mô tả các cơ chế đáng để kiểm tra trực tiếp. Các tác nhân trong nhóm có thể hoán đổi cho nhau. Các nhóm có thể từ chối các tác nhân cụ thể vì lý do dữ liệu hoặc tuân thủ. Fugu cũng tự động định tuyến xung quanh các hạn chế của nhà cung cấp. Nếu console của bạn hiển thị các điều khiển nhóm tác nhân, bạn có thể thay đổi các mô hình đủ điều kiện và chạy lại các yêu cầu Apidog đã lưu của mình để xem cách định tuyến và câu trả lời thay đổi.
Dòng dõi nghiên cứu là có thật và có thể trích dẫn. Hai bài báo ICLR 2026 đứng sau phương pháp này: Trinity, “Một bộ điều phối LLM tiến hóa”, một bộ điều phối dưới 20K tham số được tối ưu hóa bằng cách tiến hóa không đạo hàm với các vai trò Thinker, Worker và Verifier, và Conductor, “Học cách điều phối tác nhân bằng ngôn ngữ tự nhiên”, một mô hình 7B được huấn luyện bằng học tăng cường tự học cấu trúc giao tiếp của riêng nó và tuyên bố đánh bại Mixture-of-Agents với chi phí thấp hơn. Chúng sử dụng các phương pháp và kích thước khác nhau, vì vậy đừng nhầm lẫn chúng, và lưu ý rằng việc ánh xạ bất kỳ số lượng tham số cụ thể nào vào sản phẩm đã xuất xưởng là suy luận của bên thứ ba chứ không phải là con số chính thức.
Điều này phù hợp với quy trình làm việc của Apidog của bạn như thế nào
Mục đích của việc kiểm tra Fugu trong Apidog thay vì một lệnh curl một lần là khả năng lặp lại. Bạn lưu cả hai biến thể yêu cầu, giữ khóa và host của mình trong một môi trường, chạy lại chúng với các lời nhắc mới, so sánh các phản hồi cạnh nhau và đọc độ trễ và `usage` mà không cần rời khỏi công cụ. Khi Fugu xoay vòng ID mô hình hoặc bạn chuyển từ khóa staging sang production, bạn thay đổi một biến môi trường và mọi yêu cầu đã lưu sẽ theo đó. Đó là vòng lặp kiểm tra và quan sát: xây dựng một lần, sau đó xem cách một hệ thống điều phối hoạt động khi bạn đẩy các lời nhắc khác nhau qua nó.

Sakana lấy tên từ tiếng Nhật có nghĩa là cá, và thương hiệu "đàn cá" phù hợp với một công cụ điều phối nhiều mô hình thành một câu trả lời duy nhất. Fugu, cá nóc, là một món ngon an toàn chỉ khi được một đầu bếp lành nghề chế biến. Ẩn dụ về sự chuẩn bị cẩn thận là một cách hợp lý để nghĩ về việc định tuyến công việc giữa các tác nhân, miễn là bạn nhớ rằng đó là màu sắc, không phải một điểm chuẩn.
Trỏ các yêu cầu tương thích OpenAI của bạn vào Fugu, lưu các biến thể của bạn và để Apidog cho bạn thấy công cụ điều phối làm gì khi chịu tải. Tải xuống Apidog để thiết lập môi trường Fugu đầu tiên của bạn, và bắt đầu bằng cách gửi cùng một lời nhắc đến cả hai biến thể để tự mình xem "orchestration hop".
Các câu hỏi thường gặp
Tôi sử dụng URL cơ sở nào để kiểm tra Fugu trong Apidog?
Sao chép URL cơ sở từ console.sakana.ai sau khi bạn đăng nhập. Sakana chưa công bố host trên bất kỳ trang công khai nào tính đến ngày 22-06-2026, vì vậy đừng đoán. Lưu trữ nó dưới dạng biến môi trường Apidog và tham chiếu nó là `{{fugu_base_url}}/chat/completions`.
Tôi có cần một SDK đặc biệt để gọi Fugu không?
Không. Fugu cung cấp một endpoint tương thích OpenAI, vì vậy bất kỳ client OpenAI nào hoặc bất kỳ công cụ nào hiểu định dạng trò chuyện OpenAI đều hoạt động chỉ với một thay đổi URL cơ sở và khóa. Mẫu chuyển hướng tương tự xuất hiện trong hướng dẫn Claude Code với OpenRouter.
Làm cách nào để kiểm tra phản hồi streaming từ Fugu?
Đặt `\"stream\": true` trong nội dung yêu cầu. Phản hồi đến dưới dạng `text/event-stream` với các chunk `data:` mang nội dung `delta` tăng dần, kết thúc bằng `data: [DONE]`. Apidog hiển thị luồng SSE trực tiếp để bạn có thể xem các delta xuất hiện trong thời gian thực.
Sự khác biệt giữa Fugu và Fugu Ultra là gì?
Fugu là biến thể cân bằng, độ trễ thấp dành cho việc lập trình, đánh giá mã và chatbot hàng ngày. Fugu Ultra nhắm đến chất lượng câu trả lời tối đa cho nghiên cứu, tái tạo tài liệu và phân tích bảo mật. Cả hai đều chạy qua cùng một endpoint, chỉ khác nhau bởi trường `model`, điều này làm cho chúng dễ dàng lưu và so sánh trong Apidog.
Tại sao Fugu Ultra chậm hơn biến thể cân bằng?
Độ trễ thêm là do "orchestration hop". Theo Sakana, Fugu có thể trả lời trực tiếp hoặc tập hợp một nhóm các mô hình, và Ultra nghiêng về sự điều phối sâu hơn để đạt chất lượng. Thời gian phản hồi chậm hơn mà bạn đọc trong Apidog là tín hiệu rõ ràng cho thấy Fugu đã điều phối nhiều mô hình thay vì trả lời trong một lượt duy nhất.
Các chiến thắng điểm chuẩn của Fugu có phải là kết quả của một mô hình đơn lẻ không?
Không. Fugu là một công cụ điều phối gọi các mô hình tiên tiến của các nhà cung cấp khác, bao gồm cả chính nó một cách đệ quy. Vì vậy, một kết quả "đánh bại Opus 4.8", theo Sakana, có thể đến từ việc gọi Opus và tổng hợp đầu ra của nó. Hãy coi các con số của Fugu là kết quả của mô hình-của-các-mô hình, chứ không phải là chiến thắng của một mô hình đơn lẻ, và xác minh lại bằng lời nhắc của riêng bạn.
