今回のとことんDevOps勉強会は「いまさら聞けない人のためのAIコーディング入門」と題して、日本仮想化技術の石本が登壇しました。
生成AIや大規模言語モデル(LLM)の仕組み、ハルシネーションといった基礎知識を整理した上で、クラウド型AIとローカルLLMの特性比較や、GitHub Copilotをはじめとするツール選定の基準について解説しました。また、プランニングから実装・デバッグまでをAIと共に行う「AI中心の開発フロー」への転換や、コンテキストエンジニアリング、MCP、RAGといった最新の活用技術に触れ、変化の激しい時代においてAIを開発パートナーとして最大限に活用するための実践的な手法について解説しました。
セミナー動画
発表資料
Q&Aまとめ
AIサービス利用における高額課金の回避策
質問 AIはブラックボックスな部分があり、特にGPUコストなどによる高額課金のニュースを聞くと不安になります。どのように対応すればよいでしょうか?
回答 GitHub Copilotなどのクラウド型サービスでは、サブスクリプションによる固定料金制や、予算上限に達した際にリクエストを遮断する「バジェット制」の設定が可能なものが多いです。ただし、API経由で利用する特定のAIサービスなどでは制限がないケースもあるため、上限設定ができる信頼性の高いサービスを選ぶか、コスト管理が容易なローカルLLMの活用を検討するのが現実的です。今後はサービス側での最適化が進み、無駄なリソース消費が抑えられることも期待されています。
自律型エージェントの実行環境とセキュリティ
質問 自律型エージェントにPCやアカウントの権限を持たせるのはセキュリティ的に不安です。自分の作業用環境で実行しない方がよいでしょうか?
回答 はい、隔離された環境での実行を推奨します。AIモデルが「特定のファイルを見ない」という指示を無視してアクセスしてしまうリスクや、認証情報の漏洩リスクが懸念されているためです。OSレベルでのコンテナ化技術による分離などの対策も進んでいますが、現時点では専用のサブアカウントを作成し、物理的・ネットワーク的に分離された専用マシンで実行するなど、万が一のことがあっても影響が出ないように隔離して扱うのが安全です。
ハギングフェイスにおけるモデルの保存と再配布
質問 ハギングフェイス(Hugging Face)にアップロードされたモデルを保存したり、自分で書き換えて再配布したりすることは可能ですか?
回答 可能です。ハギングフェイスは「AI・機械学習界のGitHub」のようなリポジトリであり、公開されているモデルをローカル環境などにダウンロードして追加学習(ファインチューニング)させ、それを自分の成果物として保存したり、ライセンスの範囲内でフォークして再配布したりすることができます。
AIリーダブルなドキュメント作成の重要性
質問 AIが理解しやすいようにドキュメントを積極的に作成する習慣についてどう考えますか?
回答 非常に重要な視点です。現在は、人間向けのWordやExcel形式から、AIや機械が処理しやすい(マシンリーダブルな)MarkdownやJSONといった構造化データへのシフトが起きています。例えばSkillsという仕組みを使い、特定のキーワードに対応したMarkdownドキュメントをAIに参照させることで、AIを動的に「賢く」してタスクを処理させることが可能になります。今後は、データの信頼性を担保する署名付与など、AIとの自動連携を前提とした設計が主流になると考えられます。
クラウドAIとローカルLLMの選択基準
質問 クラウドサービスとローカルLLMのどちらを使うべきか、判断基準はどこにありますか?
回答 最大の判断基準はデータの機密性です。外部に出せない極秘情報を扱う場合はローカルLLMが必須となりますが、それ以外の場合は、推論能力が高く運用の手間もかからないクラウドサービスの方が利便性が高いです。ただし、ローカル環境の構築には高価なGPUが必要であり、昨今の価格高騰も考慮しなければなりません。まずはクラウドでAIの可能性を理解し、その上でローカルでの運用コストやセキュリティ要件とのバランスを見て選択するのが良いでしょう。
コーディングエージェント導入の懸念と組織の対応
質問 コーディングエージェントによる開発にはセキュリティやQA(品質保証)の懸念があると言われますが、一般的な組織ではどう対応していますか?
回答 多くの組織では、ゼロリスクを目指すよりも、AI導入によって得られる開発スピードの向上といった恩恵を優先している傾向にあります。AIが人間よりも一貫したコードを書く場合がある一方で、秘匿情報のハードコードなどのリスクを避けるための環境分離などの防御策は不可欠です。AIによるエラーとヒューマンエラーを天秤にかけつつ、隔離された環境で運用するなどの仕組みによる対策が求められています。
ユーザーインターフェースとプログラミングの未来
質問 将来的に、人間がチャットでAIに指示し、AIが直接データベースを操作するようになれば、フロントエンドという概念はなくなるのでしょうか? また、プログラミング言語も廃れてしまうのでしょうか?
回答 情報伝達のみを目的としたフロントエンドは、AI同士の通信(マシンリーダブルなやり取り)に置き換わり、消滅する可能性があります。一方で、人間に強い印象を与えるためのデザインやUIは、より専門的な領域として残るでしょう。プログラミング言語についても、AI同士が機械語で直接やり取りするようになれば、人間が書く言語が廃れる未来もあり得ます。現在は、これまでの常識がAIによって覆されようとしている非常に変化の激しい時期であると言えます。
ローカルで実用的なAIを動かすのは難しいのか
質問
ローカルで実用的なAIを動かすのは難しいんでしょうか。スネークゲームが作れるとLIVEで少し仰っていましたが、やはり高レベルな環境の構築には技術や知識、お金が必要になるんでしょうか?
回答
回答
スネークゲームなどは、既に実装方法やソースコードが世の中に溢れており、AIモデルが十分に学習しているからこそスムーズに対応できている、という側面は確かにあります。そのため、ここから一歩進んで、自社ビジネスに特化した応用的な生成や、複雑なロジックを組ませようとすると、一筋縄ではいかない場面も出てくるのが現状です。
実際に弊社でも、社内向けアプリケーションを実験台に「ほぼすべてのコードをAIに書かせてみる」という試みを行っています。
その中で見えてきたリアルな課題は、「ローカルAIに1から10まで完璧に丸投げする」のはまだ難しいということです。エラーが出た際のデバッグや全体のアーキテクチャ(設計)の調整など、要所要所ではどうしても人間のエンジニアによる技術や知識の介入が必要になります。
さらに、昨今の情勢を踏まえると、円安の進行やハードウェア市場の供給不足が続いており、環境構築にかかるコストは非常に高止まりしています。
そのため、現時点において「コスト削減」だけを目的にローカルAIでのコーディング実用化を目指すのは、ハードルが高いと言わざるを得ません。今後のハードウェア価格の低下や、より軽量で高性能なモデルの登場といった技術の進化を待ちつつ、まずは「開発の補助ツール」として現実的な範囲から付き合っていくのが最適解だと考えています。
