ChatGPT so với Gemini so với Perplexity: So sánh Cấu trúc Phản hồi
Lead Scraping Automation Engineer
Tóm tắt ngắn:
- Ba diễn viên, một phương tiện, ba hình dạng trả lời.
scraper.chatgpt,scraper.gemini, vàscraper.perplexityđều gửi POST đến cùng một điểm cuối và trả về cùng một phong bì{ status, task_id, task_result }— nhưng các trường bên trongtask_resultkhác nhau theo diễn viên. - Trường "nguồn" có tên khác nhau ở mỗi diễn viên. ChatGPT trả về
content_referencesvàsearch_result; Gemini trả vềcitations; Perplexity trả vềweb_results— cùng một ý tưởng, ba khóa, ba hình dạng cho mỗi mục. Trường bạn đọc để lấy nguồn không thể chuyển đổi giữa ba diễn viên này. - Chỉ ChatGPT trả về sản phẩm. Với
shoppingđược bật,scraper.chatgptthêm một mảngproductsvới cácofferstheo nhà bán; Gemini và Perplexity không trả về bề mặt mua sắm. - Perplexity mang lại phong bì phong phú nhất. Ngoài câu trả lời và
web_results, nó trả về một mảngmedia_itemsvà danh sáchrelated_prompt; Gemini là mảnh nhất — văn bản câu trả lời cộng với mảngcitationsvà không có gì khác. - Cờ đầu vào khác nhau theo diễn viên. Tất cả đều lấy
promptvàcountrybên tronginput; ChatGPT thêm một cờshoppingtùy chọn, Perplexity thêmweb_search. Các tham số luôn đi vào tronginput, không bao giờ ở cấp độ cao nhất. - Mỗi trường đều có thể null và theo phiên. Một mảng có thể trả về rỗng trong một lần chạy nhất định, vì vậy diễn viên bạn chọn quyết định các trường bạn có thể tin tưởng — lưu trữ
task_idvà một dấu thời gian ghi lại và đọc loạt, không chỉ một lần gọi. - Miễn phí để bắt đầu. Các tài khoản mới Scrapeless bao gồm tín dụng thử nghiệm miễn phí — đăng ký tại app.scrapeless.com.
Giới thiệu: một đề bài, ba hình dạng phản hồi
Gửi cùng một câu hỏi cho ChatGPT, Gemini và Perplexity thông qua Scrapeless và ba câu trả lời sẽ quay lại — trong ba hình dạng JSON khác nhau. Phương tiện là giống nhau: một POST, một tiêu đề x-api-token, một phong bì { status, task_id, task_result }. Điều thay đổi là bên trong task_result — khóa chứa nguồn của câu trả lời, liệu các sản phẩm có quay lại hay không, liệu phương tiện và các đề bài tiếp theo có được bao gồm hay không. Một khách hàng đọc một trong những diễn viên này không tự động đọc hai diễn viên còn lại.
Đây là một so sánh cho nhà phát triển về các sơ đồ trả về, không phải là phán quyết về mô hình nào trả lời tốt hơn. Nó ánh xạ, trường theo trường, những gì scraper.chatgpt, scraper.gemini, và scraper.perplexity thực sự trả về cho cùng một đề bài, nơi các sơ đồ phân kỳ, và diễn viên nào để chọn cho công việc nào. Để xem các trình thu thập LLM tốt nhất về danh mục công cụ, hướng dẫn đó xếp hạng các bề mặt; cái này đặt các hình dạng phản hồi cạnh nhau.
Những gì mỗi diễn viên thu thập
Cả ba đều là Universal Scraping API diễn viên LLM, được thu thập theo cùng một cách:
scraper.chatgpt— Câu trả lời tổng hợp của ChatGPT, các nguồn mà nó đã trích dẫn và (vớishoppingđược bật) một vòng quay sản phẩm với các ưu đãi theo nhà bán.scraper.gemini— Câu trả lời của Gemini cộng với một mảng trích dẫn. Mảnh nhất trong ba cái.scraper.perplexity— Câu trả lời của Perplexity, các nguồn web-result của nó, phương tiện nội tuyến và các đề bài tiếp theo mà nó gợi ý.
Hợp đồng chung: cùng điểm cuối, cùng phong bì, cùng xác thực
Cả ba diễn viên đều gửi POST đến https://api.scrapeless.com/api/v2/scraper/execute với một tiêu đề x-api-token và một nội dung { actor, input: { prompt, country, … } }, và cả ba trả về { status, task_id, task_result }. Việc đổi diễn viên chỉ là một thay đổi một dòng.
bash
curl -sS -X POST https://api.scrapeless.com/api/v2/scraper/execute \
-H "Content-Type: application/json" \
-H "x-api-token: ${SCRAPELESS_API_KEY}" \
-d '{ "actor": "scraper.gemini", "input": { "prompt": "giày chạy tốt nhất 2026", "country": "US" } }'
# diễn viên: scraper.chatgpt | scraper.gemini | scraper.perplexity
Phương tiện là di động; việc phân tích không giống nhau giữa các diễn viên — task_result là nơi chúng phân kỳ.
Cơ thể câu trả lời, so sánh
Mỗi diễn viên trả về câu trả lời tổng hợp dưới dạng result_text (văn bản theo định dạng markdown). Tên trường đó là điều mà cơ thể câu trả lời chia sẻ giữa cả ba. Không có ai trong ba diễn viên trả về các biến thể markdown và HTML riêng biệt của câu trả lời — result_text là định dạng câu trả lời duy nhất ở đây. (Diễn viên scraper.aimode, là một bề mặt khác, là người chia câu trả lời thành văn bản/markdown/HTML; ba diễn viên này không làm điều đó.)
Nơi các sơ đồ phân kỳ: trích dẫn và nguồn
"Cái gì mà mô hình đã trích dẫn" là cùng một câu hỏi cho cả ba diễn viên và một trường khác nhau ở mỗi diễn viên:
- ChatGPT chia nhỏ thành hai phần:
content_references[](các nguồn được trích dẫn, mỗi phần đều cótitle,url,attribution) vàsearch_result[](các kết quả web mà nó tham khảo, vớititle,url,snippet,attribution), được bảo vệ bởi một booleanweb_search. - Gemini trả về một mảng duy nhất
citations[], và nó chi tiết nhất cho mỗi mục:title,url,website_name,snippet,favicon, vàhighlights. - Perplexity trả về
web_results[], là mục nguồn gọn nhất:name,url,snippet.
Cùng một khái niệm, ba khóa, ba hình thức. Một trình phân tích share-of-citation viết trên citations[].website_name của Gemini không hoạt động với web_results[].name của Perplexity mà không cần tái định nghĩa lại.
Các trường duy nhất của nền tảng
Mỗi tác nhân trả về điều gì đó mà hai tác nhân còn lại không có:
- ChatGPT — sản phẩm. Đặt
input.shopping: truevàscraper.chatgptsẽ thêm một mảngproducts[], mỗi sản phẩm mang một giá, đánh giá, số lượng đánh giá, và một danh sáchoffers[]với một mục cho mỗi thương nhân. Nó cũng trả về mộtmodelid và một mảnglinks[]. Gemini và Perplexity không có bề mặt mua sắm. - Perplexity — phương tiện và theo dõi.
scraper.perplexitytrả về một mảngmedia_items[](image,thumbnail,url,source,medium) và một danh sáchrelated_prompt[]với các câu hỏi gợi ý tiếp theo — điều mà hai tác nhân còn lại không trả về. - Gemini — không có gì thêm. Giá trị của Gemini ngược lại: một câu trả lời sạch với hai trường (
result_text+citations[]) mà không có bề mặt cụ thể nào để xử lý.
Ma trận trường: tất cả ba bên cạnh nhau
| Trường khái niệm | scraper.chatgpt |
scraper.gemini |
scraper.perplexity |
|---|---|---|---|
| Văn bản trả lời | result_text |
result_text |
result_text |
| Các nguồn được trích dẫn | content_references[] (title, url, attribution) |
citations[] (title, url, website_name, snippet, favicon, highlights) |
web_results[] (name, url, snippet) |
| Kết quả tìm kiếm trên web | search_result[] + cờ web_search |
— | web_results[] |
| Sản phẩm / ưu đãi | products[] + offers[] (với shopping: true) |
— | — |
| Phương tiện | — | — | media_items[] |
| Các câu hỏi liên quan | — | — | related_prompt[] |
| ID mô hình | model |
— | — |
| Liên kết | links[] |
— | — |
| Nhắc lại yêu cầu | prompt |
prompt |
prompt |
| Cờ đầu vào tùy chọn | shopping |
— | web_search |
Đọc xuống một cột để biết các trường mà một tác nhân cung cấp cho bạn; đọc qua một hàng để xem tại sao một trình phân tích không thể phục vụ cả ba.
Lấy mã API của bạn trên gói miễn phí: app.scrapeless.com
Các tham số đầu vào, so sánh
Đối tượng input là nơi mà sự bất đối xứng phía yêu cầu tồn tại. Tất cả ba yêu cầu prompt và country; các cờ tùy chọn khác nhau.
Trường input |
scraper.chatgpt |
scraper.gemini |
scraper.perplexity |
|---|---|---|---|
prompt |
bắt buộc | bắt buộc | bắt buộc |
country |
bắt buộc | bắt buộc | bắt buộc |
shopping |
tùy chọn (→ products[]) |
— | — |
web_search |
tùy chọn | — | tùy chọn |
Mỗi trường nằm trong input; gửi prompt hoặc country ở cấp độ trên cùng của body sẽ bị từ chối.
Tính biến động và khả năng không có giá trị qua ba tác nhân
Câu trả lời được tạo ra theo phiên, vì vậy cùng một yêu cầu sẽ trả về văn bản khác nhau và các độ dài mảng khác nhau từ lần này sang lần khác, trên mỗi tác nhân. Xem mỗi trường như có thể không có giá trị: products[] có thể trống ngay cả khi shopping bật, citations[] và web_results[] khác nhau về số lượng, và một mảng trống liên tục nghĩa là không có câu trả lời cho truy vấn đó — không phải là điều cần gửi lại. Lưu task_id và một dấu thời gian trên mỗi cuộc gọi để chuỗi thời gian là tín hiệu, không phải là một phản hồi đơn lẻ.
Hướng dẫn quyết định: hình thức phản hồi nào để thu thập cho công việc nào
| Nếu công việc là… | Thu thập | Đọc |
|---|---|---|
| Giám sát giá / sản phẩm giữa các thương nhân | scraper.chatgpt với shopping: true |
products[] → offers[] |
| Chia sẻ trích dẫn với dữ liệu nguồn phong phú | scraper.gemini |
citations[] (website_name, highlights) |
| Theo dõi nguồn cộng với ý định phương tiện và theo dõi | scraper.perplexity |
web_results[], media_items[], related_prompt[] |
| Ghi lại câu trả lời ngắn gọn nhất | scraper.gemini |
result_text |
Gắn tác nhân với câu hỏi. Bởi vì vận chuyển là chung, chạy hai hoặc ba trong số chúng trên cùng một yêu cầu và quốc gia giống như cùng một khách hàng với một chuỗi tác nhân khác — và cung cấp cho bạn câu trả lời từ bề mặt của mỗi nền tảng trong một lần chạy.
Kết luận: ba hình thức, một khách hàng
Vận chuyển được chia sẻ và việc phân tích thì không: scraper.chatgpt, scraper.gemini, và scraper.perplexity đáp ứng cùng một điểm cuối và bao bì, nhưng task_result thì khác biệt — các khóa nguồn khác nhau, sản phẩm chỉ cho ChatGPT, phương tiện và theo dõi chỉ cho Perplexity, hình dạng hai trường gọn nhẹ của Gemini. Chọn tác nhân theo trường bạn cần, ánh xạ task_result theo từng tác nhân, và coi mọi trường là có thể null. Chạy một tập lệnh cố định theo lịch với Universal Scraping API tín dụng, và một khách hàng thu thập tất cả câu trả lời từ ba nền tảng. Tên trường ở đây đã được xác nhận dựa trên các lần chạy thực tế của mỗi tác nhân trong LLM Chat Scraper tham khảo.
Sẵn sàng xây dựng đường ống dữ liệu câu trả lời AI của bạn?
Tham gia cộng đồng của chúng tôi để nhận gói miễn phí và kết nối với các nhà phát triển đang xây dựng các đường ống dữ liệu câu trả lời AI: Discord · Telegram.
Đăng ký tại app.scrapeless.com để nhận tín dụng dùng thử miễn phí và định hướng một khách hàng đến ChatGPT, Gemini và Perplexity để thu thập tất cả ba hình dạng câu trả lời cho các truy vấn mà chương trình của bạn theo dõi.
Câu hỏi thường gặp
Q: Tất cả ba tác nhân có nhận cùng một đầu vào không?
Tất cả ba đều nhận prompt và country trong đối tượng input. scraper.chatgpt thêm một cờ shopping tùy chọn và scraper.perplexity thêm web_search; các tham số luôn nằm trong input, không bao giờ ở cấp độ cao nhất.
Q: Tại sao các trường trích dẫn lại có tên khác nhau giữa ba tác nhân?
Mỗi tác nhân phân tích câu trả lời được tạo ra từ nền tảng của chính nó, vì vậy dữ liệu nguồn được định hình theo nền tảng — content_references của ChatGPT, citations của Gemini, và web_results của Perplexity mang các khóa khác nhau và các trường khác nhau cho từng mục. Đọc trường mà tác nhân trả về thay vì giả định một khóa chung.
Q: Một khách hàng có thể đọc cả ba mà không cần viết lại không?
Đối với vận chuyển, có — cùng một điểm cuối, tiêu đề x-api-token và bao bì { status, task_id, task_result }. Bạn thay đổi tên tác nhân và ánh xạ các khóa task_result theo từng tác nhân, vì tập hợp trường bên trong khác nhau.
Q: Tác nhân nào trả về dữ liệu mua sắm hoặc sản phẩm?
scraper.chatgpt với input.shopping: true sẽ lấp đầy mảng products[] với offers[] theo từng thương nhân. Gemini và Perplexity không trả về bề mặt mua sắm.
Q: Tại sao cùng một lệnh lại trả về các trường khác nhau trong các lần chạy khác nhau?
Các câu trả lời được tạo ra theo phiên và khác nhau trong từng lần chạy; mọi trường đều có thể null và một mảng có thể trở về rỗng. Xem một kết quả liên tục rỗng như không có câu trả lời cho truy vấn đó, và lưu trữ task_id cộng với thời gian ghi lại để chuỗi là tín hiệu.
Tại Scrapless, chúng tôi chỉ truy cập dữ liệu có sẵn công khai trong khi tuân thủ nghiêm ngặt các luật, quy định và chính sách bảo mật trang web hiện hành. Nội dung trong blog này chỉ nhằm mục đích trình diễn và không liên quan đến bất kỳ hoạt động bất hợp pháp hoặc vi phạm nào. Chúng tôi không đảm bảo và từ chối mọi trách nhiệm đối với việc sử dụng thông tin từ blog này hoặc các liên kết của bên thứ ba. Trước khi tham gia vào bất kỳ hoạt động cạo nào, hãy tham khảo ý kiến cố vấn pháp lý của bạn và xem xét các điều khoản dịch vụ của trang web mục tiêu hoặc có được các quyền cần thiết.



