◉ANTIGRAVITY LABEN
記事一覧/Tips & 活用術
✦ Tips & 活用術/2026-07-18上級

AIが書いたJSDocが、いつのまにかコードと食い違っていたとき — ドキュメントの陳腐化を計測して塞ぐ運用メモ

AI が書いた JSDoc が数ヶ月でコードと食い違っていた経験から、ドキュメントの陳腐化を計測して塞ぐ運用を組みました。シグネチャのハッシュを紐づけるドリフト定義、ts-morph での検出、新しいドリフトだけを止める CI ゲートを解説します。

antigravity464jsdocドキュメント4計測9typescript28tips37

✦ プレミアム記事

プルリクエストのレビュー中に、ある関数の @param が実際の引数と食い違っているのを見つけました。引数は数ヶ月前に options オブジェクトへまとめ直されていたのに、JSDocは古い平坦な引数のままだったのです。

厄介だったのは、そのドキュメントが手書きではなくAI生成だったことでした。文面は整っていて、@example まで付いていて、いかにも正しそうに見えます。だからこそ、別の開発者はそれを信じて古い形式で呼び出し、実行時まで気づけませんでした。

手書きのドキュメントも陳腐化します。ただ、手書きのものは最初から半信半疑で読まれます。AI生成のドキュメントは網羅的で体裁が整っているぶん、実態とズレても疑われにくい。

個人開発では、コードを書くのも、ドキュメントを直すのも、後でそれを信じて呼び出すのも同じ一人です。それでも私自身、AIが整えた @param を無意識に信用して、古い引数形式のまま実装を進めてしまったことが何度かありました。この記事は、その「自信を持って古くなっていくドキュメント」を計測して塞ぐまでの運用メモです。

再生成ではなく、計測から入る理由

この問題に最初にぶつかったとき、反射的に考えた対処は「定期的に全ファイルのJSDocを再生成する」でした。しかしこれはうまくいきません。

再生成は、レビュー済みの説明文まで毎回書き換えます。人間が手を入れた注意書きや、AIが生成したあと磨いた @example が、次の再生成で別の表現に流されてしまう。差分は巨大になり、レビュアーは「本当に変わったのはどこか」を見失います。ドキュメントの品質は上がるどころか、変更履歴の信頼性ごと下がっていきました。

必要だったのは、全部を書き直すことではなく、「コードとドキュメントが食い違っている箇所だけ」を名指しすることでした。そのためには、まず食い違いを数値として観測できるようにしなければなりません。

ドリフトの定義:シグネチャのハッシュを紐づける

ドキュメントが陳腐化する典型は、関数の外形(引数名・型・投げる例外)が変わったのに、その関数のドキュメントブロックが更新されないケースです。

そこで、公開シンボルごとに「ドキュメントが最後に触られた時点でのシグネチャ」をハッシュとして保存します。次にコードを走査したとき、現在のシグネチャのハッシュが保存値と食い違い、かつドキュメントブロック自体は変わっていなければ、それはドリフトです。

シグネチャに含めるのは、ドキュメントが説明する対象に限ります。引数名、引数の型、戻り値の型、そして関数本体で throw している例外。関数の中身のロジックが変わっただけではドリフトと見なしません。@param や @returns が説明しているのは外形であって、実装の詳細ではないからです。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦関数シグネチャをハッシュ化してドキュメントの陳腐化を機械的に検出する ts-morph スクリプト(そのまま動く)
✦『ドリフト率』という一つの数値で、信頼できるドキュメントと放置されたドキュメントを切り分ける計測の設計
✦ファイル全体を再生成せず、ドリフトした箇所だけをAIに直させて差分レビューを守る運用ゲート
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

✦ Tips & 活用術2026-04-28
Antigravity の AI が古い API を使ってくる問題 — 最新ドキュメントを毎回読ませる3つの仕組み
Antigravity が古いライブラリ情報をもとにコードを書いてくる問題を、Context7 MCP・公式 URL の手渡し・AGENTS.md でのバージョン明示の3点で解消する実践ワークフローをまとめます。
✦ Tips & 活用術2026-04-25
Antigravity の Workspace Indexing が止まる・完了しない時の診断と修復手順
Antigravity の Workspace Indexing が 0% から進まない、長時間 In Progress のまま固まる、完了したはずなのに AI が認識しない。そうした症状を原因別に切り分けて修復する手順をまとめました。
✦ Tips & 活用術2026-04-25
Antigravity の Retry 機能を使いこなす — エージェントが詰まったときの賢いやり直し方
Antigravity のエージェントタスクが失敗したとき、Retry ボタンをただ押すだけでは同じ失敗を繰り返してしまいます。失敗の種類を見分けて Retry の使いどころを決めるための、ログの読み方と事前の確認手順を書き残します。