Upgrade to Pro — share decks privately, control downloads, hide ads and more …

生成AIによるCloud Native基盤構築の可能性と実践的ガードレールの敷設について

nwiizo
April 22, 2025

生成AIによるCloud Native基盤構築の可能性と実践的ガードレールの敷設について

こんにちは皆さん!本日はCloud Native Daysのプレイベントで登壇させていただきます。2019年以来の登壇となりますが、当時はまだ肩こりなんて無縁だったんですよね…。

時の流れは容赦ないもので、最近の肩こりが辛くて昨日も整骨院に通ってきました。30分の持ち時間に対してスライドが80枚以上という暴挙にも出ています。

---

本日、「CloudNative Days Summer 2025 プレイベント」というイベントで「生成AIによるCloud Native 基盤構築の可能性と実践的ガードレールの敷設について」 🎵🧭 というタイトルで登壇しました!

🔍 イベント詳細:
- イベント名: CloudNative Days Summer 2025 プレイベント
- 公式URL:https://cloudnativedays.connpass.com/event/351211/
- 本イベントのURL: https://event.cloudnativedays.jp/cnds2025

nwiizo

April 22, 2025
Tweet

More Decks by nwiizo

Other Decks in Technology

Transcript

  1. Vibe CodingはIaCと相性が絶望的に悪い Vibe Coding: The Future of Programming https://learning.oreilly.com/library/view/vib e-coding-the/9798341634749/

    生成AIの現実的な限界: 70%問題 IaCは精度が命綱だが、AIはテンプレート的な構成のみ正 確に生成可能 IaCに必要な厳密さとAIの「だいたいあってる」精度の致 命的なギャップ AIは「優秀だが何も確認しない若手開発者」 - 速いがIaC 特有の制約を無視 16
  2. Vibe CodingはIaCと相性が絶望的に悪い Vibe Coding: The Future of Programming https://learning.oreilly.com/library/view/vib e-coding-the/9798341634749/

    残りの30%の難しさ 70%を登ってきた経験なしで30%を超える難しさ インフラ構成では小さなミスが大惨事に直結、AIのVibe Codingでは検出困難 コードの正確性確保するタイミングでインフラの機能を損 なう可能性 17
  3. プロンプトにおける一般的な問題点 Prompt Engineering for Generative AI https://learning.oreilly.com/library/view/pr ompt-engineering-for/9781098153427/ 1. 曖昧な指示

    - 日本語という言語の特性上、曖昧な指示が多い 2. 未定義の出力形式 - 出力の形式や長さが明確に定義されていない 3. 例示の欠如 - 良い名前の具体例が示されていない 4. 評価基準の不足 - 名前の良し悪しを評価する一貫した方法がない 5. タスクの分割不足 - 複雑な命名タスクが単一のプロンプトに任されている 21
  4. プロンプト設計の失敗パターンと対策 (2/2) 3. 矛盾する指示 症状: 「軽量で高機能な」など相反する要件→最適化困難 対策:優先順位を明確に( 「軽量性を優先、ただし最低限の機能Xは必須」 ) 4.

    専門知識の前提 症状: 「普通のやり方で」など暗黙知に依存→解釈違い 対策:明示的なルール提示、例示 5. フィードバックループの欠如 症状:一方的な指示のみ→改善機会損失 対策:評価基準の明示、段階的改善 23
  5. プロンプトの5つの原則 Prompt Engineering for Generative AI https://learning.oreilly.com/library/view/pr ompt-engineering-for/9781098153427/ 1. 方向性を与える

    - 具体的な指示や目的を明確に示す 2. フォーマットを指定する - 望ましい出力形式を明確に定義する 3. 例を提供する - 期待する出力のサンプルを示す 4. 品質を評価する - 生成された結果の品質を測定・改善する方法を組み込む 5. 作業を分割する - 複雑なタスクをより小さな段階に分割する 24
  6. プロンプトの5つの原則の実践例 (1/3) 1. 方向性を与える(Give Direction) × 「ECSクラスタを作成するTerraformコードを書いて」 ◦ 「高可用性と費用対効果を重視したプロダクション環境向けECSクラスタを作成するTerraformコードを書いて。   マイクロサービスアーキテクチャを想定し、セキュリティ要件を満たすこと」

    2. フォーマットを指定する(Specify Format) × 「Kubernetesマニフェストを生成して」 ◦ 「以下の構造で、YAMLフォーマットのKubernetesマニフェストを生成して: - 各リソースは別ファイルとして - コメントは日本語で - リソース名は kebab-case で統一 - インデントは2スペース」 25
  7. 3. 例を提供する(Provide Examples) 「以下の例に倣ってDockerfileを作成してください: FROM node:18-alpine AS builder WORKDIR /app

    COPY package*.json ./ RUN npm ci ...」 4. 品質を評価する(Evaluate Quality) 「生成したTerraformコードに対して、以下の観点で自己評価してください: 1. セキュリティ(最小権限の原則に従っているか) 2. 可用性(単一障害点がないか) 3. コスト最適化(不要なリソースがないか) 4. メンテナンス性(変数、モジュール化など)」 26
  8. 5. 作業を分割する(Break Down Tasks) 「マイクロサービスアーキテクチャの実装を以下のステップで進めます: Step 1: 全体アーキテクチャ図の作成 Step 2:

    各サービスの依存関係の定義 ...」 これらのプロンプトを組み合わせることで、生成AIの出力の質を大幅に向上させるこ とができます。その他の細かいテクニックに関してはPrompt Engineering Guideや Prompt engineering overviewなどを読めば良いです。 サンプルプロンプトはじゃあ、おうちで学べるブログで公開しています。ぜひ確認して ください。 27
  9. Rules定義プロセスと更新サイクル Rules定義プロセス 1. 既存の標準・ベストプラクティスの棚卸し 2. 知識ベースの体系化(ドキュメント/コード規約等) 3. プロジェクト要件の明確化 4. フィードバックループの確立

    このようなルールをプロンプトに含めることで、生成結果が大幅に改善します。 Awesome CursorRulesやrules_templateなどのリポジトリを参考にしてください。 最終的には自プロジェクトの規模と運用フローに合わせてテンプレをスリム化する と、Cline の推論コストを抑えつつ高精度なアシストを得られます。 33
  10. Model Context Protocol (MCP)の概要 (1/3) 定義と基本原理 AI大規模言語モデルが外部ツールやデータにアクセスするためのプロトコル モデルが質問生成 → 外部システムが回答

    → AIが情報統合 前章のガードレールとの関係 ガードレールは「AIの出力を制限する」アプローチ MCPは「AIの入出力を拡張する」アプローチ 両者の組み合わせで真の可能性を引き出す 56
  11. Model Context Protocol (MCP)の概要 (2/3) Rules方式との根本的な違い Rules: 事前にすべての情報をコンテキストに埋め込む(静的) MCP: 必要な情報を実行時に動的に取得(動的)

    AIの視野を広げる意義 70%問題の新たな解決策 最新情報やコンテキスト特化情報の活用 「知っていること」と「アクセスできること」の融合 57
  12. Model Context Protocol (MCP)の概要 (3/3) MCPの動作メカニズム 1. AI: 「追加情報が必要」と判断 質問に答えるために不足している情報を特定

    具体的なクエリを生成 2. AI: 情報取得のためのクエリを生成 構造化されたクエリの作成 適切なデータソースの選択 58
  13. Model Context Protocol (MCP)の動作続き 情報取得と処理のフロー 3. 外部システム: 情報を収集・返却 クエリに基づく情報取得 フォーマット変換・最適化

    4. AI: 情報をコンテキストに統合し応答 取得情報の理解・解釈 ユーザーの質問と関連付けた回答生成 59
  14. AWS MCP Servers (1/2) 出典: https://github.com/awslabs/mcp AWS Documentation MCP Server

    AWS公式ドキュメント検索 サービス・API・パラメータ情報取得 ベストプラクティス参照 Bedrock Knowledge Bases MCP Server カスタムナレッジベース連携 自社ドキュメント・Wiki活用 独自Q&Aデータベース 63
  15. AWS MCP Servers (2/2) 出典: https://github.com/awslabs/mcp CDK MCP Server AWS

    CDKプロジェクト支援 コンストラクト情報参照/プロパティ・メソッド詳細 Terraform MCP Server Terraformプロバイダー情報参照 リソース・データソース詳細/モジュール構造解析 Lambda MCP Server 任意のLambda関数をMCPツールとして実行 カスタムインテグレーション 64
  16. kubectl-ai: Kubernetes用AIアシスタント (2/2) 実用的なコマンド例: # デプロイメント作成 kubectl ai "nginxのDeploymentを作成して、レプリカ数は3、リソース制限ありで" #

    トラブルシューティング kubectl ai "なぜPodがPendingのままなのか調査して" # スケーリング操作 kubectl ai "payment-serviceのレプリカを3から5に増やして" 66
  17. kubectl-aiの活用パターン # リソース最適化 kubectl ai "すべてのDeploymentのリソース使用状況を分析し、最適化案を提示して" # セキュリティ診断 kubectl ai

    "クラスタ内の潜在的なセキュリティリスクを検出して" 複雑なKubernetes操作を自然言語で実行可能に 現在のクラスタ状態に基づいた適切な提案 特定の状況に合わせたトラブルシューティング 67