1
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を使って2週間でIaC環境構築と学習曲線をハックした方法

1
Last updated at Posted at 2025-12-16

TL;DR

  • 11月15日:CI/CD初めて知る
  • 12月初旬:k3s + Grafana環境を外部公開
  • 期間:約2週間
  • 使用技術:Terraform, Ansible, k3s, Grafana, Prometheus
  • 手法:複数LLMの敵対的デバッグ
    unnamed (2).png

はじめに:技術メンターにAIを据える

人間がコンピュータで勝つのは不可能。
ジョンフォイノイマンじゃない限り。

重要なのは「どれだけ知識を奪えるか?」
そのための戦略を実践した記録。

学習開始前の状態

  • インフラ経験:学習用ベアメタルサーバーにProxmox、VMでubuntuネイティブ、マイクラ運用半年
  • Docker:なんか革命児…?
  • k8s:名前だけ知ってる
  • IaC:聞いたことない
    スクリーンショット 2025-12-16 201708.png
    スクリーンショット 2025-12-16 200934.png

10月:空白
11月:爆発
最大:1日32コミット

戦略1:AIを「メンター」ではなく「知識の簒奪対象」と再定義

従来の学習

  • 本を読む
  • 動画を見る
  • チュートリアルをやる
    → 知識の「受動的獲得」

私の手法

  • AIに質問を投げる
  • コードを受け取る
  • 即座に実装・検証
  • エラーが出たら即投げる
    → とにかく手を動かす知識の「能動的略奪」

[実際のやり取り例]
「これをコーディングせよ」
→エラー発生
「エラー [ログ]」
→ 10秒後に解決策
→ 実装
→ また詰まる
→ 「エラー [ログ]」
→ 解決

戦略2:複数LLMの敵対的デバッグ

img54.jpg

単一LLMの限界

  • 同じ間違いを繰り返す
  • 煮詰まると解決しない
  • モデル独特の味付け由来のドツボにはまる

解決策:GANsの概念を応用

  • Gemini(生成): 有料、メイン
  • ChatGPT(検証): 無料、レビュー
  • Claude(API切れの予備系):無料、レビュー
  • 相互に競わせて品質向上、数回試してダメなら即GAN戦術
  • 視点を動かすのではない、世界を動かしてしまう感覚

[実例]
Gemini出力 → エラー
→ ChatGPTに投げる
→ 「ここが違う」
→ Geminiに修正依頼
→ 解決

戦略3:経済合理性の徹底

Gemini Advanced:2,900円/月
1日32コミット × 30日 = 960コミット
→ 1コミット約3円

エンジニアの学習時間を時給換算:
従来手法:1問題 = 1〜2時間
AI活用:1問題 = 5〜10分

ROI:圧倒的にペイ

成果

構成図 VM2機構成

開発期間: 2週間(初学から)

技術スタック選定理由

Proxmox VE
→ ベアメタルでの仮想化基盤。商用環境で広く採用されるKVM/LXCベースで実務再現性が高い

k3s(軽量Kubernetes)
→ フルk8sは自宅ラボでオーバースペック。k3sで本質(Pod/Service/Ingress)を押さえつつリソース効率化

Grafana + Prometheus
→ デファクトスタンダードの監視スタック。FlaskからPrometheus形式でメトリクス公開し可観測性を実装

k3s導入理由。

自宅サーバーでマイクラサーバーを公開している。ユーザーがいる以上、落とすわけにはいかない。その責任感から可用性確保のためにk3sを導入した。
この感覚の原点は、MMO全盛期に多くのゲームがUX崩壊でサービス終了に至るのを見てきた経験にある。インフラ障害がユーザー体験を破壊し、信頼を失い、最終的にサービス自体が死ぬ。その過程を知っているからこそ、「壊さないインフラ」を作りたい。
img57.jpg

動作確認済みのダッシュボード

スクリーンショット 2025-12-16 210725.png
※セキュリティのため、外部公開URLは非公開とさせていただきます。

学んだこと

img58.jpg

1. AIに知識量で勝とうとするな

LLMにはまず勝てない。
「引き出す力」を鍛える。
「それが正しい情報か?」リテラシーの再確認。

2. 遠慮は学習速度を殺す

「こんなに質問して...」
→ 時間の無駄
→ 有料プランなら使い倒す
→ 命令形で確実に指示を出す。推論「させない」プロンプト

3. エラーログだけ投げる勇気

説明は要らない。
ログが全て。
今のAIなら「エラー」の一言で十分。ここは推論「させていい」

4. 複数LLMで補完

一つに依存しない。
敵対的に使う。
→「以下がGeminiのコード。監査せよ」
AIのミスは別AIに見つけさせることで泥沼化回避。
副次的な効果としてコンテキストの汚染、正常コードとバグコードの混同を防げる
このコンテキスト(KVキャッシュ)マネジメントはまた別の機会に記事にしたいと思う

AI時代の学習戦略:実装ファーストで知識を定着させる

従来の学習法の限界

「完璧に理解してから実装」では、スピード競争に勝てない。
2026年以降、AI支援下では学習曲線を完全にハックできる

実践した2段階アプローチ

⚠️ 重要な前提
AI生成コードは発表者に責任が帰属する。特にセキュリティ・倫理面の検証は
確実に実施、把握しておく必要があり、これがAI時代の新たな責務となる。

Phase 1:とにかく完走する

  • AIを活用して2週間強でステージング稼働まで到達
  • 「動くもの」を最優先、理解は後回し
  • スコープを絞り、確実にリリース

Phase 2:逆算的な知識深化

完成後に「Why?」を徹底的に洗い出す再解釈フェーズ。

実例:Grafana iframe埋め込みの再評価

初期実装時の判断:

  • 可視化を最速で実現するためiframe採用
  • オーバーエンジニアリング(自前グラフ描画)を回避

再解釈で得た気づき:

  • 技術的トレードオフ(認証連携・レスポンシブ対応の制約)を理解
  • 代替手段(Grafana HTTP API + Chart.js)の実装パスも把握
  • 「今は不要」と判断できる技術選定力の獲得

この手法の本質

単なる「後付けの理論武装」ではなく:
✅ 実装経験という具体的な文脈があるから理解が深い
✅ トレードオフを実感しているから説得力がある
✅ 「適切に手を抜く」判断は、実務で最も評価されると思われる。

補足:AI活用時の注意点

AI出力には、技術的に実現可能でも法的・倫理的に問題のあるコードが
含まれる場合があります。

筆者が過去に計画した、ハードウェア性能の限界を目指す要約ローカルAIでのWebスクレイピングプロジェクトでは、
技術的には完璧なコードが生成されましたが、
利用規約違反・法的リスクを再評価した結果、プロジェクト自体を中止しました。

AIは「できる」を教えますが、「やっていい」は人間が判断する必要があります。

特にセキュリティ・個人情報・著作権領域では、必ず法的妥当性を確認してください。


結論:AI時代の学習は「作る→問う→深める」のサイクル回転速度が勝負
img59.jpg

おわりに

「維持はすなわち後退。挑み続けろ。」

10年前に決めた座右の銘を
AI時代に再定義した記録。

次は誰が挑みハックする?

1
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
1
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?