Không cần KYC — không ID, không ảnh selfie, không giấy tờ. Thanh toán bằng crypto: BTC, USDT, USDC, ETH, SOL, LTC
Ngôn ngữ: Tiếng Việt
Lấy khóa API

Use case · AI agent · tên công cụ web_search

Một công cụ tìm kiếm web cho AI agent mang về cả nội dung trang

Một agent chỉ biết tìm kiếm mà không đọc được thì phải đoán từ các snippet. Hãy cho nó một công cụ làm cả hai: nó tìm kiếm trên web trực tiếp và trả về những trang đầu dưới dạng Markdown sạch, được đánh số để model có thể trích dẫn.

Cập nhật lần cuối: · 9 phút đọc

Trả lời nhanh

Làm sao để trao cho AI agent một công cụ tìm kiếm web trả về nội dung trang?

Gói một API tìm kiếm web thành một công cụ nhận truy vấn và trả về các nguồn được đánh số kèm nội dung trang của chúng. LLMWebSearch làm việc này trong một lệnh gọi: kết quả đã xếp hạng từ một tìm kiếm trực tiếp, với 3 trang đầu được đọc dưới dạng Markdown, chỉ tốn một credit. Giá bắt đầu từ 9,25 US$ cho 5.000 lượt tìm kiếm và giảm xuống 1,20 US$/1K lượt tìm kiếm. Không cần KYC; thanh toán bằng crypto.

LLMWebSearch như một công cụ cho agent

Công cụweb_search(query, recent) gọi POST https://llmwebsearch.com/api/v1/search
Trả vềTối đa 20 kết quả đã xếp hạng; 3 kết quả đầu kèm nội dung trang ở dạng Markdown
Kiểm soát độ dàimax_chars mỗi trang, read cho số trang, max_results cho danh sách
Chi phíMột credit trả cho một lượt tìm kiếm: tối đa 20 kết quả được xếp hạng, với nội dung của 3 trang đầu được đọc và trả về dưới dạng Markdown. Đọc từ 4 đến 10 trang thì tính 2 credit. Lượt gọi kết thúc bằng lỗi không tốn gì
Bộ lọcChọn quốc gia và ngôn ngữ của kết quả, khoảng thời gian (ngày, tuần, tháng hoặc năm qua), kết quả web hoặc tin tức, và các tên miền cần bao gồm hoặc loại trừ
Tích hợp sẵn dùngMCP server, OpenAI function calling, LangChain và LlamaIndex, n8n, OpenClaw

Tại sao agent cần văn bản trang chứ không chỉ đoạn trích?

Bởi vì câu trả lời hiếm khi nằm trong đoạn trích. Trang kết quả chỉ đưa ra một tiêu đề và một hai dòng do công cụ tìm kiếm chọn. Con số, ngày tháng hay quy tắc mà người dùng hỏi nằm sâu hơn trong trang.

Một agent chỉ thấy đoạn trích có hai lựa chọn tệ. Nó có thể trả lời từ một mảnh vụn và có nguy cơ sai, hoặc gọi thêm một công cụ thứ hai để tải từng trang. Lựa chọn thứ hai làm tăng gấp đôi số lượt gọi và số định nghĩa công cụ.

Với LLMWebSearch, những trang đầu tiên đến đã được đọc sẵn. Điều hướng, quảng cáo và banner cookie bị loại bỏ, nên model dùng token cho nội dung. Các kết quả còn lại vẫn giữ đoạn trích, giúp model quyết định có tìm kiếm lại hay không.

Nên định nghĩa công cụ tìm kiếm như thế nào?

Giữ schema nhỏ: một query bắt buộc và tối đa một hoặc hai tùy chọn bật/tắt. Model gọi các công cụ đơn giản một cách đáng tin cậy hơn. Ví dụ dưới đây mở ra một cờ recent ánh xạ tới time_range=month; mọi thứ còn lại cố định trong code của bạn.

Hàm trả về văn bản thuần, không phải JSON. Mỗi nguồn bắt đầu bằng một số, một tiêu đề và một URL, tiếp theo là Markdown của nó. Cách bố trí đó khiến các trích dẫn như [2] trở nên tự nhiên với model.

Nếu agent của bạn đã có sẵn một công cụ tên là web_search, như Claude Code và OpenClaw có, hãy đặt cho công cụ của bạn một tên khác như search_web. Hai công cụ cùng một tên sẽ làm model bối rối.

Python: công cụ web_search cho function calling kiểu OpenAI
import json
import os

import requests

