LeetCodeの問題やテストケースを生成し、ローカルでテストを実行しながら、コンテスト問題や提出も扱えるコマンドラインツール。
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
Rust プロジェクトに gpt-macro crate を追加します
- 2
ChatGPT API キーを取得し、OPENAI_API_KEY 環境変数に設定します
- 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 の数値は毎日更新されます。
関連プロジェクト
GitHub Copilot、Codeium、ChatGPTによるコード補完、チャット、コード変更機能をXcodeに追加するSource Editor Extension。
VimとNeovim向けのAIコードアシスタントプラグイン。エディタ内でOpenAI互換モデルによる生成・編集・チャットができます。
関数名、引数、コンテキストをもとに、実行時にLLMで関数の実装を生成するOpenAI対応のPythonライブラリです。
Viteを活用したユニット・コンポーネントテストフレームワーク。テストでもViteの設定、transformer、プラグインを再利用できます。