AIがコードを自動生成!プログラマーの強い味方「CodeGeeX2」を使いこなそう
このソフトで何ができる?
CodeGeeX2は、AIがあなたの代わりにプログラムのコードを書いてくれるツールです。Python・Java・C++・JavaScriptなど100種類以上のプログラミング言語に対応しており、コードの自動補完や翻訳、バグの修正、コメントの自動生成まで幅広くサポートしてくれます。VS CodeやJetBrainsといった人気の開発ツールにも対応しているので、普段の作業環境にそのまま組み込んで使えます。
どんな人におすすめ?
プログラミングを始めたばかりの方にとって、「書き方がわからない」「どう書けばよいか迷う」という場面でAIがヒントを出してくれるので、学習のサポートとして活用できます。
業務でコードを書いている方には、繰り返しの多いコードや定型処理を自動で補完してもらえるため、作業スピードが大幅に上がります。
複数の言語を扱うエンジニアには、ある言語で書かれたコードを別の言語に翻訳する「コード翻訳」機能が役立ちます。たとえば「PythonのコードをJavaに書き直したい」というシーンで威力を発揮します。
インストール方法
まず、リポジトリをパソコンにダウンロードします。
git clone https://github.com/zai-org/CodeGeeX2
cd CodeGeeX2
次に、必要なライブラリをインストールします。Pythonとpipが事前に入っていることを確認してください。
pip install -r requirements.txt
モデル本体はHugging Faceから自動でダウンロードされます。初回起動時にはダウンロードが走るため、安定したネット環境で実行してください。なお、GPU(グラフィックボード)を搭載したパソコンであれば快適に動作します。量化(軽量化)設定を使えば6GBのVRAMでも動かせます。
VS Codeで使いたい場合は、拡張機能マーケットプレイスで「CodeGeeX」を検索してインストールするだけで使い始められます。
VS Code拡張機能マーケットプレイス → 「CodeGeeX」で検索 → インストール
基本的な使い方
Pythonから直接モデルを呼び出す場合は、以下のコードを実行します。
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("THUDM/codegeex2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/codegeex2-6b", trust_remote_code=True, device='cuda')
model = model.eval()
# 言語タグをつけると精度が上がります
prompt = "# language: Python\n# write a bubble sort function\n"
inputs = tokenizer.encode(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(inputs, max_length=256, top_k=1)
response = tokenizer.decode(outputs[0])
print(response)
上記を実行すると、コメントに書いた「バブルソート関数を書いて」という指示に応じて、AIが自動でコードを生成してくれます。実際の出力例はこのようになります。
# language: Python
# write a bubble sort function
def bubble_sort(lst):
for i in range(len(lst)):
for j in range(len(lst) - 1 - i):
if lst[j] > lst[j + 1]:
lst[j], lst[j + 1] = lst[j + 1], lst[j]
return lst
コメントに「何をしたいか」を書くだけで、動くコードを返してくれます。プロンプト(指示文)は日本語でも英語でも受け付けてくれます。
活用アイデア
1. コードの自動補完で入力を時短する VS Codeプラグインを導入すると、コードを書いている途中でAIが続きを予測して補完してくれます。関数名の途中まで入力するだけで、引数や処理の内容まで提案してくれるため、タイピング量を大幅に減らせます。
2. 別の言語への自動翻訳 「このPythonコードをJavaScriptに変換して」とAIに依頼するだけで、別言語への書き直しを自動でやってくれます。新しい言語を学ぶ際に「自分が知っている言語と比べてどう書くのか」を確認する学習教材としても使えます。
3. バグの発見と修正 動かないコードをAIに渡して「このコードのどこが間違っているか教えて」と聞くと、問題点を指摘して修正案を提示してくれます。エラーメッセージの意味がわからないときも、「Ask CodeGeeX」機能を使って日本語で質問できます。
4. コメント・ドキュメントの自動生成 書いたコードに対して「このコードにコメントをつけて」と指示すると、各処理の説明を自動で追加してくれます。チームでコードを共有する際の可読性向上に役立ちます。
まとめ
CodeGeeX2は、コード生成・補完・翻訳・バグ修正・ドキュメント生成と、プログラミングにまつわる作業を幅広くAIがサポートしてくれるツールです。60億パラメータという比較的小さなモデルながら、150億パラメータの他モデルを上回る性能を持ち、6GBのVRAMで動かせるため、ハイエンドなGPUがなくても試せます。
VS CodeやJetBrainsのプラグインとして使えば、普段の開発環境をそのままに、AIアシスタントを手軽に組み込めます。プログラミング学習中の方から、日々コードを書いているエンジニアまで、作業効率を上げたいすべての方にとって試す価値のあるツールです。まずはプラグインをインストールして、いつもの作業にAI補完を取り入れてみてはいかがでしょうか。