どうでもいい話
100番煎じくらいですが、ツールを使って動かしてみた備忘録その2です。
この記事の続きです。
というのも、ローカルで動くのか?、どのくらい実用的な時間で動くのか?、モデルが違うとどうなるか?が気になるところで確認を始めました。
TL;DR
・ローカルLLM(llama4)でもVibeCodingは実施できそう。
・モデルで、進み方が違う。
モデルの性能が上がると、まとめ方がうまくなったりする
いきなりコード生成の場合の成功率も変わる
・Local Vibe Codingでも、一般プログラマー程度の速度か、それより早いような気も
テストのために設定したこと
VS-CodeにRoo-Codeインストール
LLMの設定プロファイル(ベースURL)とコンテキスト長さ
設定>言語>日本語設定
前回記事と同じです。
llama4-Maverickの場合(手順を踏んだ場合)
Architectモードでスタートします。
リクエストは以下です。
Pythonで電卓を新規に作ってください
GUIはTkinterを使ってださい
入力1と入力2の2つのテキストボックスを作ってください
出力用のテキストボックスを1つ作ってください
計算を開始するためのボタンを作成してください。
計算を開始するボタンを押したら、入力1テキストボックスを入力2テキストボックスで割った結果を出力のテキストボックスに出力してください
0割になった場合は、出力のテキストボックスにErrorと表示してください。
不明点は質問してください
46sec後
Roo-Codeからメッセージ
タスクの要件を理解し、PythonでTkinterを使ったGUI電卓を作成することになりました。入力1と入力2の2つのテキストボックス、出力用のテキストボックス、計算開始ボタンを作成し、入力1を入力2で割った結果を出力する機能を実装する必要があります。また、0割りの場合は「Error」と表示する必要があります。
次に、タスクの要件を満たすために必要なステップを明確にします。
新しいPythonファイル(例:calculator_gui.py)を作成する。
Tkinterを使用してGUIを作成する。
入力1、入力2、出力用の3つのテキストボックスを作成する。
計算開始ボタンを作成する。
計算開始ボタンを押したときに、入力1を入力2で割る計算を行い、結果を出力テキストボックスに表示する。
0割りが発生した場合に「Error」と表示する機能を実装する。
これらのステップをupdate_todo_listツールを使用してtodoリストにまとめます。ToDo List
・新しいPythonファイル(例:calculator_gui.py
)を作成する
・Tkinterを使用してGUIを作成する
・入力1、入力2、出力用の3つのテキストボックスを作成する
・計算開始ボタンを作成する
・計算開始ボタンを押したときに、入力1を入力2で割る計算を行い、結果を出力テキストボックスに表示する
・0割りが発生した場合に「Error」と表示する機能を実装する
63sec後
Roo-Codeからメッセージ
ユーザーはtodoリストの内容を確認し、特に変更の指示はありませんでしたので、次のステップに進みます。最初のタスクは新しいPythonファイル(例:
calculator_gui.py
)を作成することです。
ArchitectモードではPythonファイルの編集が制限されているため、Codeモードに切り替える必要があります。Codeモードに切り替えることで、Pythonファイルを作成・編集できるようになります。Rooは次の理由でcodeモードに切り替えたい: Pythonファイルを作成・編集するため
ここで、Codeモードに切り替えます。
5min後
Roo-Codeからメッセージ
APIリクエスト失敗
再試行
でも気にせず再試行
(私の環境が悪かっただけ感が・・・。)
76sec後
Roo-Codeからメッセージ
Rooは新しいファイルを作成したい:
ここで新しい指示を追加
生成するフォルダは以下です。
/home/xxx/Prog/test/
ファイル名はtest_cal_div_mar.py
にしてください
41sec後
Roo-Codeからコードが出力されました。
保存するを選択
25sec後
Roo-Codeからメッセージ
test_cal_div_mar.pyの作成に成功しました。このファイルには、Tkinterを使用したGUI電卓が実装されており、入力1と入力2の2つのテキストボックス、出力用のテキストボックス、計算開始ボタンが含まれています。計算開始ボタンを押すと、入力1を入力2で割った結果が出力テキストボックスに表示され、0割りが発生した場合は「Error」と表示されます。
todoリストのステータスを更新します。すべてのタスクが完了しているため、ステータスを更新して完了とします。
ToDO
・新しいPythonファイル(test_cal_div_mar.py
)を作成する
・Tkinterを使用してGUIを作成する
・入力1、入力2、出力用の3つのテキストボックスを作成する
・計算開始ボタンを作成する
・計算開始ボタンを押したときに、入力1を入力2で割る計算を行い、結果を出力テキストボックスに表示する
・0割りが発生した場合に「Error」と表示する機能を実装する
実行しますか?
と言われたのですがPython3ではなくPythonで実行コードを出してきたのでとりあえずここで終了しました。
ちゃんと動きました。
化けている部分は、日本語メッセージがコードに入っていました。
私の実行環境が良くないんでしょう。
仕様をまとめたり、ToDoを整理したり、Marverickのほうがいい仕事してる感があります。
動作のもっさりな感じは、時間を書いたので見てください・・・。
設定>通知
で作業が終わったら音を出す機能はめちゃくちゃ役に立ちました。
llama4-Maverickの場合(いきなりコード生成)
入力は以下です。
Pythonで電卓を新規に作ってください
GUIはTkinterを使ってださい
入力1と入力2の2つのテキストボックスを作ってください
出力用のテキストボックスを1つ作ってください
計算を開始するためのボタンを作成してください。
計算を開始するボタンを押したら、入力1テキストボックスを入力2テキストボックスで割った結果を出力のテキストボックスに出力してください
0割になった場合は、出力のテキストボックスにErrorと表示してください。
不明点は質問してください
生成するフォルダは以下です。
/home/xxxx/Prog/test/
ファイル名はtest_cal_div_m2.py
にしてください
Codeモードにし、実行ボタンを押して
82sec後にコードが出力されました。
このやり方を何回か実施したのですが、試した範囲では動くコードが生成されました。
感想
同系統のモデルでも結構違うもんですね。
普通の検索に使うレベルでは対して違わなかったように思うのですが。いいモデルを使ったほうが良さそうなのが、今回よくわかりました。
(コンテキスト長も同じだったのですが)
ただ、一気に遅くなります。llama4-Scoutでモデルサイズは128GB、Maverickに至っては232GBあって、これが、VRAMに展開できないの割合が大きいのが問題なのか、そもそも、性能がいいからいい文書を生成するために時間がかかるのかよくわかりませんが、思いの外、GPU負荷が上がっていませんでした。
一気に生成した場合で、35secと82secなので、時間差は大きいですね。
ただ、Local Vibe Codingでも、一般プログラマー程度の速度か、それより早いような気もしなくもありません。
続きはこちら
識者の方にお願い
実はClineを先に試していたのですが、どこかからか、ファイルの書き出しができなくなりました。対策ご存知の方教えてください。。。