1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ReClineとSourceSageとCopilotの無料Language Model APIを使用したTerraformインフラ改修の実験レポート

Posted at

概要

本レポートでは、AWS Terraformコードの改修作業において、ClineのフォークであるReCline(Copilotの無料Language Model API、Claude 3.5 Sonnet搭載)とSourceSageを組み合わせた実験結果を報告します。

開発環境セットアップ

SourceSageのインストールと設定

# SourceSageのインストール
pip install sourcesage

# リポジトリ情報の収集
sourcesage

# 生成されるドキュメントの場所
.SourceSageAssets\DOCUMIND\Repository_summary.md

実験内容

1. セキュリティグループの改修タスク

前提条件:

  • SourceSageによるリポジトリ構造の文書化
  • ReClineの設定

指示内容:

下記で下記の複数のセキュリティグループをアタッチするようにして

cloudfront_security_group_id: sg-03e35cd397ab91b2d
default_security_group_id: sg-07f88719c48f3c042
vpc_internal_security_group_id: sg-0097221f0bf87d747
whitelist_security_group_id: sg-0a7a8064abc5c1aee

ReClineの挙動:

  1. SourceSageが生成したリポジトリ構造を基に、関連ファイルを特定
  2. 既存コードの依存関係を分析
  3. 変更が必要なファイルのリストを作成
  4. 段階的な変更を提案:
    • common_variables.tf
    • terraform.tfvars
    • compute/variables.tf
    • compute/main.tf
    • networking関連モジュール

結果:

  • 変数型の定義をstringからlist(string)に変更
  • モジュール間の変数受け渡しをリスト形式に対応
  • 関連するすべてのモジュールでの参照を更新

2. セキュリティグループの説明追加タスク

指示内容:

セキュリティグループそれぞれにdescription を付与して可読性を上げて

実装プロセス:

  1. SourceSageのリポジトリ構造を参照
  2. 関連するセキュリティグループ設定ファイルを特定
  3. 各セキュリティグループの役割を分析
  4. 説明文の追加と更新

ツールの統合効果

SourceSageの貢献

  1. プロジェクト構造の可視化

    • リポジトリ全体のマークダウンドキュメント生成
    • ファイル間の依存関係の明確化
    • モジュール構造の体系的な把握
  2. LLMの制御強化

    • プロジェクト全体のコンテキスト提供
    • 関連ファイルの特定精度向上
    • 不適切な変更の防止

ReClineの活用

  1. コード解析と生成

    • Terraformベストプラクティスの適用
    • 型の整合性維持
    • モジュール間の一貫性確保
  2. インタラクティブな改修

    • エラーフィードバックの提供
    • 段階的な変更提案
    • ユーザーフィードバックへの適応

具体的な変更例

# 変数定義の変更
variable "security_group_ids" {
  type        = list(string)
  description = "List of security group IDs to attach"
}

# モジュール呼び出しの更新
module "compute" {
  source = "./modules/compute"
  
  security_group_ids = [
    var.cloudfront_security_group_id,
    var.default_security_group_id,
    var.vpc_internal_security_group_id
  ]
}

結論

SourceSageとReClineの組み合わせは、以下の点で特に効果的でした:

  1. 構造化された開発アプローチ

    • リポジトリ全体の文書化
    • 改修影響範囲の正確な把握
    • 段階的な変更管理
  2. 品質管理の向上

    • コードの一貫性維持
    • エラーの早期発見
    • ベストプラクティスの適用
  3. 効率的な作業プロセス

    • 必要な変更箇所の迅速な特定
    • 自動化された文書生成
    • レビュー工数の削減

この統合アプローチにより、大規模なインフラコードの改修作業を、より安全かつ効率的に実施することができました。特に、SourceSageによるリポジトリ構造の可視化が、ReClineのコード改修精度を大きく向上させる結果となりました。

参考サイト

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?