BEMAロゴ

エンジニアの
成長を支援する
技術メディア

AIに「勝手に壊されない」ための個人開発ガードレール術。私が導入したツール6選

はじめに 

こんにちは。株式会社メンバーズの田邉です。

近年、AIの普及は目覚ましく、開発現場でもAI活用はもはや当たり前となりました。私も実務や個人開発でAIを取り入れていますが、AIによる修正で既存機能が壊れてしまう事象を何度か経験しました。AIが修正するたびに人力で確認するのは限界があるため、現在は自動で不具合を検知できるようにガードレールの整備を心がけています。

この記事では、個人開発を通してガードレール整備に役立った6つのツールを紹介していきたいと思います。なお、個人的にGoやTypeScriptの技術スタックを使うことが多かったので、それ関連のツールが多めです。

AIコーディングにおけるガードレールとは

AIが生成するコードは一見完璧に見えることが多いですが、セキュリティ上の問題や、アーキテクチャの規約違反、メンテナンス性を無視したコードなど、潜在的なリスクを内包していることがあります。このリスクを放置すると、サービスの安定性やチーム開発の品質を大きく損ないます。

AIコーディングのガードレールとは、生成されるコードの安全性や品質・倫理性などを監視し、問題のある出力を未然に防ぐ仕組みを指します。導入することで、AI特有の「一見動くがリスクのあるコード」を排除でき、結果として成果物の安定性が高まります。

ガードレールと聞くと新しい概念のように思えますが、その実態はCI/CDによる自動テストや静的解析の延長線上にあるものです。AIという不確実な要素が加わったからこそ、これまでのWeb開発で培ってきた「仕組みで品質を担保する」姿勢がより重要になっているのだと感じています。

AI時代のガードレールを支える6つのツール

静的解析・規約

Biome

JavaScriptやTypeScriptなどのリンター兼フォーマッターです。

  • 特徴

    • Rustで構築されており高速。

    • 設定なしで利用でき、必要に応じて設定することも可能。

    • リントとフォーマットの両方の機能を持っており、リンターとフォーマッターをそれぞれ用意する必要がない。

  • AIコーディングとの相性

    • AIによるコード品質のばらつきを防ぐことができます。AIが独自の慣習やスタイルでコードを生成してしまうリスクに対し、統一されたコーディング規約(命名規則、インデントなど)を強制し、全体のコード品質の一貫性を担保できます。

リンク

tbls

データベース向けの文書化ツールです。

  • 特徴

    • データベースを元にスキーマ定義書やER図の生成が可能。

    • データベースのリント機能があり、最大カラム数や必須カラム、コメントの必須化などのルールをチェック可能。

    • データベース内のドキュメントの網羅率を測定可能。

  • AIコーディングとの相性

    • リント機能でデータベースのスキーマ定義のルール違反をAI自身に検知させることができ、品質の維持に役立ちます。

    • スキーマ定義書やER図の生成設定をしておくと、AIが作ったデータベースの内容を把握する際に役立ちます。

リンク

go-depcheck

Go言語向けのパッケージ間の依存関係チェックツールです。

  • 特徴

    • パッケージ間の依存禁止ルールを定義し、不要な依存関係を検出可能。

    • 禁止ルール以外に許可設定や無視設定など柔軟に設定可能。

  • AIコーディングとの相性

    • AIは大規模なコードベースのアーキテクチャ全体を、理解することに難がある場合があります。このツールでクリーンアーキテクチャなどの設計ルールを定義しておくことで、AIが意図せず依存関係を壊すコードを生成した場合に、アーキテクチャのルール違反を自動検知させることができます。

リンク

テスト・UI

vitest

JavaScript/TypeScript向けの自動テストツールです。

  • 特徴

    • 実行速度が速い。

    • ビルドツールViteと共通の設定ファイルを使用可能。

    • メジャーなテストツールのJestと互換性があるため移行しやすい。

  • AIコーディングとの相性

    • AIがリファクタリングや機能追加を行う際、意図せず既存機能を壊すバグを埋め込むケースがあります。テストを用意しておくことで、AI自身に検知させてバグの混入を防止できます。

リンク

Playwright

ブラウザ操作の自動化ツールです。

  • 特徴

    • 主要ブラウザを単一APIで操作可能。

    • 要素の自動待機やアサーションの自動再試行など、不安定なテストや人為的なタイムアウトを防げます。

    • そのほかにもテストに役立つ強力なツールを多数備えています。

  • AIコーディングとの相性

    • 画面表示に関する仕様の確認を自動化することで、AIが作成したコードに問題ないことを保証できます。

    • MCPサーバーやCLIなどAIで活用しやすい仕組みが用意されており、それらを使うことでAIエージェント自身にWebページの構造を理解させることができます。

リンク

CI/CD

GitHub Actions

リポジトリへのプッシュなどのタイミングでワークフローを自動実行するGitHubの機能です。

  • 特徴

    • GitHubの任意のイベントからワークフローを起動することができます。

    • 全ての主要OS、あらゆる言語に対応しています。

    • 公開されているAction(再利用可能な部品)を組み合わせるだけで複雑な自動化を容易に構築できます。

  • AIコーディングとの相性

    • 静的解析やテストツールによる各種チェックを開発ワークフローに組み込むことで、AIによる実行漏れを防止できます。さらに、品質基準を満たさないコードがメインブランチにマージされることを物理的に防止できるため品質維持に役立ちます。

リンク

まとめ

本記事では、AIコーディングの品質と安定性を担保するために個人開発で役立ったガードレール整備ツールを紹介しました。

AI活用は生産性を飛躍的に高めますが、同時に潜在的なリスクも増大させます。私自身、AIによる修正で既存機能を破損させてしまった経験から、AIを過信する危うさを痛感しました。だからこそCI/CDや各種ツールを使って品質を担保する仕組みを整えておくことが、これからのAI時代の開発において重要になってくると考えています。

今回ご紹介したツール群は、その仕組みを整えるための具体的な手段となります。ご自身の開発プロジェクトにもガードレールを導入し、安心・安全な開発体制を構築してみてください。皆さんの開発の参考になれば幸いです。

この記事が役に立ったと思ったら、
ぜひ「いいね」とシェアをお願いします!

リンクをコピーXでシェアするfacebookでシェアする

この記事を書いた人

田邉圭一
田邉圭一
2019年にメンバーズに中途入社。後方支援チーム「TAT(Technical Architect Team)」に所属して社内の開発チームの各種サポートやスキル向上の施策を行なっています。
詳しく見る
ページトップへ戻る