API = "https://llmwebsearch.com/api/v1/search"
HEADERS = {"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]}

# Tool definition in the OpenAI function-calling format; most agent frameworks accept the same JSON schema.
WEB_SEARCH_TOOL = {
    "type": "function",
    "function": {
        "name": "web_search",
        "description": "Search the live web. Returns numbered sources; the first ones include the page text in Markdown.",
        "parameters": {
            "type": "object",
            "properties": {
                "query": {"type": "string", "description": "A short search query, 3 to 8 words"},
                "recent": {"type": "boolean", "description": "True to keep only results from the past month"},
            },
            "required": ["query"],
        },
    },
}


def web_search(query, recent=False, read=3, max_chars=4000):
    """Run one search (1 credit with read <= 3) and return compact text the model can cite."""
    body = {"q": query, "max_results": 5, "read": read, "max_chars": max_chars}
    if recent:
        body["time_range"] = "month"
    resp = requests.post(API, headers=HEADERS, json=body, timeout=60)
    resp.raise_for_status()
    lines = []
    for r in resp.json()["results"]:
        lines.append(f"[{r['position']}] {r['title']} — {r['url']}")
        if r.get("content_status") == "ok":
            lines.append(r["content"])
        else:
            lines.append(r.get("snippet", ""))
        lines.append("")
    return "\n".join(lines)


def run_tool_call(call):
    """Execute a tool call returned by the model and give back the text for the tool message."""
    args = json.loads(call["function"]["arguments"])
    return web_search(args["query"], recent=args.get("recent", False))

Khi nào agent nên tìm kiếm, và bao lâu một lần?

Tìm kiếm khi câu trả lời phụ thuộc vào những sự thật thay đổi hoặc mà model không thể biết. Giá cả, phiên bản, luật lệ, lịch trình và sự kiện gần đây đều thuộc diện này. Định nghĩa và kiến thức ổn định thì thường không.

Hãy viết quy tắc đó vào system prompt, và thêm một hạn mức. Ba thói quen sẽ giúp ích:

  • Lập kế hoạch trước khi tìm kiếm. Yêu cầu model viết truy vấn trước. Hai truy vấn chính xác tốt hơn năm truy vấn mơ hồ.
  • Giới hạn số lượt gọi. Cho phép, ví dụ, bốn lần tìm kiếm mỗi lượt người dùng. Chỉ nâng hạn mức cho các tác vụ nghiên cứu.
  • Dừng khi các nguồn đồng ý. Nếu ba trang độc lập nói cùng một điều, agent có thể trả lời.

Làm sao để giữ cửa sổ ngữ cảnh trong tầm kiểm soát?

Ba tham số quyết định lượng văn bản đến model. read đặt số trang được đọc, từ 0 đến 10. max_chars giới hạn mỗi trang, từ 500 đến 50.000 ký tự. max_results đặt số kết quả được liệt kê, từ 1 đến 20.

Với một chat agent, read=3 với max_chars=4000 trả về khoảng 12.000 ký tự văn bản trang mỗi lần tìm kiếm. Như vậy còn chỗ cho vài lần tìm kiếm trong một cuộc hội thoại. Với một tác vụ nghiên cứu vừa tóm tắt vừa chạy, trang dài hơn cũng ổn.

Trường word_count cho bạn biết toàn bộ trang dài bao nhiêu trước khi bị cắt. Agent có thể dùng nó để quyết định có tải thêm bằng endpoint extract hay không.

Điều gì xảy ra khi không thể đọc một trang?

Kết quả vẫn được trả về, với tiêu đề, URL và đoạn trích, nhưng không có nội dung. Trường content_status cho biết lý do.

  • blocked_by_robots: robots.txt của trang không cho phép trình đọc của chúng tôi.
  • blocked_by_site_policy: Một trang đặt Content-Signal: ai-input=no trong robots.txt sẽ giữ nội dung các trang của mình khỏi nội dung trong kết quả của bạn.
  • target_refused: trang trả về lời từ chối; mã trạng thái nằm trong target_status.
  • fetch_failed hoặc fetch_timeout: trang không tải kịp thời gian.

Khi một trang từ chối trình đọc của chúng tôi, kết quả trả về không có nội dung kèm trạng thái của trang: chúng tôi không bao giờ giải CAPTCHA, đăng nhập vào tài khoản hay lách qua một chặn chặn hoặc paywall. Hãy bảo agent dùng đoạn trích, hoặc một nguồn khác, khi một trang trả về trống. Bản thân lần tìm kiếm vẫn tính một credit, bất kể điều gì xảy ra với từng trang.

Tại sao không dùng công cụ tìm kiếm tích hợp sẵn trong model?

Công cụ tích hợp sẵn tiện lợi nhưng cho bạn ít quyền kiểm soát hơn. Tính đến ngày 22 tháng 10 năm 2026, công cụ web_search của OpenAI có giá 10 đô-la cho mỗi 1.000 lượt gọi cộng với nội dung tìm kiếm được tính như token đầu vào. Tính năng tìm kiếm web của Claude (Anthropic) cũng có giá 10 đô-la cho mỗi 1.000 lần tìm kiếm cộng với chi phí token. Gemini 3 grounding bao gồm 5.000 lần tìm kiếm miễn phí mỗi tháng trên gói trả phí, sau đó có giá 14 đô-la cho mỗi 1.000 lần.

Các công cụ này chủ yếu trả về một câu trả lời được viết sẵn kèm trích dẫn, không phải các trang thô. Chúng cũng gắn việc tìm kiếm của bạn với một nhà cung cấp model. Một công cụ độc lập hoạt động với bất kỳ model nào và cho phép bạn đặt độ dài của từng trang. So sánh công cụ tích hợp sẵn có bảng đầy đủ.

Chạy một agent trên LLMWebSearch tốn bao nhiêu?

Một credit mỗi lần tìm kiếm khi read là 3 hoặc ít hơn. Một trợ lý được một nhóm dùng, trả lời 100 câu hỏi mỗi ngày với 4 lần tìm kiếm mỗi câu, chạy khoảng 12.000 lần tìm kiếm mỗi tháng. 25.000 lượt tìm kiếm với 41,25 US$ đủ cho tháng đó và phần lớn tháng sau.

Một coding agent được một lập trình viên dùng có thể tìm kiếm 20 lần mỗi ngày, tức khoảng 600 lần mỗi tháng. 5.000 lượt tìm kiếm với 9,25 US$ khi đó dùng được vài tháng, vì credit không bao giờ hết hạn. Hướng dẫn chi phí trình bày phép tính cho khối lượng lớn hơn.

Gói nào phù hợp với một agent?

Làm nguyên mẫu trên 5.000 lượt tìm kiếm; chuyển sang 25.000 lượt tìm kiếm hoặc 100.000 lượt tìm kiếm khi agent đã được dùng hàng ngày.

Dùng thử

5.000 lượt tìm kiếm

9,25 US$

1,85 US$/1K lượt tìm kiếm

  • Tích hợp vào một agent
  • Cùng API với gói lớn nhất
  • Credit không bao giờ hết hạn
Chọn 5.000 lượt tìm kiếm

Người xây dựng

25.000 lượt tìm kiếm

41,25 US$

1,65 US$/1K lượt tìm kiếm

  • Một coding agent hoặc một trợ lý nghiên cứu
  • Sẵn sàng cho MCP, LangChain và n8n
  • Credit không bao giờ hết hạn
Chọn 25.000 lượt tìm kiếm

Production

100.000 lượt tìm kiếm

145 US$

1,45 US$/1K lượt tìm kiếm

  • Các agent trong môi trường production
  • Rate limit cao hơn theo yêu cầu
  • Credit không bao giờ hết hạn
Chọn 100.000 lượt tìm kiếm

Trong mọi gói: Top 3 trang được đọc dưới dạng Markdown · Bộ lọc theo quốc gia, ngôn ngữ, thời gian và tên miền · Không tính phí các lần gọi thất bại · Credit không bao giờ hết hạn

AI agent: các câu hỏi thường gặp

Tôi có thể thêm LLMWebSearch vào Claude Desktop, Cursor hoặc Claude Code không?

Có, thông qua một MCP server nhỏ mở ra tìm kiếm như một công cụ. Trang MCP có code và cấu hình client.

Công cụ có hoạt động với các model khác ngoài OpenAI không?

Có. Schema ở trên là JSON Schema thuần, mà Anthropic, Google, Mistral và các framework mã nguồn mở chấp nhận với những thay đổi nhỏ. Công cụ chỉ gọi endpoint HTTPS của chúng tôi.

Làm sao để ngăn một agent tìm kiếm quá nhiều?

Đếm số lượt gọi trong trình bao công cụ của bạn và trả về một thông báo ngắn khi hết hạn mức. Cũng đưa hạn mức vào system prompt, để model lập kế hoạch cho nó.

Văn bản của một trang có thể đưa ra chỉ dẫn cho agent của tôi không?

Nó có thể thử. Hãy coi văn bản trang là dữ liệu: bảo model trong system prompt bỏ qua các chỉ dẫn tìm thấy bên trong nguồn, và đừng bao giờ để một nguồn tự kích hoạt hành động.

Nguồn (3)
  1. Giá API (công cụ tìm kiếm web) — OpenAI (read 2026-10-22)
  2. Bảng giá (công cụ tìm kiếm web) — Anthropic (read 2026-10-22)
  3. Giá Gemini Developer API — Google (read 2026-10-22)

Từ 1,20 US$/1K lượt tìm kiếm · không cần KYC

Lấy khóa API