AIプログラミングアシスタントにバグを修正してもらいましょう。ファイルを読み取り、ツールを呼び出し、コードを変更しましたが、最終的には間違った修正を行ってしまいました。
この場合、「注意深く確認してください」「文脈を無視しないでください」「再分析してください」と追加し続けるのは簡単です。
ただし、プロンプトの単語を変更する前に、確認する価値のある別の質問があります。モデルはこのラウンドで具体的に何を受け取りましたか?
チャット ボックスに入力したリクエストはリクエストの一部にすぎません。システム プロンプトの単語、履歴メッセージ、ツール定義、ファイルの内容、およびツールの実行結果は、次のステップに影響を与える可能性があります。最終的な回答を見るだけでは、どこで問題が発生したかを判断するのは困難です。
この記事ではオープンソースツールを紹介します CCグラス: ローカル エージェントと Web パネルを通じて AI プログラミング アシスタントとモデル間のリクエストを観察し、問題のトラブルシューティングのためのより直接的な基礎を提供します。
プロジェクトアドレス: jianshuo/ccglass。
1.「なぜそのような答えになったのか」から「何が見えたのか」へ。
一般的なタスクを例に挙げます。
ログインインターフェースのパラメータ検証の問題を修正し、テストを追加しました。
エージェント タスクは次のサイクルを実行します。
用户提出任务
↓
客户端组织提示词、历史消息和工具定义
↓
模型返回工具调用
↓
本地执行搜索、读文件等操作
↓
工具结果进入后续请求
↓
模型继续分析、修改和验证
最終結果が正しくない場合は、次のリンクに沿って段階的に確認できます。
- 本当に関連性のある文書が検索結果に表示されますか?
- ツールによって返されたコンテンツは後続のリクエストに入力されますか?
- リクエスト内のツール パラメーターの定義は期待どおりですか?
- 後続のコンテキストはキー制約を保持しますか?
これらのチェックでは、すべてのコード ロジックを判断できるわけではありませんが、トラブルシューティングの範囲を絞り込むのに役立ちます。たとえば、モデルがキー ファイルのコンテンツを受信しない場合、およびコンテンツを受信してもそれを正しく理解していない場合は、異なる処理方法が必要になります。
2. ccglass ではどのような情報が表示されますか?
ccglass の主な形式は、「ローカル リクエスト記録プロキシ + ブラウザ パネル」です。サポートされているアクセス方法では、クライアント要求をローカル プロキシに送信し、トラフィックを記録してパネルに表示します。
プロジェクトのドキュメントと組み合わせると、その用途は次のカテゴリに分類されます。
| 調査すべき問題点 | 閲覧できる情報 |
|---|---|
| モデルは必要な情報を受け取りましたか? | システムプロンプトワード、メッセージ履歴、リクエスト本文 |
| ツールが期待どおりに動作しないのはなぜですか? | ツールの定義、呼び出し内容、および返される結果 |
| コンテキストがますます大きくなるのはなぜですか? | 隣接するリクエスト、入力トークンと出力トークンの違い |
| どのラウンドが遅くなり始めたり、より高価になり始めますか? | リクエスト時間、キャッシュ情報、および推定コスト |
| 捜査証拠をどのように保管するか? | 元のリクエスト/レスポンスとエクスポートされたコンテンツ |
で、ラウンドごとのリクエストの比較長いタスクのトラブルシューティングに非常に適しています。まず、異常な動作をしているラウンドを見つけて、次に、前のラウンドと比較してどのようなコンテンツが追加されているかを確認します。
これらの機能とアクセス方法は、プロジェクトの README に記載されています。

