Dẹp bỏ nỗi lo “vỡ” script mỗi khi đối thủ đổi giao diện
Mở 30 tab trình duyệt để so sánh giá bàn phím cơ hay soi tính năng đối thủ là một cực hình. Nếu bạn là developer, chắc hẳn bạn từng thức trắng đêm sửa đống CSS Selector của Selenium chỉ vì trang web mục tiêu đổi từ class="btn-price" sang class="price-v2". Script cào dữ liệu truyền thống rất dễ “gãy” trước những thay đổi nhỏ nhất của cấu trúc HTML.
Giải pháp thực dụng hơn mà mình vừa áp dụng thành công là bộ đôi Browser-use và LangChain. Thay vì viết code cứng nhắc để chỉ định tọa độ click, bạn chỉ cần ra lệnh: “Tìm 5 sản phẩm bán chạy nhất và lập bảng so sánh”. AI sẽ tự quan sát giao diện, suy luận hành động và thao tác như một người dùng thực thụ.
Tại sao nên dùng AI Agent thay vì Web Scraping truyền thống?
Mỗi phương pháp đều có chỗ đứng riêng. Tuy nhiên, khi cần xử lý các trang web có cấu trúc phức tạp hoặc thay đổi liên tục, AI Agent thể hiện ưu thế vượt trội.
- Scraping truyền thống (Selenium, Puppeteer): Tốc độ cực nhanh, tốn ít tài nguyên. Tuy nhiên, bạn sẽ tốn hàng giờ bảo trì code mỗi khi trang web cập nhật giao diện.
- Headless Browser + LLM (Firecrawl, Jina): Chuyển web thành Markdown để AI đọc. Cách này ổn để lấy thông tin tĩnh nhưng lại bất lực trước các thao tác như giải captcha, click menu đa cấp hoặc kéo thanh trượt.
- Agentic Browser Control (Browser-use): AI thực sự “nhìn” thấy cây DOM và ảnh chụp màn hình. Nó có khả năng tự thích nghi. Nếu nút “Thanh toán” đổi từ màu đỏ sang xanh, Agent vẫn nhận diện và click chính xác.
Bảng so sánh hiệu quả thực tế
| Tiêu chí | Scraping truyền thống | Browser-use + LangChain |
|---|---|---|
| Độ khó triển khai | Trung bình | Dễ (Dùng prompt tiếng Việt/Anh) |
| Khả năng thích nghi | Kém (Dễ lỗi script) | Rất tốt (AI tự xử lý thay đổi) |
| Chi phí vận hành | Gần như bằng 0 | $0.05 – $0.2 mỗi task (tốn token) |
| Tốc độ hoàn thành | Vài giây | 30 – 60 giây (do AI cần suy nghĩ) |
Lời khuyên từ mình: Đừng dùng AI Agent để cào hàng triệu bản ghi. Hãy dùng nó cho các task cần sự thông minh như nghiên cứu thị trường, kiểm tra UI/UX hoặc theo dõi giá đối thủ hàng ngày.
Sức mạnh của Browser-use khi bắt cặp cùng LangChain
Browser-use đóng vai trò là “đôi mắt” và “bàn tay”, kết nối trực tiếp LLM với trình duyệt Playwright. Trong khi đó, LangChain cung cấp bộ não với khả năng ghi nhớ (Memory) và tích hợp công cụ (Tools). Sự kết hợp này cho phép bạn linh hoạt hoán đổi giữa các model như GPT-4o hay Claude 3.5 Sonnet.
Qua trải nghiệm thực tế, Claude 3.5 Sonnet là lựa chọn số 1 hiện nay. Model này xử lý các tác vụ thị giác và logic điều hướng trình duyệt mượt mà hơn hẳn, ít khi bị tình trạng “click quẩn” vào các vùng trống.
Hướng dẫn triển khai Agent nghiên cứu thị trường
Bạn cần chuẩn bị Python 3.11+ và API Key của OpenAI hoặc Anthropic để bắt đầu.
1. Thiết lập môi trường
# Tạo môi trường ảo
python -m venv venv
source venv/bin/activate
# Cài đặt thư viện
pip install browser-use langchain-anthropic playwright
# Cài đặt trình duyệt lõi
playwright install
2. Viết code điều khiển Agent
Đoạn script dưới đây sẽ yêu cầu Agent truy cập Amazon, tìm sản phẩm và trích xuất dữ liệu mà không cần bất kỳ CSS Selector nào.
from langchain_anthropic import ChatAnthropic
from browser_use import Agent
import asyncio
import os
os.environ["ANTHROPIC_API_KEY"] = "your-api-key-here"
async def run_market_research():
# Sử dụng Claude 3.5 Sonnet để có khả năng đọc UI tốt nhất
llm = ChatAnthropic(model="claude-3-5-sonnet-20241022")
task = """
1. Vào trang amazon.com
2. Tìm 'mechanical keyboard wireless'
3. Chỉ chọn các mẫu có đánh giá trên 4.5 sao
4. Lấy tên và giá của 3 sản phẩm đầu tiên
5. Trả về kết quả dạng bảng
"""
agent = Agent(task=task, llm=llm)
result = await agent.run()
print(result)
if __name__ == "__main__":
asyncio.run(run_market_research())
Khi chạy, bạn sẽ thấy trình duyệt tự mở, tự gõ phím và cuộn trang. Cảm giác giống như có một trợ lý thực sự đang ngồi thao tác thay bạn vậy.
Kinh nghiệm tối ưu để Agent chạy mượt và tiết kiệm tiền
Dùng AI Agent rất sướng, nhưng nếu không khéo, bạn sẽ thấy hóa đơn API tăng vọt. Đây là 3 kinh nghiệm mình rút ra sau khi triển khai cho dự án thực tế:
Kiểm soát việc gửi ảnh màn hình (Vision)
Mỗi lần Agent chụp ảnh màn hình gửi cho LLM, bạn sẽ mất một lượng token không nhỏ. Với các trang web thuần văn bản, hãy cấu hình Agent ưu tiên đọc cây DOM thay vì gửi ảnh liên tục. Việc này có thể giảm tới 40% chi phí cho mỗi lần chạy.
Xử lý đăng nhập thông minh
Đừng bắt Agent thực hiện bước đăng nhập mỗi lần chạy. Hãy sử dụng tính năng lưu browser_context. Bạn đăng nhập thủ công một lần, lưu session lại, và Agent sẽ dùng session đó để vượt qua các lớp bảo mật hoặc popup quảng cáo phiền phức.
Chia nhỏ nhiệm vụ (Task Decomposition)
Một câu lệnh quá dài khiến AI dễ bị lạc hướng. Thay vì yêu cầu “Nghiên cứu toàn bộ thị trường bàn phím”, hãy chia thành các bước nhỏ: “Lấy danh sách link”, sau đó “Truy cập từng link để lấy chi tiết”. Chia nhỏ giúp bạn dễ debug và Agent cũng hoạt động chính xác hơn.
Lời kết
AI Agent không còn là lý thuyết xa vời. Với Browser-use và LangChain, mình đã tiết kiệm được khoảng 2-3 tiếng mỗi tuần cho việc tổng hợp báo cáo giá. Dù đôi khi AI vẫn có những pha xử lý “ngáo” ở các trang web quá dị biệt, nhưng đây vẫn là hướng đi đầy tiềm năng. Hãy bắt đầu với các task nhỏ để thấy sức mạnh thực sự của nó.

