
Sora Fujimoto
AI Solutions Architect

reCAPTCHAによってブロックされたLangChainエージェントは、通常、あなたのツールがチャレンジページを取得していることを意味します。これは望んでいたデータではなく、エージェントがCAPTCHA HTMLを理由づけ、間違った答えを生成します。これはリトリーブの失敗であり、モデルの失敗ではありません。修正には、チャレンジを検出し、ソルバーサービスから有効なreCAPTCHAトークンを取得し、そのトークンをリクエストに再度送信してサイトに実際のコンテンツを返す必要があります。このガイドでは、チャレンジが表示される理由、LangChainワークフロー内でどのように処理するか、そしてチャレンジの頻度を下げる方法について説明します。CapSolverなどのツールは、シンプルなAPIを通じてトークンの応答を提供します。これらの方法は、アクセスを許可されたサイトでのみ使用してください。
reCAPTCHAによってブロックされたLangChainエージェントは、LangChainのバグではなく、リスク管理の結果です。サイトが訪問が自動化されていると判断すると、コンテンツを返す前にreCAPTCHAチャレンジを提供します。あなたのエージェントのフェッチツールはそのチャレンジページを受け取り、モデルに渡します。モデルは独自に視覚的またはトークンベースのタスクを完了できません。
ほとんどのブロックを引き起こす4つのシグナルがあります:
reCAPTCHA v3は、これらのシグナルに基づいて0.0から1.0のスコアを割り当て、GoogleのreCAPTCHA v3ドキュメントで説明されているように、低い値は自動化の可能性を示します。低いスコアは、あなたのLangChainエージェントを直接チャレンジに送ります。
エージェントが悪いデータで推論する前にブロックを検出してください。reCAPTCHAによってブロックされたLangChainエージェントは、応答で予測可能なマーカーを受け取ります。カスタムツール内でそれらをチェックしてください。
次の兆候を確認してください:
g-recaptcha、grecaptcha、またはgoogle.com/recaptchaからのiframeが含まれています。取得を行うツール内でこのチェックをラップしてください。チェックが一致した場合、ページをソルビングステップにルーティングし、エージェントに返さないでください。これにより、reCAPTCHAによってブロックされたLangChainエージェントがチャレンジHTMLをチェーンに渡すのを防ぎ、答えのないページでトークンを無駄に消費することを防ぎます。
ブロックを3段階で修正します: 検出、解決、再送信。解決ステップでは、あなたのLangChain自動化が遭遇したチャレンジ用のreCAPTCHAトークンが生成されます。
チャレンジページからサイトキーとページURLを読み取ります。reCAPTCHAサイトキーは、通常、ページHTML内のdata-sitekey属性やreCAPTCHAスクリプト呼び出しに表示されます。reCAPTCHA v3の場合、アクション名も必要です。
サイトキーとページURLをソルバーアプリケーションに送信します。サービスがチャレンジを処理し、トークン文字列を返します。このフローの公式タスクパターンは、CapSolver reCAPTCHAタスクリファレンスに記載されています。パラメータを勝手に作成しないでください。ページのチャレンジバージョンに一致するタスクタイプを使用してください。
サイトが期待するフォームフィールドまたはリクエストペイロードに返されたトークンを配置し、通常はg-recaptcha-response、その後に再送信します。サイトはサーバーサイドでトークンを検証し、実際のコンテンツを返します。あなたのLangChainツールは、エージェントにクリーンなデータを戻すことができます。
CapSolverのボーナスコードを引き換える
自動化予算を即座に増やす!
CapSolverアカウントにチャージする際にボーナスコードCAP26を使用すると、すべてのチャージで5%のボーナスが追加されます—制限なし。
CapSolverダッシュボードで今すぐ引き換えてください。
ソルビングステップを専用ツールとして公開し、エージェントが必要なときにのみ呼び出せるようにします。クリーンな分離により、チェーンが読みやすく、リトライのコストが安くなります。
実用的なパターン:
この設計により、reCAPTCHAによってブロックされたLangChainエージェントは、1つの推論ループ内で回復し、タスクを失敗させません。ブラウザ駆動のフローでは、同じトークンをエージェントが制御するPlaywrightまたはSeleniumセッションに挿入できます。
すべてのチャレンジを解決するには時間と予算がかかります。まず、チャレンジの出現頻度を下げることで、あなたのLangChainエージェントが最初からより少ないチャレンジに遭遇するようにします。
これらの制御を適用してください:
これらのステップにより、reCAPTCHA v3スコアが上がり、reCAPTCHAによってブロックされたLangChainエージェントがソルビングパスを必要とする回数が減ります。ソルバーの選択がエージェントスタックにどのように適合するかの深い洞察が必要な場合は、エージェントインフラストラクチャ用のCAPTCHAソルバーの選択に関するこのガイドを参照してください。
| アプローチ | チャレンジを処理しますか? | 最適な用途 | バランス |
|---|---|---|---|
| より良いプロキシとヘッダー | 減らす、解決しない | チャレンジの頻度を下げる | 严格的なサイトではチャレンジが still 出現します |
| 手動レビュー | はい、ゆっくりと | 一時的なタスク | エージェントループではスケールしません |
| ソルバーアプリケーションのトークンフロー | はい | 自動化されたLangChainパイプライン | 統合と予算が必要です |
| 実際のブラウザコンテキストのみ | ときどき | JavaScriptスコアリングサイト | 難易度の高いチャレンジが発生するとブロックされます |
reCAPTCHAによってブロックされたLangChainエージェントは、明確な解決策を持つリトリーブの問題です: チャレンジを検出し、ソルバーサービスから有効なトークンを取得し、挿入し、リクエストを再送信してサイトに実際のデータを返します。チャレンジの頻度を低く保つために、住宅用プロキシ、現実的なヘッダー、そして合理的なペーシングを組み合わせてください。常に、この作業を許可されたサイトとデータに限定してください。技術的な能力は許可を意味しません。エージェントに信頼できるトークン解決を追加する準備ができたら、CapSolverはLangChainツールに直接適合するAPIを提供しています。
なぜ私のLangChainエージェントはデータではなくCAPTCHAページを返すのですか?
サイトが自動化されたトラフィックを検出し、コンテンツの前にチャレンジを提供しました。あなたのフェッチツールはそのチャレンジページを受け取りました。それを検出し、トークンを解決し、再送信して実際のページを取得してください。
LangChainはreCAPTCHAを独自に解決できますか?
いいえ。言語モデルはreCAPTCHAチャレンジを解決できません。有効なトークンを返す解決ステップが必要であり、そのトークンをあなたのLangChainツールがリクエストに挿入します。
より良いプロキシだけでブロックを解決できますか?
完全にはできません。住宅用IP、クリーンなヘッダー、ペーシングにより、チャレンジが発生する頻度は低下しますが、厳格なサイトでは依然としてチャレンジが発生するため、トークン解決のパスも必要です。
チャレンジを解決するために必要な情報は何ですか?
ページからreCAPTCHAサイトキー、完全なページURL、およびreCAPTCHA v3の場合のアクション名が必要です。これらの情報をソルバーに送信してトークンを取得してください。
自動化でreCAPTCHAを処理することは合法ですか?
あなたの所有または許可されたサイトでのみ可能です。チャレンジを処理することは、制限付き、プライベート、または許可されていないデータを収集する権限を提供しません。
LangChainエージェントにおけるCAPTCHAエラーを修正し、ブラウザセッション、構造化されたツールエラー、AWS WAFトークンの処理、リトライ、および適切なCapSolverの統合を含む。

ヘラメスエージェントとCapSolverを使用して、AIブラウザ自動化ワークフローでCAPTCHAを解く方法を学びます。このガイドでは、複雑なコードを書かずに自動化されたブラウジング環境でリカプチャやその他の現代的なCAPTCHAシステムを自動処理するためのCapSolverの統合方法が説明されています。
