Junie Claude Sonnet 4.0は直線的なアルゴリズムや大量のif文・ループ文にはめっぽう強い印象ですが、非同期処理や時系列が重要な処理にはあまり強くないような印象を持っています。オーディオやUI周りは非同期処理が当たり前なので避けては通れないところです。今日はAIコーディングを使った非同期処理のデバッグのお話。
「クォータ使い切っちゃってぇ……もう動けなくてぇ……」って公式サポートに連絡したらUltimateの50%補充してもらっちゃった。神すぎる対応。

ていうか50%は多すぎるでしょ、逆に怖いんだけど……。後から課金されたりしない?
それはさておき。
AIエージェント、時系列処理に弱い問題
今回突き当たった問題は、ソフトシンセを作っていたときです。
- フレームごとに波形を生成する
- 生成された波形を、バッファにサンプリングする
- バッファをアウトプットに渡す
- 波形を破棄
- ヨシ!
ヨシ!じゃねーのよ。
これが具体的にどう悪いのかというと毎フレーム波形を再生成するので、波形が連続しない点です。

たまたまサンプリングレートと周波数が整数倍だったらノイズなしに聞こえることもありますけどね。まぁともかく、処理としてはエラーは出ないわけで、「最終的に音としておかしい」というのはAIが認識できません。
何回やり直しさせてもJunieは「何が悪いのかわからないけど、言われたからとりあえずなにかは作業しないと……」というブラック企業の従業員みたいな挙動をしはじめます。直せるところを探して全ファイル走査しだすのでクォータ消費もきついです。
Junieのブラック企業化を防ぐには
以前の記事で、「作業手順書を書かせる」というのを書きましたが、それの発展型で、
「間違っているコードを解説させる」
うーんパワハラ感ありますね。
Askモードで
〇〇をした際に△△の問題が発生しています。関数が呼び出されてからの処理を時系列順に詳しく解説してください
今回のトラブルの場合は
PlaySoundボタンをクリックした際に音声の位相がズレているような音が出ています。PlaySound関数の処理を順を追って詳しく解説してください。
こんな感じです。口に出して指示するとパワハラまがいですけど、やることはコードのトレースです。非顕在バグのデバッグ作業ではチャメシ・インシデントですからね。
Junieの回答内容
序盤は現在のコードでの振る舞いを解説していきますが、突然「現在の実装の重大な問題」とか言い出してきます。

パワハラじゃなくて教育だったんや!自分で気づいてくれて先生嬉しい!
コメントを残す