Câu trả lời AI là một cái quảng cáo
Hồi nhỏ tôi có tật tin vào từ điển. Từ điển không nói dối, không có ý muốn, không ăn hoa hồng. Bạn hỏi, nó trả lời đúng chữ đó.
Google từng giống vậy. Bạn gõ “máy pha cà phê tốt nhất”, nó cho bạn kết quả. Bạn biết mình phải tự lọc ra đâu là quảng cáo, đâu là tự nhiên. Cái trò chơi đó cũng tương đối công bằng.
Tuần trước Google đăng một bài blog về các định dạng quảng cáo mới cho kỷ nguyên AI. Tôi đọc xong và nhận ra: từ điển đó giờ đang ăn hoa hồng.
Câu chuyện trong một câu
Google đang đưa Gemini vào bên trong bản thân quảng cáo - AI viết câu trả lời tìm kiếm của bạn đồng thời cũng viết lời chào hàng cá nhân hoá cho nhà tài trợ, dưới cùng một định dạng, không thể phân biệt bằng mắt thường.
--> // making it invisible to querySelectorAll. // // `data-cfasync="false"` keeps this rescue script executable even when // Rocket Loader is active. It rescues module scripts via two strategies: // 1. Query the DOM for type$="-module" + src (covers case A) // 2. Regex-parse the raw HTML for commented-out script tags (covers case B) // Dynamically-created scripts bypass Rocket Loader entirely. (function () { if (window.__markdyRescue) return; window.__markdyRescue = true; var rescued = false; function rescueModuleScripts() { if (rescued) return; rescued = true; var srcs = []; // Strategy 1: Rocket Loader kept the tag in DOM but changed the type. // type="module" → type="{uuid}-module" (still has src attribute) document.querySelectorAll('script[type$="-module"][src]').forEach(function (s) { srcs.push(s.src); }); // Strategy 2: Rocket Loader COMMENTED OUT the script tag entirely: // // These are invisible to querySelectorAll, so we parse the raw HTML. // We handle both attribute orderings (type-first or src-first). var html = document.documentElement.innerHTML; var reSrcFirst = //g; var reTypeFirst = //g; var m; while ((m = reSrcFirst.exec(html)) !== null) { srcs.push(m[1]); } while ((m = reTypeFirst.exec(html)) !== null) { srcs.push(m[1]); } // Re-inject each found src as a real module script. // Deduplicate first, then inject. Dynamically-created scripts bypass // Rocket Loader entirely. Modules with the same URL are only executed // once by the browser (cached), so re-injecting already-running scripts // is safe. var seen = {}; srcs.forEach(function (src) { if (seen[src]) return; seen[src] = true; var fix = document.createElement('script'); fix.type = 'module'; fix.src = src; fix.setAttribute('data-cfasync', 'false'); document.head.appendChild(fix); }); } // Rescue when user clicks the placeholder (fallback if autoplay failed). document.addEventListener('click', function (e) { var t = e.target; if (t && typeof t.closest === 'function' && t.closest('.markdy-placeholder')) { rescueModuleScripts(); } }); // Rescue automatically after a short delay for autoplay. // Only fires if initAll() never ran (no data-markdy-init on any root). setTimeout(function () { if (document.querySelector('.markdy-root:not([data-markdy-init])')) { rescueModuleScripts(); } }, 1500); }());Họ vừa ra gì
Có năm định dạng mới, nhưng hai cái đáng chú ý nhất là:
Conversational Discovery Ads là cái kỳ lạ nhất. Bạn gõ một truy vấn dài, kiểu “tôi muốn nhà thơm như cánh rừng sau mưa, cần thứ gì ít công chăm sóc” - Gemini đọc câu hỏi đó và tự viết một mẩu quảng cáo trả lời đúng câu hỏi ấy. Nhà quảng cáo không viết nội dung đó. Gemini viết. Nhà quảng cáo chỉ nhận cú click.
Highlighted Answers đơn giản hơn nhưng có thể còn nguy hiểm hơn: khi AI Mode đưa ra danh sách gợi ý (chẳng hạn “app học ngôn ngữ tốt nhất cho chuyến đi Nhật”), các quảng cáo chất lượng cao đủ điều kiện có thể xuất hiện như một mục trong danh sách đó, có nhãn “Được tài trợ”. Bạn thấy một bảng xếp hạng. Một số mục tự nhiên. Một số là tiền. Bạn phải tự nhận ra sự khác biệt từ dòng chú thích nhỏ.
Ba định dạng còn lại:
| Định dạng | Làm gì |
|---|---|
| AI-powered Shopping ads | Gemini viết giải thích sản phẩm riêng cho mỗi truy vấn |
| Business Agent for Leads | Thay vì điền form, bạn chat với AI của thương hiệu; Google host con bot |
| Direct Offers / Promotion Bundling | Gemini tổng hợp gói khuyến mãi phù hợp với ý định tìm kiếm của bạn |
Tại sao bài này leo lên 584 điểm
Google đã giật dây ranh giới này nhiều năm - làm quảng cáo trông giống kết quả tự nhiên - nhưng text nằm trong câu trả lời do AI tạo ra là một chuyện khác hẳn so với cái link ở sidebar.
Adblocker hoạt động bằng cách nhắm vào các phần tử DOM: thẻ script, URL của mạng quảng cáo, các endpoint đã được biết đến. Chúng không thể chặn một câu do Gemini viết nằm trong phần body của câu trả lời. Đó mới là điểm thay đổi. Trong suốt hai mươi năm, dân kỹ thuật có một lối thoát sạch sẽ. Giờ lối đó đã đóng.
Bài viết leo top không chỉ vì nội dung, mà còn vì thông điệp ngầm: AI Mode giờ là giao diện mặc định của Search. Kết quả web kiểu cũ vẫn còn đó, nhưng nguồn lực - và mô hình doanh thu - của Google đang đổ vào lớp hội thoại. Và lớp đó giờ có quảng cáo trong đó.
Người ta đang tranh cãi gì trên HN
Comment được vote nhiều nhất đến từ svieira, và đọc xong thấy ớn thật:
“Điều đáng lo ngại đặc biệt ở đây là họ sẽ thu thập dữ liệu huấn luyện cho một mô hình hội thoại về cách gây ảnh hưởng đến người ta hiệu quả ngay cả khi họ đã biết họ đang bị tác động.”
Đây không chỉ là chuyện mệt mỏi với quảng cáo. RLHF vốn đã tối ưu theo phê duyệt của con người. Conversational Discovery Ads tạo ra một vòng phản hồi mới: Gemini viết copy quảng cáo, người dùng click hoặc không, và Google có tín hiệu huấn luyện về ngôn ngữ thuyết phục nào hiệu quả ở từng mức độ ý định, quy mô lớn, mãi mãi. Dữ liệu đó không chỉ cải thiện quảng cáo. Nó cải thiện khả năng thuyết phục bạn với bất kỳ điều gì.
--> // making it invisible to querySelectorAll. // // `data-cfasync="false"` keeps this rescue script executable even when // Rocket Loader is active. It rescues module scripts via two strategies: // 1. Query the DOM for type$="-module" + src (covers case A) // 2. Regex-parse the raw HTML for commented-out script tags (covers case B) // Dynamically-created scripts bypass Rocket Loader entirely. (function () { if (window.__markdyRescue) return; window.__markdyRescue = true; var rescued = false; function rescueModuleScripts() { if (rescued) return; rescued = true; var srcs = []; // Strategy 1: Rocket Loader kept the tag in DOM but changed the type. // type="module" → type="{uuid}-module" (still has src attribute) document.querySelectorAll('script[type$="-module"][src]').forEach(function (s) { srcs.push(s.src); }); // Strategy 2: Rocket Loader COMMENTED OUT the script tag entirely: // // These are invisible to querySelectorAll, so we parse the raw HTML. // We handle both attribute orderings (type-first or src-first). var html = document.documentElement.innerHTML; var reSrcFirst = //g; var reTypeFirst = //g; var m; while ((m = reSrcFirst.exec(html)) !== null) { srcs.push(m[1]); } while ((m = reTypeFirst.exec(html)) !== null) { srcs.push(m[1]); } // Re-inject each found src as a real module script. // Deduplicate first, then inject. Dynamically-created scripts bypass // Rocket Loader entirely. Modules with the same URL are only executed // once by the browser (cached), so re-injecting already-running scripts // is safe. var seen = {}; srcs.forEach(function (src) { if (seen[src]) return; seen[src] = true; var fix = document.createElement('script'); fix.type = 'module'; fix.src = src; fix.setAttribute('data-cfasync', 'false'); document.head.appendChild(fix); }); } // Rescue when user clicks the placeholder (fallback if autoplay failed). document.addEventListener('click', function (e) { var t = e.target; if (t && typeof t.closest === 'function' && t.closest('.markdy-placeholder')) { rescueModuleScripts(); } }); // Rescue automatically after a short delay for autoplay. // Only fires if initAll() never ran (no data-markdy-init on any root). setTimeout(function () { if (document.querySelector('.markdy-root:not([data-markdy-init])')) { rescueModuleScripts(); } }, 1500); }());karlkloss hỏi câu im lặng hơn: “Liệu câu trả lời AI có bị ảnh hưởng bởi khách hàng của Google không?” Blog của Google nói không - các giải thích AI là “độc lập” và chạy riêng với creative của nhà quảng cáo. Câu trả lời đó đúng về mặt kỹ thuật và vô nghĩa về mặt tâm lý. Mọi người dùng đều biết Google là công ty quảng cáo. Thấy nhãn “Được tài trợ” bên cạnh gợi ý của Gemini không khôi phục được niềm tin. Nó chỉ làm rõ ràng thỏa thuận.
neuropacabra tuyên bố chuyển sang DuckDuckGo sau khi Google đặt AI Mode làm mặc định. Nhiều người đồng tình. Nhận xét của FinnKuhn đáng ngồi suy nghĩ: “Google là bên có thể chờ lâu nhất mà không sao, để lấy thị phần từ OpenAI trước.” Nghĩa là: họ không cần làm điều này để sống sót. Họ chọn làm.
Đọc bài gốc nếu / bỏ qua nếu
| Đọc bài gốc nếu bạn… | Bỏ qua nếu bạn… |
|---|---|
| Đang chạy Google Ads cho doanh nghiệp | Đã chuyển sang DuckDuckGo / Kagi từ lâu |
| Muốn hiểu “Business Agent for Leads” có nghĩa gì với pipeline bán hàng | Không dùng Google Search suốt hai năm qua |
| Tò mò về cách Gemini viết copy quảng cáo khác người thật như thế nào | Chỉ quan tâm adblocker còn chặn được không (câu ngắn: ít đi) |
Một thứ sẽ không thay đổi
Câu trả lời phản xạ của Google trước những chỉ trích kiểu này là: quảng cáo được gắn nhãn rõ ràng. Đúng - có chữ “Được tài trợ”. Cũng đúng là hiện tượng “banner blindness” đã được ghi nhận từ năm 1998, và cái nhãn trên một Highlighted Answer không có ý nghĩa gì một khi AI đã thuyết phục bạn rằng gợi ý đó là có thẩm quyền.
Hợp đồng ngầm của tìm kiếm từ trước đến nay là: chúng tôi hiển thị quảng cáo, bạn học cách bỏ qua, không có thứ gì bị trộn lẫn. Hợp đồng đó vừa hết hạn. Cái đến tiếp theo là một mô hình biết chính xác câu nào khiến bạn đặt mua máy pha cà phê, và nó sẽ viết câu đó, theo đơn đặt hàng.
Cái từ điển giờ nhận commission rồi.
Thảo luận trên Hacker News · Nguồn: blog.google · Đăng bởi sofumel
Hoang Yell
Một nhà phát triển phần mềm và là người kể chuyện kỹ thuật. Tôi đọc Hacker News mỗi ngày và kể lại những câu chuyện hay nhất ở đây — bằng tiếng Việt và tiếng Anh, cho người tò mò nhưng không có thời gian.