
Sora Fujimoto
AI Solutions Architect

capsolver-coreはPlaywrightスクリプトに最適、capsolver-agentはツールコールエージェントに最適、capsolver-mcpはMCP互換クライアントに最適。AIエージェントの公開入札データ収集には繰り返し可能なコードが必要であり、エージェントがブラウジングできるという曖昧な約束ではならない。 CapSolverはドキュメント化されたエージェント機能として統合されるべきである。ブラウザまたはモデルが検証チャレンジを検出すると、認可されたツールが処理し、元のユーザー承認タスクが有効な間のみエージェントが再開する。公式CapSolver AIドキュメントでは3つの実用的なレイヤーが説明されている。CapSolver for AI Agentsはアーキテクチャ、Core SDKブラウザモードはPlaywrightフロー、エージェントツールスキーマはモデル制御コール、MCPサービスツールはモデルコンテキストプロトコルでツールを検出するクライアントに最適。この記事では、コード、停止ルール、ロギングフィールドを含む、実用的な公開入札データ用AIエージェントワークフローにドキュメントを変換する。
CapSolver AIドキュメントでは3つのレイヤーが説明されている。所有モデルに合致する最も低いレイヤーを使用すること: ブラウザを制御するコードがある場合はCore SDK、モデルがツールコールを決定する場合はエージェントツール、AIクライアントがツールを自動的に検出する場合はMCPサービス。
pip install "capsolver-core[playwright] @ git+https://github.com/capsolver-ai/capsolver-core.git"
pip install git+https://github.com/capsolver-ai/capsolver-agent.git
pip install "capsolver-mcp[browser] @ git+https://github.com/capsolver-ai/capsolver-mcp.git"
playwright install chromium
export CAPSOLVER_API_KEY="your-capsolver-api-key"
イントロダクションとクイックスタートはパッケージの役割を説明する。capsolver-coreはエンジンを公開し、capsolver-agentはツールとしてラップし、capsolver-mcpはMCPクライアントに同じ機能を公開する。APIキーは環境設定に保持し、プロンプト、ログ、スクリーンショット、記事の例に含めないでください。
公開入札ポータルは検索ページ、通知詳細ページ、添付ファイル、受注更新を提供することが多い。AIエージェントは、検証チャレンジを処理する前に、これらのステップをソース契約に正規化するべきである。
source_contract = {
"portal": "city-procurement",
"allowed_paths": ["/bids", "/awards", "/notices"],
"public_records_only": True,
"max_challenge_attempts": 1,
}
def in_public_procurement_scope(url):
return any(path in url for path in source_contract["allowed_paths"])
この契約は公開入札データをAIエージェントに焦点を当て、ターゲットが公開記録からアカウント限定または制限コンテンツに変更された場合に実行を停止する。
capsolver-coreは、公開入札データを収集するAIエージェントフローが既にPlaywrightページを所有している場合に使用する。公式Core SDKの方法は、検出→CAPTCHA情報の読み込み→解決→ページにトークンを戻す。ページ構造が動的である場合に役立つ。
import asyncio
from capsolver_core import create_capsolver
from playwright.async_api import async_playwright
TARGET_URL = "https://example.gov/procurement/notices"
async def run_agent_step():
async with async_playwright() as pw:
browser = await pw.chromium.launch()
page = await browser.new_page()
await page.goto(TARGET_URL, wait_until="domcontentloaded")
async with create_capsolver(api_key="YOUR_CAPSOLVER_KEY") as cap:
captcha_types = await cap.detect(page)
if not captcha_types:
return "continue_without_challenge"
results = await cap.solve_on_page(page)
solved = [r for r in results if r.solution and not r.error]
if not solved:
return "stop_for_review"
return "resume_original_authorized_task"
asyncio.run(run_agent_step())
重要なエンジニアリングの詳細はトークンではなく、戻り値である。エージェントは元のタスクが法的に許容され、合理的でユーザー承認された場合にのみ継続するべきである。ページがプライベート、制限、機密、または承認されていないデータを要求した場合に停止する。
エージェントがMCP互換クライアント内で動作する場合はcapsolver-mcpを使用する。MCPサービスガイドはstdio、SSE、ストリーマブルHTTPトランスポートをドキュメント化し、solve_captcha、detect_captchas、solve_on_page、get_balance、get_supported_captchasなどのツールをリストアップしている。
capsolver-mcp --transport streamable-http --host 127.0.0.1 --port 8000
{
"mcpServers": {
"capsolver": {
"command": "capsolver-mcp",
"env": {
"CAPSOLVER_API_KEY": "YOUR_CAPSOLVER_KEY"
}
}
}
}
公開入札データをAIエージェントで収集する場合、MCPは複数の開発者が異なるクライアントを使用するが、1つのレビュー対象ツール表面が必要な場合に最も強力である。サービス名を安定させ、キーをプロンプト外に保存し、リクエストID、ターゲットURL、チャレンジタイプ、試行回数、最終状態を含むツールコールをログに記録すること。
CapSolverのボーナスコードを取得する
自動化予算を即座に増やす!
CapSolverアカウントにチャージする際にボーナスコード CAP26 を使用すると、毎回チャージで5%のボーナスが追加される—制限なし。
CapSolverダッシュボードで今すぐ利用
どのチャレンジツールを呼び出す前に、ユーザーがタスクを承認したか、ターゲットが承認されたドメインリスト内か、アクセス中のデータが公開またはその他の許可があるかを確認する。公開入札データをAIエージェントで収集するワークフローは、技術的機能を許可として扱ってはならない。
小さなリトライ予算を使用する。1つのブラウザ状態リトライと1つのクールダウンリトライで十分である。繰り返されるチャレンジイベントは、静かに継続する代わりにレビュー用のチケットを作成すべきである。
URL、タイムスタンプ、チャレンジタイプ、CapSolverパッケージパス、試行回数、結果状態、最終ページ状態をキャプチャする。ポリシーが明示的に許可している場合を除き、関係のないページコンテンツ、資格情報、セッションシークレット、個人データを保存しないでください。
公開入札データをAIエージェントで収集する場合、実行を法的に証明可能な状態に保つこと: HTTPステータスコードの動作、アクセシビリティ要件、プライバシーリスク管理、および公開データの管理を尊重すること。
強力な公開入札データ用AIエージェント記事は実際の実装経路を示すべきであり、強力なプロダクションワークフローも同様である。実用的な選択は単純である: ブラウザ自動化をコード所有で行う場合はcapsolver-core、ツールコールエージェントはcapsolver-agent、MCP互換クライアントはcapsolver-mcpを使用する。チャレンジ処理を制限付き、ログ記録付き、法的ユーザー承認作業に結びつける。チームがエージェントワークフローに復元レイヤーを追加する準備ができている場合、CapSolverと公式AIエージェントドキュメントから始める。
アプリケーションがブラウザコードを所有している場合はcapsolver-coreを使用し、モデルがツールコールを決定する場合はcapsolver-agentを使用し、AIクライアントがMCPを通じてツールを検出する場合はcapsolver-mcpを使用する。
いいえ。モデルはツールコールを要求できるが、アプリケーションがスコープ、リトライ制限、停止条件を強制するべきである。
いいえ。CAPTCHA処理は権限を提供しない。法的、合理的、ユーザー承認されたワークフローで、サイトの利用規約とデータ権を尊重する場合にのみ使用する。
ソースURL、チャレンジタイプ、ツールパス、試行回数、結果状態、最終ページ状態をログに記録する。資格情報や関係のないページコンテンツをログに含めないでください。
スケーラブルなRustウェブスクレイピングアーキテクチャを学びましょう。リクエスト、スクレイパー、非同期スクレイピング、ヘッドレスブラウザスクレイピング、プロキシローテーション、およびコンプライアンス対応のCAPTCHA処理で。

2026年のデータ・アズ・ア・サービス(DaaS)を理解する。その利点、ユースケース、およびリアルタイムの洞察と拡張性を通じて企業を変革する方法について探る。
