本文へスキップ
cd /languages
コードとしてのインフラインフラフルグラフ対応

MaguyvaのTerraform対応: AIエージェントのためのインフラコンテキスト

MaguyvaはAST解析とシンボル抽出によりTerraformに対応しており、AIエージェントは変更を提案する前に、モジュール、local値、変数、リソース参照、動的なインフラパターンをたどることができます。

Terraformにリポジトリレベルのコンテキストが必要な理由

インフラコードは、多くのAIツールがそれとなく浅いテキスト処理に頼ってしまう場所です。それでは十分ではありません。Terraformの変更は通常、機微を伴い、参照関係が多く、モジュール、local値、変数、データソース、環境ごとのフォルダにまたがって広がっています。難しいのは、変更する前に設定全体がどうつながっているかを理解することです。

だからこそ、主要なアプリケーションコードが別の場所にあったとしても、Terraform対応は重要です。リポジトリにインフラコードが含まれているなら、エージェントはそれを当て推量すべき付属物としてではなく、同じシステムの一部として見る必要があります。

MaguyvaがTerraformでエージェントの理解を助けるもの

MaguyvaはTerraformを構造的にサポートしており、これはモジュール参照、変数の流れ、リソースの関係性をたどるための有用な基盤です。コードがcountfor_each、動的ブロック、共有モジュールを使い始め、実際のプランの形がざっと目を通しただけでは復元しにくくなるほど、これはなおさら重要になります。

実践的な利点は、エージェントが変更を提案する前に、「このモジュールはどこで再利用されているか」「この変数に依存しているものは何か」「どの環境フォルダがパターンから逸脱しているか」といったリポジトリレベルの疑問に答えられることです。

これがMaguyvaの言語カバレッジについて何を証明するか

Terraformは、言語カバレッジが実際に役立つものかどうかを試すよい試金石です。Maguyvaがアプリケーションコード、運用コード、インフラを、別々の孤島としてではなく、1つのリポジトリレベルの問題として扱えるかどうかを示します。

インフラがサービスコードの隣にある場合は、Goガイドが最も近いバックエンドの組み合わせです。同じリポジトリにWebやプラットフォームのパッケージが含まれる場合は、TypeScriptガイドが適切な併読先です。

このページが役立つ場面

「エージェントはインフラのコンテキストも保持できるか?」という問いを持っているなら、このページを活用してください。それは、アプリケーション言語だけを尋ねるよりも現実的な問いです。対応マトリクスそのものが必要な場合は、互換性をご覧ください。

最適な用途

  • >再利用可能なTerraformモジュール、環境フォルダ、共有インフラパターンを管理するプラットフォームチーム。
  • >アプリコードの変更が、しばしば対応するインフラの編集や影響レビューを必要とするリポジトリ。
  • >インフラ定義に手を加える前に、参照関係とブラストラディウスを理解する必要があるエージェントワークフロー。

エージェントワークフロー

  • >プランを編集する前に、変数、local値、モジュール、リソースがどのようにつながっているかをたどる。
  • >変更の一貫性を保つために、環境ごとのバリエーションやモジュールの使われ方を比較する。
  • >エージェントがインフラの変更を提案する前に、想定される下流への影響を調べる。

エンジンの詳細

  • >import正規化により `module` と `source` が除去され、モジュールレベルの参照を比較しやすくなります。
  • >エンジンは `var`、`local`、`module`、`data`、およびリソースの利用について、参照形式の関係性を明示的に出力します。
  • >`count`、`for_each`、dynamicブロックなどTerraform特有の制御構造は、単なるテキストではなく第一級の構造として扱われます。

役立つMCPエントリーポイント

  • get_task_context

    「VPCモジュールの出力がECSサービスにどうつながっているかを追跡する」といったプロンプトで、まとまった回答をすぐに得たいときに使用してください。

  • text_pattern_search

    リソースアドレス、モジュール名、変数キーについては、分析を広げる前にまず正確なテキストで検索してください。

  • dependency_search

    関心のあるモジュールやシンボルが分かっていて、それに何が依存しているかを調べたいときに使用してください。