Repolode
retrage

retrage/gpt-macro

ChatGPT APIを使い、コンパイル時に関数本体やテストケースを生成するRustの手続き型マクロ。

スター
667
フォーク
8
未解決の Issue
1
最終コミット
2 か月前

これは何?

gpt-macroは、コンパイル中に自然言語のプロンプトと対象コードをChatGPT APIに送信し、コンパイラが処理を続ける前にモデルの応答でソースコードを置き換えるRustの手続き型マクロクレートです。関数の空の本体を未実装のままにしておき、周囲のテストを仕様として自動で実装を補完できます。

このクレートは2つのマクロを提供します。`auto_impl!{}`はプロンプト文字列に続けてコード(関数シグネチャやテストなど)を受け取り、対象を生成された実装に置き換えます。`#[auto_test(...)]`は関数に付与し、指定したシナリオのテストケースを生成します。使用するには、`OPENAI_API_KEY`環境変数にOpenAI APIキーを設定する必要があります。

生成はビルド時に行われるため、出力は通常の手書きコードと同じようにコンパイルされます。そのため、このプロジェクトは本番ビルドの依存関係というより、LLMを活用したコード生成の実験を主な目的としています。

主な機能

  • 01`auto_impl!{}`を使い、自然言語のプロンプトから関数本体を生成します。
  • 02`#[auto_test(...)]`を使い、関数のテストケースを生成します。
  • 03コンパイル中にChatGPTへのリクエストを実行するため、生成コードは手書きコードと同じようにコンパイルされます。
  • 04`OPENAI_API_KEY`環境変数からOpenAI APIキーを読み込みます。

ユースケース

  • プロトタイピングで、仕様が明確なシンプルな関数をテストから補完する。
  • Rustのビルド内でLLMを活用したコード生成を試す。
  • 既存の関数に対するテストケースを追加で生成する。

クイックスタート

  1. 1

    Rust プロジェクトに gpt-macro crate を追加します

  2. 2

    ChatGPT API キーを取得し、OPENAI_API_KEY 環境変数に設定します

  3. 3

    コードで auto_impl! または #[auto_test] を使用してビルドします

使う前に知っておきたいこと

  • 有料の ChatGPT API キーを取得し、OPENAI_API_KEY に設定する必要があります。
  • 生成されたコードは外部モデルによるものです。使用前に必ず確認してください。

収録されている特集

トピック

よくある質問

gpt-macro とは?
ChatGPT APIを使い、コンパイル時に関数本体やテストケースを生成するRustの手続き型マクロ。 gpt-macroは、コンパイル中に自然言語のプロンプトと対象コードをChatGPT APIに送信し、コンパイラが処理を続ける前にモデルの応答でソースコードを置き換えるRustの手続き型マクロクレートです。関数の空の本体を未実装のままにしておき、周囲のテストを仕様として自動で実装を補完できます。
gpt-macro は無料で使えますか?ライセンスは?
gpt-macro は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
gpt-macro は今もメンテナンスされていますか?
半年以内に更新あり。gpt-macro の最終コミットは 2026年9月14日 です。
gpt-macro は何に使えますか?
プロトタイピングで、仕様が明確なシンプルな関数をテストから補完する。 Rustのビルド内でLLMを活用したコード生成を試す。 既存の関数に対するテストケースを追加で生成する。
gpt-macro のインストール方法は?
Rust プロジェクトに gpt-macro crate を追加します ChatGPT API キーを取得し、OPENAI_API_KEY 環境変数に設定します コードで auto_impl! または #[auto_test] を使用してビルドします
gpt-macro はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/retrage/gpt-macro

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト