Security NEWS TOPに戻る
バックナンバー TOPに戻る

生成AIを使ったコーディングでは、プロンプトエンジニアリングが効率化の王道として知られています。しかし実際には、RAG(検索拡張生成)やファインチューニングといった手法を組み合わせることで、さらに精度や体験を向上させることが可能です。本記事では、これらの技術の概要とAIコーディングにおける活用例、そして共通して立ちはだかる品質・性能・セキュリティの課題とその解決の方向性を解説します。
※本稿は2025年7月上旬に執筆しているものです。ご覧いただく時期によっては古い情報となっている場合もありますので、ご承知おきください。
プロンプトエンジニアリング以外の効率化手法
プロンプトエンジニアリングは、手軽に(安価に)試せる生成AIの体験の改善や効率化の手法として位置づけられています。そして、プロンプトエンジニアリング以外でも生成AIの効率化や体験の改善、特定の目的のための調整などができる手法としてファインチューニングとRAG(Retrieval-Augmented Generation)があります。以下の図はそれぞれの手法を簡単にまとめたものです。
図 1 プロンプトエンジニアリング、RAG、ファインチューニングの概要

AIを使ったコーディング(以下AIコーディング)でもこの3つの手法は生成コードの改善や生成プロセスの効率化のために用いられます。また、企業や組織でのコーディングに際しては、個人レベルでの作業でのプロンプトエンジニアリング、内部レポジトリやAPIドキュメントとの結合による効率化を行うRAG、コーディング規約やスタイルなどの品質管理などを目的としたファインチューニングというように、目的別に同時並行で使うことができます。
AIコーディング全般に共通する課題
AIコーディング自体は一般的といえる領域に入りつつあります注 1) が、一方でAIコーディング全般に共通する課題として、大きく分けて以下の3つの課題が挙げられます注 2)。
ロジックの不整合
- 小さなコードであれば問題にならないことも多いですが、大きなコードになればなるほど、コード内のロジックで不整合が発生することが増えます
- プロンプトで与えられているビジネス上の目的を正しく解釈できない場合、期待されない出力をする可能性もあります
メモリなどのボトルネックに対する配慮の欠如
実行環境に関する配慮がないため、メモリを予想以上に使用するコードや、処理パフォーマンスに配慮しない出力が出てくることが往々にしてあります
セキュリティへの配慮の欠如
- セキュリティに対して前出のような配慮事項を指示しない限りは配慮が欠如していることが多くあります
- 仮に配慮事項の指示を行っても不正確・セキュアでない出力が出される確率も一定程度残存します
品質とセキュリティを守るプロセス設計
AIコーディングが進化してもなお、人の手にゆだねられているものがあります。それは「何のためにコーディングするのか」「コードを使ってどんな業務をして、その結果として何を得るのか」といったビジネス上の目的を設定することと、コードが正確に動作することやセキュリティ上問題がないことを確認するプロセスを設けることです。コードの品質やセキュリティに関するプロセスは通常、ソースコード診断でセキュリティの確認を行うことが一般的です。

最近ではDevSecOpsの一環として、コード開発中にSAST(Static Application Security Testing)ツールをCI/CDパイプラインに統合するケースも増えてきています。また、完成品に対するテストとしてDAST(Dynamic Application Security Testing)を実行することも必要でしょう。これはWebサイトであればWebアプリケーション診断が該当します。

―第3回「AIエージェント時代のコーディング:MCPとA2Aとは」へ続く―
注:
1)2024年5月に実施されたプログラマー・エンジニアを中心としたコミュニティであるStackOverflowによる調査では開発にAIを利用すると回答したプロフェッショナルの開発者は63.2%でした。
2)CSET “Cybersecurity Risks of AI Generated Code” (Jessica Ji, Jenny Jun, Maggie Wu, Rebecca Gelles, November 2024)
【参考情報】
- https://arxiv.org/html/2408.13296v1
- https://learn.microsoft.com/en-us/windows/ai/fine-tuning
- https://www.ibm.com/think/topics/fine-tuning
- https://ai.google.dev/gemini-api/docs/model-tuning?hl=ja
- https://cookbook.openai.com/examples/fine_tuning_direct_preference_optimization_guide
- https://aws.amazon.com/what-is/retrieval-augmented-generation/
- https://learn.microsoft.com/en-us/azure/search/retrieval-augmented-generation-overview
- https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/
- https://www.ibm.com/think/topics/retrieval-augmented-generation
- https://www.microsoft.com/en-us/microsoft-cloud/blog/2025/02/13/5-key-features-and-benefits-of-retrieval-augmented-generation-rag/
【連載一覧】
―第1回「Vibeコーディングとプロンプトエンジニアリングの基礎」―
―第2回「プロンプト以外で効率化!開発体験の改善手法」―
―第3回「AIエージェント時代のコーディング:MCPとA2Aとは」 ―
―第4回「MCPの脆弱性とA2A脅威分析から学ぶセキュリティ実装」―
第5回「AIとセキュリティ:Non‑Human Identity とAIエージェントの課題」
第6回「AIエージェントのセキュリティ対策と今後の展望」
Security NEWS TOPに戻る
バックナンバー TOPに戻る
ウェビナー開催のお知らせ
「止まらないサイバー被害、その“対応の遅れ”はなぜ起こる?~サイバー防衛の未来を拓く次世代XDR:大規模組織のセキュリティ運用を最適化する戦略的アプローチ~」
「フィッシング攻撃の最新脅威と被害事例〜企業を守る多層防御策〜」
「サイバーリスクから企業を守る ─脆弱性診断サービスの比較ポイントとサイバー保険の活用法─」
最新情報はこちら