3. インストールと起動
プロジェクトには Node.js 18 以降が必要です。まず、監視する AI プログラミング クライアントとその認証構成を準備し、次に ccglass をインストールします。
npm install -g ccglass
インタラクティブな選択を開始します。
ccglass
たとえば、クロード コードを観察するなど、クライアントを直接指定することもできます。
ccglass claude
起動後、ターミナルの出力に従ってダッシュボードを開き、クライアントで簡単なタスクを実行すると、プロキシされたリクエストの表示を開始できます。
初めて使用する場合は、「関数のパラメータと戻り値を説明する」など、スコープが小さいタスクを選択することをお勧めします。リクエストラウンドが少なくなると、入力、ツール呼び出し、結果のマッピングが容易になります。
4. トラブルシューティングの例: エージェントが間違ったファイルを変更したのはなぜですか?
以下は、トラブルシューティングのアイデアを説明するための仮想シナリオであり、実際の測定結果ではありません。
エージェントにログイン検証を修正するよう依頼しましたが、登録ロジックが変更されました。このとき、以下の順序で確認できます。
ステップ 1: エラー方向の前にリクエストを見つけます。
最終回だけを見ないでください。まず、エージェントがファイルを検索してコードを読み取る場所を見つけて、どのような情報を取得するかを確認します。
ステップ 2: ツール呼び出しのパラメータと結果を確認します。
たとえば、検索範囲が広すぎませんか?キーワードはログイン モジュールと登録モジュールの両方にヒットしますか?返されたコンテンツは 2 つのモジュールを区別するのに十分ですか?
検索自体が的を外している場合、最終的な回答の形式を改良し続けても、通常は問題は解決されません。
ステップ 3: ツールの結果が後続のリクエストを入力することを確認します。
読み取り操作がローカルで実行されたからといって、後続の各ラウンドでモデルが関連するコンテンツを保持していると直接結論付けることができるわけではありません。キャプチャされた実際のリクエストに基づく必要があります。
ステップ 4: 前後の 2 つのラウンドのコンテキストを比較します。
どのような新しいメッセージが追加されたか、および主要な制約がまだ存在しているかどうかを観察します。入力トークンが大幅に増加する場合は、無関係なコンテンツが大量に導入されていないか確認してください。
ステップ 5: 証拠に基づいて調整します。
主要なファイルが欠落している場合は、パスを補足するか、タスクの範囲を狭めます。ツールの説明に曖昧さがある場合は、ツール定義を調整します。コンテキストは完成しているが、推論にまだ問題がある場合は、プロンプト ワード、タスクの分割、またはモデルの選択を検討してください。
この利点は、すべての調整に明確な根拠があり、それが効果的かどうかを検証しやすいことです。
5. アクセスする前に、クライアントの動作モードを確認してください。
異なるクライアントのアクセス条件はまったく同じではありません。初めての体験に影響を与えやすいものが 2 つあります。
Codex: 認証モードに注意してください。
ccglass の現在の README によると、Codex のトラフィック キャプチャは API キー モードに適しています。 ChatGPT ログイン モードの接続方法は、使用するベース URL 設定をバイパスする場合があります。したがって、パネルからの要求がない場合には、まずアクセス条件を確認する必要があります。詳細については、プロバイダーの説明を参照してください。
IDE: カスタム API ベース URL をサポートする必要があります。
この構成をサポートする IDE またはプラグインの場合、スタンドアロン エージェントを起動できます。
ccglass proxy --provider openai
次に、IDE の API ベース URL を端末によって出力されるプロキシ アドレスに設定し、対応するダッシュボードを開きます。
このアプローチには明確な前提があります。クライアントは、構成可能なアドレスを持つモデル インターフェイスを使用する必要があります。このことから、すべての IDE 組み込みサブスクリプション モデルにアクセスできるかどうかは推測できません。特定の条件については、IDE アクセスのドキュメントを参照してください。
6. 観察結果を再利用可能なデバッグ記録に変える
検査が完了したら、簡単な記録を保存できます。
任务:修复登录接口的参数校验
异常:Agent 转而修改注册模块
证据:某轮搜索结果混入了两个模块,后续只读取了注册文件
调整:明确登录模块路径,缩小搜索范围
验证:检查新的请求内容,并运行相关测试
この種の記録は、「今日はモデルの状態が良くありません」よりも再現しやすく、チーム内での議論に適しています。
リソース消費も分析したい場合は、リクエストの内容をトークン、キャッシュ、および時間のかかる情報と組み合わせることができます。料金フィールドは見積もりの参考として使用する必要があり、最終的な請求書はサービス プロバイダーの影響を受けます。
ログやスクリーンショットを共有するときは、コードや業務内容にも注意する必要があります。プロジェクトはデフォルトで認証トークンをマスクしますが、これはリクエスト本文内のすべての機密情報が自動的に解除されることを意味するわけではありません。関連する動作については、ログの説明を参照してください。
7. 経験する小さなタスクから始めます
AI プログラミング アシスタントを使用している場合、またはモデルやツールを呼び出す必要があるエージェントを開発している場合は、まず再現しやすい小さなタスクを選択し、ccglass を使用して完全なリクエスト プロセスを観察できます。
モデルがどのような情報を受け取るか、ツールの結果が次のラウンドにどのように進むか、タスクの進行に伴ってリクエストの内容がどのように変化するかという 3 つのことに注目してください。
これらのプロセスが可視化されると、当初は曖昧だった「AI が迷走した」という問題の多くが、具体的で検証可能な問題に変換されるようになります。
GitHub:jianshuo/ccglass
デバッグ作業に役立つ場合は、Star でサポートしてください。互換性の問題が発生した場合、または機能に関する提案がある場合は、クライアント タイプ、アクセス方法、および感度解除後の再発情報を添付して問題を送信することもできます。