0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIコーディングの落とし穴

0
Posted at

blog_aicoding01_001.jpg
- 業務で使えないAIコードに頭を抱える前に知っておくべきこと -

要約

ChatGPTやGitHub CopilotをはじめとするAIコーディングツールの急速な普及により、プログラミングの専門知識がなくても業務システムやExcel/VBAマクロを自作できる時代が到来しました。しかし、こうした「AIで作ったコード」が現場で期待通りに機能しないケースが急増しています。

本ホワイトペーパーでは、株式会社エム・システムがこれまでに蓄積した現場支援の知見をもとに、AIコーディングが抱える5つの根本的な問題と、それぞれに対応する現実的な解決策を体系的に解説します。AIツールを正しく活用し、業務に本当に役立つシステムを構築するためのガイドとしてお役立てください。

■ 本資料の構成
第一章 AIコーディングの5つの問題点
第二章 現実的な4つの解決策
第三章 Excel開発の外注が特に向いているケース
第四章 まとめ

はじめに
なぜ今、AIコーディングが問題になっているのか

日本のITエンジニア不足は深刻であり、経済産業省の試算では2030年には最大約79万人のIT人材が不足すると見込まれています。このような背景のもと、AIコーディングツールへの期待は非常に高く、「エンジニアがいなくてもシステムが作れる」という夢に多くの企業が飛びついています。

実際、ChatGPTに「Excelで在庫管理するマクロを作って」と入力すれば、数秒でそれらしいVBAコードが生成されます。しかし、そのコードを実際の業務データで動かしてみると——エラーが出る、思った通りに動かない、少し条件が変わると壊れる——という問題が頻発します。

弊社には毎月のように「AIで作ったシステムが使えなくて困っている」「誰も修正できなくなってしまった」というご相談が寄せられています。本資料はそうした現場の声をもとに、AIコーディングの限界と正しい向き合い方を整理したものです。


第一章 AIコーディングの5つの問題点

1-1 生成されたコードが「動くが使えない」
AIが生成するコードは、一見すると正しく動作しているように見えます。
しかし実業務データを投入すると、エラーが多発したり、想定外の条件下で誤った結果を返したりするケースが非常に多く見受けられます。
例えば、「売上を集計するマクロ」を作らせた場合、テスト用の整ったデータでは正常に動作します。
しかし実際の業務データには、空白セル・全角半角混在・日付フォーマットの揺れ・特殊文字など、様々な「汚れ」が含まれています。
AIはこうした現実のデータの多様性を考慮したコードを生成できないことがほとんどです。
また、AIは「動くコードを生成すること」を優先するため、パフォーマンスや拡張性、エラーハンドリングの堅牢性といった実務上重要な要素が後回しになりがちです。
結果として、開発環境では動くが本番では使えない、というギャップが生じます。

1-2 要件を正確に伝えることが難しい
AIコーディングで良い結果を得るためには、「何を作りたいか」を正確かつ詳細に伝えるプロンプトを書く必要があります。
しかし、これ自体が高度なスキルを要する作業です。 「欲しいもの」と「AIが理解したもの」にはしばしばギャップが生じます。
例えば「顧客ごとに売上を集計して」という指示には、集計期間はどこか、同じ顧客コードで名前が違う場合どう扱うか、小数点以下は丸めるか、などの曖昧さが含まれています。
AIはこれらをある仮定のもとで勝手に解釈してコードを生成するため、できあがったものが意図と異なる、ということが起きます。
さらに、業務の全体像や会社固有のルールをAIは知らないため、「当社では〇〇という場合に例外処理が必要」といった暗黙知を反映させることは非常に困難です。

1-3 保守・修正ができない状態に陥る
AIが生成したコードは、しばしば「読めるが理解できない」状態になります。
変数名が意味不明、コメントがない、構造が複雑——といったコードが出力されると、後から人間が修正を加えることが非常に困難になります。
特に問題なのは、業務の変化への対応です。担当者が変わる、取り扱う商品が増える、集計ルールが変わる——こうした変化に合わせてシステムを修正しようとしたとき、「誰も手を加えられない」という状況が多発しています。
最終的には「少しの変更でも一から作り直し」となり、AIへの依存が深まるほど保守コストが増大するという悪循環に陥ります。

1-4 セキュリティ・品質の担保ができない
AIが生成したコードには、セキュリティ上の脆弱性や品質上の問題が含まれることがあります。
生成AIはコードの「見た目の正しさ」を重視するため、インジェクション攻撃への対策、個人情報の適切な取り扱い、データの整合性検証といったセキュリティ要件が省略されがちです。
Excel/VBAマクロの場合、悪意あるマクロを実行してしまうリスクや、外部ファイルへの予期せぬアクセスが発生するケースもあります。
また、計算ロジックに軽微なバグがあっても気づかずに使い続けてしまい、後から重大な業務上のミスが発覚するという事態も起き得ます。
専門のエンジニアであれば行うはずのコードレビューやテストが省略されてしまうことで、品質保証のプロセスが欠落している点が大きなリスクです。

