RE:CZ

CZONリンクチェック機能とAI修復の課題と解決策

トラブルシューティング

👤 ソフトウェア開発者、AIツール利用者、技術文書管理者
本稿では、CZONリンクチェック機能の開発プロセスを詳細に記録し、初期のデッドリンクチェック実装からAI修復時の問題発見までを網羅しています。著者は、AIによるリンク修復時に主に2つの問題があると指摘しています。1つは、デフォルトでプロジェクト全体のファイルをスキャンしないこと、もう1つは相対パスの理解が不十分なことです。これにより、AIがリンクをコンパイル出力ディレクトリに変更したり、シンボリックリンクを作成したりするなどの誤りが発生しました。著者は問題の根源を分析し、解決策として、AIに問題ファイルに基づく相対パスの候補リストを提供し、AIがプロジェクト全体をスキャンしたり、相対パスを独自に解釈したりするのを防ぐことを提案しました。最終的に、CZON 0.9.1バージョンで500件のリンクエラーが正常に修正され、著者はコンパイルチェックがAI修復と相互補完的に機能する必要があると結論付け、AIに適したチェック出力フォーマットを設計しました。
  • ✨ CZONはリンクチェック機能を実装したが、AI修復時に誤りが発生
  • ✨ AIは相対パスの理解が不十分で、デフォルトでプロジェクト全体をスキャンしない
  • ✨ 解決策は、AIに問題ファイルに基づく相対パスの候補リストを提供すること
  • ✨ コンパイルチェックはAIに適したフォーマットで設計する必要がある
  • ✨ CZON 0.9.1バージョンで500件のリンクエラーが正常に修正された
📅 2026-02-09 · 1,214 文字 · 約 5 分で読めます
  • CZON
  • リンクチェック
  • AI修復
  • 相対パス
  • コンパイルチェック
  • MiniMax M2.1
  • OpenCode

現在は2026年2月9日、午後です。

前回お話しした通り、CZONはリンクチェック機能を実装しましたが、その過程でいくつかの小さな出来事がありました。 最初は、リンク切れのチェックと、プロジェクト範囲外へのリンクを許可しないチェックのみを実装しました。いくつかのリンク切れを検出することに成功し、そのエラー情報をOpenCode + MiniMax M2.1に渡して修正させました。

典型的なケースは次の通りです:.czon/AIGC/SUMMARY/summary-popular.mdの中で、../LOGS/25.mdが参照されていますが、実際にはこれはAIの幻覚であり、このリンクは存在しません。 実際のファイルはLOGS/25.mdにあり、相対パスを使用した参照は../../../LOGS/25.mdであるべきです。

結果として、MiniMax M2.1の修正は非常に愚かなものでした。最初にプロジェクト全体をスキャンし、.czon/src/zh-Hans/LOGS/25.mdが存在することを発見すると、参照を../src/zh-Hans/LOGS/25.mdに変更してしまいました。

これはリンクをコンパイル出力ディレクトリに向けて変更しており、明らかに間違っています。

そこで、リンクチェックのルールを追加し、.czon/src以下のファイルを参照することを許可しないように要求しました。

結果、AIは.czon/dist以下のファイルを探し始めました。これはさらに出力後の出力(HTML静的リソースファイル)です。私が中断した後、AIは明らかに混乱し、シンボリックリンクを作成したり、元のファイルをあちこちにコピーしたりして、リンクチェックを通過させようとしました。しかし実際には環境はますます悪化し、新しいファイルがさらに多くのリンクエラーを作り出しました。私はすべてを中断し、環境全体を復元するしかありませんでした。AIよ、ごめんなさい。君をバカだと言ったのは、私も一時の怒りだったんだ。

さて、本当の問題は以下の点です。

  1. AI Agentはデフォルトではプロジェクト全体のファイルをスキャンしません。これはOpenCodeの設計シナリオに起因するもので、非常に大きなプロジェクトを扱うことが多く、デフォルトですべてのファイルをスキャンすることは不可能です。
  2. AI自体が相対パスを十分に理解していません。これは、AIの思考プロセスの中で、いくつかのスクリプトを実行して実験することで相対パスの概念を把握しようとしているのを見て気づきました。(ちなみに、私も多くの../..の後の結果を直感的に理解できないことがよくあります)

解決策は次の通りです:

AIにリンク修正の候補リストを提供し、それを問題のファイルを基準とした相対パスの形式で与える必要があります。そうすれば、AIはプロジェクト全体をスキャンする必要も、自分で相対パスを理解する必要もなくなります。

npx czon@latest check

リンクチェック機能はCZON 0.9.1バージョンですでに利用可能であり、MiniMax M2.1が500個のリンクエラーを修正することに成功しました。効率はまずまずです。

この出来事を通じて、コンパイルチェックとAIによる修正は相互に補完し合う必要があり、コンパイルチェックはAIにとって使いやすいものでなければならないと気づきました。しかし、AIにとって使いやすくするためには、AIの限界がどこにあるのかを知り、それに適したチェック出力フォーマットを設計する必要があります。

See Also

Referenced By