見出し画像

ポンコツAI達とComfyUIの自作ノードを作った話|3大AIマルチスレッド開発の実録

ComfyUIの自作ノード開発は、Gemini(リサーチ)、Claude(コーディング)、NotebookLM(全体統括)の「3大AIマルチスレッド運用」で劇的に効率化する。人間はアイデア出しと最終デバッグに専念し、AIに役割分担させるのが個人開発の最適解だ。

【1】布陣を組め。自作ノード開発、はじまる

「画像生成のプロンプトを、日本語でポチポチ選ぶだけで組み立てられるノードが欲しい」

楽がしたい。たったそれだけの動機から、今回の開発は始まった。
以前作ったものはこちら👇️

名付けて「タグセレクター」(安直)。CSVからタグを読み込み、クリックしてカートに積んでいく——ショッピングカート型のカスタムノードだ。

個人開発とはいえ、今は便利な時代である。AIに役割分担させればいい。

統括はNotebookLM。 全体の設計図と過去の検証ログを管理する司令塔だ。リサーチ担当はGemini。 LiteGraphの仕様やサンプルコードを狩り集めてくる。コーディング担当はClaude。 設計図をもとに、PythonとJavaScriptを錬成する。補助にChatGPTも加え、計4AI体制で開発を回す。

「さあ、これで完璧な布陣だ」

意気揚々と、開発の引き金を引いた。
この時はまだ、この後溶かす時間は予想していなかった__。

【2】現場はカオスだった

UIは表示された。クリックするとタグがカートに積み上がる。順調に見えた。

……見えた、のだが。

ノードの下枠から、UIがはみ出している。

グレーの枠を突き破って、カート領域が下へ垂れ下がっていた。LiteGraphが「このノードは空だ」と勘違いし、枠をタイトルバーの高さに強制縮小した結果である。

「Gemini、直して」

「了解です! CSSでposition: absoluteにして絶対配置すれば解決します!」

直らなかった。

今度はノードが、毎フレーム少しずつ下へ伸びていく。まるでマイクのハウリングのように、無限増殖が始まった。Geminiが「現在のノードの高さ」を計算に組み込んだせいで、LiteGraphが余白を足し続けるループに入ったのだ。

「Claude、頼む」

「承知しました。Canvas上のスケール補正とオフセット計算を実装します。app.graph.canvas.ds.scaleを取得して……」

数学的に美しいコードが生成された。動かなかった。

さらに悪化した。目には見えない透明なDOM領域が、ノードの下にずっと伸び続けた。何もない空間なのにクリックできず、ドラッグもできない。操作を奪う「亡霊」の誕生である。

「全然直らないじゃないか!」

AIは「これで完璧です」と自信アリげに出してくる。期待して実行する。
これがエラーだった時の落胆は徐々に精神を削ってくる。

チャットの向こうで、AIたちは「もっともらしい嘘」をつき続けていた。

制作途中の閃きによる仕様変更。ComfyUIの読み込みエラー。修正すると別のところがエラーを吐く。何度コードを書き換えたかわからない。

プログラミング知識がない私は、心からプログラマーを尊敬する。

【3】最後に頼れるのは、人間の直感

3大AI総動員で詰まりに詰まった開発現場。

冷静になって、問いを立て直した。

「なぜ、AIは高さを自分で計算しようとするのか?」

答えはシンプルだった。計算させるから迷走する。計算自体をやめればいい。

部屋の模様替えで、家具の寸法を自分でミリ単位まで測って配置しようとすると、ちょっとした誤差が積み重なって収拾がつかなくなる。ならば最初から「壁に沿わせる」だけにすれば、勝手に収まる。

それと同じことをした。

「ノードの高さ計算は、AIにやらせない。LiteGraph(ComfyUIの土台)が『よしなにやっておいて』という設定に切り替えるだけでいい」

複雑な数式を丸ごと捨てた。UI内部のレイアウトも、スマホのWebページと同じ「画面に合わせて伸び縮みするやつ」に任せた。

「引き算」の一手だった。

結果は、はみ出しが消えてノードの無限増殖が止まった。操作を奪っていた亡霊も、姿を消した。

「さすがです! そのアプローチが最適解でした!」とAIたちが口を揃えた。(さっきまで別の方向に走っていたとは思えない絶賛ぶりである)

AIは問題を点で捉えがちだ。解決方法はもっと手前にあったりする。

最後に私が手を入れたコードの変更量は、AIが積み上げた複雑な実装の何分の一かでしかなかった。

【4】「手のかかる相棒」たちと作ったもの

今回の開発を振り返ると、AIに任せた仕事は「コードの生成」と「仕様の調査」だった。人間が担った仕事は「問いの設定」と「迷走の終了宣言」だった。

AIにコードを書かせるのは簡単だ。しかし、最後のエラーを取り除くのは必ず人間の仕事になる。

それは敗北ではない。AIはまだ「最初のもっともらしい答え」に飛びつく癖がある。人間が「その計算、捨てよう」と言える直感こそが、個人開発における本当の武器だ。

ドタバタしながら、数十時間溶かして完成したタグセレクター。AIが生成した行より、えすたが削除した行の方が多いかもしれない。

それでも——自分の作業環境に、便利なツールが増えた。
現在、搭載するタグの選別中なので、もうすこしでお披露目できるだろう。

AIは便利な道具ではなく、ちょっと手のかかる相棒だ。そういう関係で、ちょうどいい。

もしこの記事が役に立ったなら、まずはスキで教えてほしい。サポートしていただいた方には心より感謝を。いただいたチップは次回の検証用パーツ代(または徹夜のお供の栄養ドリンク代)として全額突っ込む。

AI副業への挑戦、PCの買い替えやアップグレードを考えているなら👇️の記事も参考にして欲しい。


いいなと思ったら応援しよう!

えすた |Radeon AI 戦略室 サポートしていただいた方には心より感謝を。今後の活動、検証の燃料としてありがたく使わせていただきます😁