1-5 AIツールへの依存リスク
AIコーディングツールはクラウドサービスであり、利用を続けるほどそのサービスへの依存度が高まります。
サービスの料金体系の変更、機能の廃止、最悪の場合はサービス終了といったリスクに常に晒されることになります。
また、AIが生成したコードの著作権の所在は、現時点では法律上グレーゾーンが多く、商業利用における権利関係が不明確です。
企業として重要なシステムを構築する際には、こうした法的リスクも考慮する必要があります。
さらに、AIツールを通じて業務データや機密情報がモデルの学習に使用される可能性についても、各ツールの利用規約を慎重に確認することが求められます。


第二章 現実的な4つの解決策

2-1 AIはアイデア出しに留め、実装は専門家に依頼する
AIコーディングツールの最も効果的な使い方は、「完成品を作らせること」ではなく「仕様のたたき台を作ること」です。
AIを使って「こんなシステムが欲しい」という要件を整理し、実際のコーディングは専門のエンジニアに依頼するというアプローチが、品質と保守性のバランスが最も取れています。
具体的には、AIを使って業務フローを整理したり、必要な機能をリストアップしたり、画面のイメージをテキストで書き出したりすることで、専門家への依頼内容を明確化するのに役立てることができます。

2-2 小さな範囲から始めて実業務データで十分に検証する
どうしても自分でAIコーディングを試みる場合は、業務全体に一気に適用するのではなく、影響範囲の小さい一部の処理から始めることを強くお勧めします。
検証の際は、必ずサンプルデータではなく実際の業務データを使用してください。
空白・重複・例外値など、現実のデータが持つ「汚れ」にどう対応できるかを確認してから本番適用することで、致命的なトラブルを防ぐことができます。
また、元のデータのバックアップは必ず取ってから実行するようにしてください。


2-3 コードの可読性・コメントを重視した指示をAIに与える
AIにコードを生成させる際は、「動くコードを作れ」という指示だけでなく、「必ずコメントを入れること」「変数名は日本語や分かりやすい英語にすること」「処理の流れが分かるよう関数を細かく分けること」といった保守性に関わる指示を必ず加えてください。
また、生成されたコードの意味を一行ずつAI自身に説明させることで、意図しない動作が含まれていないかをチェックする習慣をつけることも有効です。
自分が理解できないコードを本番業務に使うことは避けるべきです。

2-4 専門の開発会社への外注を検討する
業務上のミスが許されない処理、多くの人が使うシステム、長期的に使い続けるシステムについては、専門の開発会社への外注を真剣に検討することをお勧めします。
専門会社への外注では、ヒアリングから設計・開発・テスト・納品・保守まで一気通貫で対応してもらえます。
品質保証された状態で納品されるため、「誰も修正できない」「本番で動かない」といった問題が発生するリスクを大幅に下げることができます。
AIコーディングの失敗対応に費やす時間とコストを考えると、最初から専門家に依頼する方が、トータルのコストが低くなるケースが多くあります。


第三章 Excel開発の外注が特に向いているケース

以下に当てはまる場合は、AIコーディングや社内での自作ではなく、専門会社への外注をご検討ください。

● 毎日・毎週繰り返し行っている手作業のExcel業務がある
● データ件数が多く、手作業では処理しきれない量になっている
● 転記ミスや計算ミスが業務上絶対に許されない
● AIで試してみたが、思うように動かなかった経験がある
● 作ったマクロが誰にも保守・修正できない状態になっている
● 担当者の退職や異動でシステムが属人化してしまっている


第四章 まとめ

AIコーディングツールは、正しく使えば業務効率化の強力な助けになります。しかしその限界を理解せずに過度に依存することは、「動くが使えないシステム」「誰も保守できないコード」「セキュリティリスク」といった問題を引き起こします。

重要なのは、AIを万能のソリューションとして扱うのではなく、アイデア出しや仕様整理のための補助ツールとして位置づけることです。そのうえで、実際の業務システム構築は専門的な知識と経験を持つエンジニアに委ねることが、長期的に見て最も合理的な選択です。

株式会社エム・システムでは、Excel/VBAマクロ開発をはじめとする業務効率化システムの受託開発を行っています。 AIコーディングで壁にぶつかった方、システム開発の外注を検討されている方は、お気軽にご相談ください。
【エクセル開発のご相談】 https://msystm.co.jp/excel_top.html
【お問い合わせ】 https://msystm.co.jp/mailformx.html

会社概要
会社名 株式会社エム・システム
設立 2000年4月
本社所在地 東京都葛飾区東新小岩
開発拠点 岩手県盛岡市大通り
事業内容 ソフトウェア・システムの受託開発、Excel/VBAマクロ開発による業務効率化
ホームページ https://msystm.co.jp/
お問い合わせ https://msystm.co.jp/mailformx.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?