X

新しいAIモデルに合わせて親フォルダの設定を一括変更した

環境構築・初期設定

新しいモデルが配信された朝

朝早くにパソコンを開いて確認してみると、
新しいAIモデルである Gemini 4 Argon が配信されていました。

せっかく新しいバージョンが使えるようになったので、普段動かしている共通基盤の仕組みも、
さっそくこの新しいモデルに切り替えてみたくなります。

ただ、いざ自分で設定を変えようとすると、
どこから手をつけていいのか分からず手が止まってしまいました。

画面上のメニューから選ぶだけなら簡単なのですが、
裏側で動かしているコマンドラインツール(CLI)やスクリプトとなると、
どこにモデルの名前が書かれているのか、
すぐには思い出せなかったためです。

どこを書き換えればいいのか分からない不安

これまで少しずつ作ってきた親フォルダの仕組みには、
データベースや実行用のスクリプト、
さらには説明用のメモファイルなど、
いろいろなファイルが入っています。

もし見よう見まねで1つのファイルだけを書き換えて、
他の場所が古いモデルのまま残ってしまったら、
エラーが出たり意図しない動きになったりしそうで不安でした。

正式な指定名の調べ方

もうひとつ困ったのが、
設定ファイルに書くときの正確な名前(スラッグ)です。

ニュースや画面の表示では「Gemini 4 Argon」と書かれていても、
プログラムの裏側で指定するときは、
小文字やハイフンで繋いだ専用の名前を書く必要があります。

しかも、考える深さ(思考強度)によって、
名前の後ろに何かが付くのかどうかも、
私自身のうろ覚えの知識では判断がつきませんでした。

そこで、中途半端に自分でファイルを触る前に、
AIに「システムで使っているCLIなどの情報を、
すべてGemini 4 Argonに設定し直してほしい」とお願いして、
どのように更新するのかを見せてもらうことにしました。

あちこちに散らばる設定箇所の洗い出し

AIの作業を見ていると、
まずは `agy models` というコマンドを実行して、
現在CLIで使える正式なモデル名の一覧を確認していました。

すると、以下のような3種類の名前が用意されていることが分かりました。

・`gemini-4-argon-high`
・`gemini-4-argon-medium`
・`gemini-4-argon-low`

普段、私の環境では思考強度を一番高い状態に固定して使っているため、
今回は `gemini-4-argon-high` を指定すればよいとのことでした。
やはり当てずっぽうで名前を書かずに、
最初にコマンドで確認してもらってよかったと思います。

次に、システム全体のどこにモデル名が記録されているかを洗い出してもらうと、
主に以下の場所を直す必要があることが分かりました。

・マスターデータベースの基本設定テーブル
・実行用スクリプトの中に書かれている予備の初期値
・新しいモデルが出たかを自動で確認するための判定条件
・仕様をまとめたドキュメント類

自分が思っていた以上に、
複数の場所にモデルの情報が関わっていることに気づかされました。

親の設定を引き継ぐ仕組みに助けられたこと

今回の更新作業を見ていて一番ほっとしたのは、
データベース(SQLite)の書き換えがとてもシンプルに終わったことです。

共通基盤のデータベースには、
議論や調査、記録などを分担する複数のサブエージェントが登録されています。
最初は「それらの設定も1つずつ全部書き換えるのかな」と思っていました。

しかし、以前の作業で各サブエージェントのモデル設定を、
個別の名前ではなく `inherit`(親の設定を引き継ぐ) にしておいたため、
個別に直す必要はありませんでした。

データベースの基本設定テーブルにある、標準モデルの項目という親の設定を1箇所だけ書き換えれば、
すべてのモジュールが自動的に新しいモデルで動くようになっていたのです。

前に設定を作ったときは、
「本当に引き継ぎの設定にしておく意味があるのかな」と半信半疑でしたが、
こういうモデル更新のタイミングで、
手作業のミスや手間を減らせるのだとようやく実感できました。

予備の初期値やチェック処理もあわせて更新

データベースの更新に加えて、
スクリプトファイルの中に書かれている初期値(フォールバック設定)も、
あわせて `gemini-4-argon-high` に書き換えてもらいました。

これは、万が一データベースから設定を読み込めなかったときに、
代わりに使われる予備の設定です。
こうした細かい部分も揃えておかないと、
何かトラブルが起きたときに古いモデルが動いてしまうところでした。

また、スクリプトの中には「もっと新しいモデルが出ていないか」を調べる処理があり、
その判定ルール(正規表現)に `argon` という言葉も反応するように、
条件を追加してもらいました。

今日の作業を通じて学んだことは以下の通りです。

・モデルの正式名称は推測せず `agy models` コマンドで確認する
・子モジュールの設定を `inherit` にしておくと一括変更が楽になる
・データベースだけでなく、スクリプト内の予備の初期値も忘れずに揃える

新しいモデルへの切り替えは無事に完了したので、
明日からの作業や自律会議で、
少しずつ動きの違いを試していこうと思います。

関連記事