概要
Wolverineは、Pythonスクリプトのクラッシュ箇所を自動的にデバッグしてくれるスクリプトとのこと(※)。マーベルのウルヴァリンのように自己回復能力を持つというコンセプトが面白いと思いコピペで試しました。
まだgpt-4を利用できないため、代わりにgpt-3.5-turboを使用したところ期待した通りにデバッグできませんでしたが、スクリプトを繰り返しGPTに自動で改善させる発想が興味深く、勉強になりました。
※元ツイート
The code for Wolverine is now available on Github!
— BioBootloader (@bio_bootloader) March 18, 2023
It's still a rough prototype but I have a lot of ideas for improvement. Have fun!https://t.co/Co59YoFDy5 https://t.co/IRdUlPIWpN
Setup
- READMEの内容を微修正
- 前提:GitHub CLI, Git, Python3がインストール済み
gh repo fork https://github.com/biobootloader/wolverine.git
cd wolverine
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
- GitHub CLI未導入の場合
- GitHub Web画面からGUI操作でFork
- 自分のリポジトリからgit clone
- upstreamを追加
- 参考:【Git初心者向け】fork(フォーク)からプルリクエストを送るまでの手順を簡単に解説
git clone https://github.com/{YOUR_REPOSITORY_NAME}/wolverine.git
git remote add upstream https://github.com/biobootloader/wolverine.git
git remote -v
origin https://github.com/{YOUR_REPOSITORY_NAME}/wolverine.git (fetch)
origin https://github.com/{YOUR_REPOSITORY_NAME}/wolverine.git (push)
upstream https://github.com/biobootloader/wolverine.git (fetch)
upstream https://github.com/biobootloader/wolverine.git (push)
-
wolverine.pyについて
- OPENAI_API_KEYをos.environで読むよう変更
環境変数にOpenAIのAPIキーが未設定の場合追加。set OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxx
- モデルをgpt-3.5-turboに変更しているが、gpt-4が使える場合変更不要
- OPENAI_API_KEYをos.environで読むよう変更
# Set up the OpenAI API
-with open("openai_key.txt") as f:
- openai.api_key = f.read().strip()
+openai.api_key = os.environ["OPENAI_API_KEY"]
response = openai.ChatCompletion.create(
- # model="gpt-3.5-turbo",
- model="gpt-4",
+ model="gpt-3.5-turbo",
+ # model="gpt-4",
実行例
- READMEのExample Usageの内容と同じ。
- 実行するとbuggy_script.pyが更新される。想定ではデバッグされるはずだがgpt-3.5-turboでは奇怪なコードが生成され正常動作しない。
- モデルをgpt-4に変更するか、gpt-3.5-turbo向けに最適化し対策が必要とみえる。
python wolverine.py buggy_script.py "subtract" 20 3