
【Day 5】寝ている間にJARVISを進化させようとしたら、AIの利用枠をほぼ全部溶かした
昨日の夜、僕は少し欲張った。
「寝ている間もJARVISの開発を進めてもらえば、朝起きた頃にはかなり完成に近づいているんじゃないか?」
そんなことを考えて、AIに長めの指示を渡した。
内容としては、
* Phase 5を正式に完了させる
* 完了したらPhase 6へ進む
* 安全なローカル作業だけ自律的に続ける
* 課金や外部投稿などは勝手にしない
* できるならPhase 6完成まで進める
というもの。
かなり細かく安全ルールも設定した。
「これなら寝ている間にかなり進むのでは?」
と思って、そのまま寝た。
そして朝。
結果を見ると……
思ったより全然進んでいなかった。
⸻
100%あった利用枠が、ほぼなくなった
一度利用枠が100%まで回復してから、改めてJARVIS開発をスタートした。
ところが、しばらくして確認すると、
68%。
さらに作業を続けると、
20%。
そして最終的には、週間の利用枠まで使い切ってしまった。
「そんなにコード書いたのか?」
と思うかもしれない。
でも実際に画面を見てみると、
* ファイルを読み込む
* 過去の状態を確認する
* コンテキストを圧縮する
* またファイルを読む
* ネットワークエラーで再接続
* また状態を確認する
という処理をかなり繰り返していた。
肝心のPhase 6開発には、ほとんど入れていなかった。
AIに長時間任せれば任せるほど効率が良くなる。
単純にそういうわけではなかった。
⸻
でも、Phase 5の最後の実機テスト自体は成功した
今回ひとつ大きく進んだこともある。
Phase 5では、
* iPhone
* 音声
* Telegram
など、実際にJARVISへアクセスするための「入口」を作っている。
すでにiPhoneと音声の実機テストは成功していた。
そして最後に残っていたのがTelegram。
Botを作成して、Tokenを安全に入力し、実際にテストしたところ、
Telegram → JARVIS → 最小返信
まで正常に動いた。
しかも、
* Webhookなし
* 有料APIなし
* 追加費用0円
* Tokenの恒久保存なし
という状態で成功。
テスト後には、一時的に使ったTokenもTerminalから削除した。
つまり、
Phase 5に必要だった実機テスト自体はほぼ通った。
ところが問題があった。
その成功結果を、JARVISの正式な記録ファイルへ反映する前に利用制限へ到達してしまった。
実際には成功している。
でもJARVISの正式記録上では、
「Telegram未完了」
のまま。
ここでひとつ重要なことを学んだ。
実際に成功したことと、正式に記録されていることは別。
AIエージェントを作るなら、この区別はかなり大事だと思う。
⸻
原因のひとつは「会話が長くなりすぎたこと」かもしれない
今回気になったのが、AIが何度も
「コンテキストを圧縮しました」
と表示していたこと。
JARVIS開発をずっと同じWork上で進めていたので、これまでの会話や指示がかなり長くなっている。
毎回すべてを抱えたまま作業させると、
新しい作業そのものより、
「これまで何をやってきたか思い出す作業」
に大量のリソースを使ってしまう可能性がある。
そこで今後は方式を変えることにした。
⸻
AIの会話を記憶庫にするのをやめる
これからは、
AIとの会話=作業机
ObsidianやMarkdown=本棚
という形にする。
現在のJARVISには、
* STATUS.md
* TASKS.md
* TESTS.md
* DECISIONS.md
など、現在地を記録するファイルがある。
今後AIはまず、
「今どこにいるのか」
だけを短いファイルで確認する。
そして必要な時だけ、
「このDecisionを読む」
「このTest結果を見る」
という形で必要な情報だけ取りに行く。
毎回過去の会話を全部読む必要はない。
イメージとしては、
巨大な本を毎回最初から読む
のではなく、
目次を見て、必要なページだけ開く
感じ。
今回利用枠をほぼ全部使ったことで、逆にこの問題に気づけた。
⸻
そして、もうひとつ大きな方針変更をした
これまで僕は、
Phase 1
↓
Phase 2
↓
Phase 3
↓
Phase 4
↓
Phase 5
↓
Phase 6
と全部完成させてから、JARVISを本格的に使おうと思っていた。
でも考えてみると、
完成するまで、本当に役に立つのか分からない。
だったら、
完成した機能
↓
安全テスト
↓
自分が承認
↓
実際の仕事で使う
↓
結果を見る
↓
改善する
というループを回した方がいい。
そこで今後は、
「完成してから使うJARVIS」
ではなく、
「使える機能から実戦投入するJARVIS」
として開発することにした。
⸻
最初の実戦相手は、自分の本業
実は今日、JARVISを本業でも使うための準備を少し始めた。
まず、これまで撮りためてきた仕事用のBefore / After写真を整理。
投稿候補だけを集めた専用アルバムを作った。
入っている写真は、
819枚。
今後はこの中から、
JARVISが投稿候補を選ぶ
↓
内容を判定
↓
投稿文を作る
↓
投稿先のアカウントを選ぶ
↓
僕に確認
↓
OKなら投稿
↓
投稿結果を分析
↓
次回へ反映
というところまで持っていきたい。
僕が毎回819枚の中から写真を探すのではなく、
最終的には、
「JARVISが候補を出して、僕がOKするだけ」
にしたい。
⸻
最初から完全自動にはしない
とはいえ、いきなり全部自動にはしない。
JARVISが勝手にSNSへ投稿したり、勝手に課金したりするのは怖い。
だから最初は、
Approval-Gated
という方式にする。
簡単に言えば、
JARVISが全部準備する
↓
僕に「これで実行しますか?」と確認
↓
僕がOK
↓
初めて実行
という仕組み。
安全性や精度が十分確認できた仕事だけ、将来的に少しずつ自動化範囲を広げる。
最近は、
「AIを作っている」
というより、
新人を一人育てている
感覚にかなり近くなってきた。
⸻
今日の失敗は、かなり大きな収穫だった
今日だけ見ると、
「利用枠をほぼ全部使ったのにPhase 6まで進めなかった」
という失敗。
でもそのおかげで、
* 長い会話に依存しない
* 必要な情報だけ読む
* 1タスクずつ実行する
* 成功結果は必ず正式記録へ残す
* 完成を待たず実戦投入する
という、今後かなり重要になりそうなルールが見えてきた。
AI初心者なので、
こういうことも実際にやって失敗しないと分からない。
そして、こういう失敗も含めて全部残していこうと思う。
⸻
次はPhase 6へ
次に進む順番は決めた。
Phase 5を正式に閉じる
↓
Phase 6でJARVISの自律Loopを作る
↓
安全装置を作る
↓
819枚の仕事用写真をJARVISが扱えるようにする
↓
実際のSNS運用へ投入する
ここから少しずつ、
「作っているJARVIS」から「実際に働くJARVIS」
へ変わっていく予定。
また進展があれば、続きも全部公開します。
⸻
今日の一言
AIに仕事を任せる前に、AIが効率よく仕事できる環境そのものを作る必要がある。
Day 5で、やっとそこに気づきました。