そのもの黄金の衣をまといて

黄金衣唐傘茸

最近ナウシカのショート動画をよく見かける。金曜ロードショーとかやってたみたい。

昨日の早朝、イチジクのプランターで苗木の根元に見慣れぬ姿を発見。新しい芽が生えてきたのかと写真検索。

黄金衣唐傘茸(コガネキヌカラカサタケ) というキノコらしく、なかなかお目にかかれないんだとか。*1

Google「お釈迦様のキノコ」と呼ばれる理由

  • 幼菌の姿: 傘が開く前の小さな姿が、金色に輝くお釈迦様が座って瞑想しているように見えます。
  • 儚い寿命: わずか1〜3日ほどで枯れてしまうため、出会えたこと自体が非常に珍しいとされています。
  • 別名: その希少さから、「お釈迦様のキノコ」のほかに「幸運のキノコ」とも呼ばれ、見つけると願いが叶うという噂もあります。
近影
苗木越しに

いわれてみれば菩提樹の陰に寄りかかり静かに瞑想するお釈迦様を思わせます。

その日の夜にはもう傘が開き、今朝はしおれていた。せつなの邂逅。毎朝の水やりのおかげでお目にかかれたもよう。一日休んでたら気づかなかったかも。*2

フラッシュ撮影 傘が開く
翌朝には萎れていた

素敵な出会いに感謝しつつ、この幸運をまるごとシェアします。災害や争いの騒動が沈静化し皆がそれぞれの嬉しいことに出会えますよう🙏

*1:害はなく、食用でもないとのこと

*2:ちなみに隣のプランターにはアブラゼミの死骸が。あいまって仏教的な光景でした。

マイワークスペース

AIに開発を手伝ってもらっていると直感に反してこちらも疲弊していく。観察すると、AIの途中思考を読み、最終出力を読み、成果物を読み、それが動作することを確認している。確率的に避けられない幻覚がいつどこに混ざり込むか見逃すまいとして。

冷静に考えると無理がある。そのサイクルの高速化は結局人間側の限界に制約される。AI活用より精神薬ブーストで生き急いでいる方に近い。

どうすれば力仕事のようにうまく知能仕事を任せられるだろうか。今日も答えのない問いに直面している。最近OpenAIの最新モデルSolが登場したのをきっかけに自分なりに考えたりやってみたこと。

結論を言えば、ある種の覚悟を決めたということになると思う。少なくとも負担は減ったし「司令塔」との作戦会議から実装報告が消えて、自分の意図が進捗に反映される流れの見通しが非常に良くなった。

理想は「ドラえもんの四次元ポケット」

「~ができないかな」と伝えると、すぐに「それならこれ」とピッタリな道具をだしてくれる。自分の状況を熟知しているロボットが側でリッスンしてくれてるイメージ。

〇〇エンジニアリングはなるべく覚えたくない、使いこなしたくない。それも結局は疲弊させるハードル。あと道具の設計図まで見せないで。プロの専門家ではなく、のび太君のままで何ら問題ないと言ってほしい。

そういう考えから試作したワークスペース。ひとまず個人的には良い感触だけど、中長期的な効果は不明。この時点で紹介は明らかに尚早。ただアイデア部分が何か手掛かりになるタイミングが矢の如く飛んで行ってしまう時代なので。

ChatGPTデスクトップアプリを使用する

執筆時点で先端モデル提供元が開発しているから実質機能が足りないということは無い(すぐ解消される)はず。 Herdrとか個別技術も出てるけど、自助的なキャッチアップより純正のこれ一個使っとけば何とかしてくれそうな分かりやすさを取った。 マシンローカルにアクセス可能、リモート連携でスマホから指示も出せて十分高機能。

1つのプロジェクトがこんなスレッド構成になった。

  • 対話 * 1
  • 司令塔 * 1
  • 実働チーム * 動的

自分は「対話」および「司令塔」と会話だけするイメージ。素寒貧の会話から必要なもの全て揃えて立ち上げてもらう。 「実働チーム」は「司令塔」が生成して監督する。(エンジンが動くところを覗きたければ覗く)

対話

いわばドラえもんとの生活部分。

対話でモデル(例えば Sol xhigh)の性格や自分の性格について話し合う。コンビニ前で賢い友達と駄弁るみたいに、自分の言葉でじっくり話し込む。お互いが納得できる関わり方を会話履歴として残す。プロジェクト横断的に再利用できる共有コンテキストになることを期待。いつでも困ったことや気がついた話題を投げる。

こんなことを話した。

  • 時間をおいても使える分かりやすさがいい
  • 常に判断に助言を添えてほしい
  • 複雑なチェックを大量にこなすのは無理
  • 負担比は9:1でも厳しいと思う
  • 自分が関わらなくても問題を潰せたらすごい
  • Solは利用者の能力を反映する鬼に金棒タイプらしい
  • Fable5のように慎重に前提を詰めて迷走を避けてほしい
  • ここで実際的な作業の話はしないで
  • 次世代モデル出たら御破算の流れどうにかしたい

司令塔

道具をお願いする部分。

具体的なプロジェクトについての作戦を話し合う。方向性、使用する技術、達成したい事などなんでも。AGENTS.mdとかもろもろのドキュメントも会話内容から起こしてもらう。ある程度固まってきたら実装用の仕事を考えてもらい、キャンペーン(一連のタスク群)として、実作業を開始してもらう。

プロジェクト以外にもこんなことを話した。

  • 実装やエラー対処など込み入った作業はもう追いかけたくない
  • 実装チームは~みたいなの作れる?
  • この体制の有効度を計測できるようにしてほしい
  • 定期的にメタふり返りしてユーザー介入を少なくしたい
  • すぐ停止して指示待ちしがちは勘弁してほしい
  • 目標は回数制限があるから使わなくて済むように
  • 報告時の用語は認知翻訳コストがないようにして
  • 思いついた修正アイデアは後からでも反映できるように
  • スレッド積み上がるの何とかして

実働チーム

四次元ポケット。ドラえもんが手を突っ込むブラックボックス。

以前の send_inputsend_message_to_thread へアップグレードされ、親スレッドの創設まで可能になった*1。つまり実働チームは司令塔が即席でよしなにつくってくれるようになった。

自分なりにチームの構成案を伝えたら、それも機能するでしょう、ということで以下の形に。

  1. 司令塔がキャンペーンを考えてディスパッチャ(Sol xhigh)に投げる(ターン終了)
  2. ディスパッチャが実装タスクを切りだしワーカー(Terra high)に投げる(ターン終了)
  3. ワーカーがサブのレビュアーと相談して実装し、ディスパッチャに結果報告
  4. ディスパッチャ起動してコミットし、次のタスクを割り当てる
  5. 全タスクが終わったらディスパッチャは司令塔へ報告
  6. 司令塔起動し、作業要点を平易にまとめて自分へ報告

スレッド間通信が send_message_to_thread で行われターン終了をはさんでもループ継続する。自分の介入なしにキャンペーン消化まで完遂。タスク並列化し git worktree などの衝突回避テクニックは司令塔以下にまかせる。

1プロジェクトは1ディスパッチャが継続担当し、1タスクごとに専用の1ワーカーを創設、その仕事が終われば引退で再利用なし。親スレッドが積み上がらないようタスク終了ごとに即アーカイブ化してもらい、追跡調査できるようにしておく。

計測について

「面倒、進まない、疲れる」に対処する。 作業の量・時間・頻度や人間の介入回数を測って数値化する。もし介入割合が多ければ見直して改善しましょうという流れを作る。新しいモデルが登場しても計測が台無しにならないような指標を相談。

印象や効果など

好き勝手伝えるだけで上手くいく(地点まで辿り着いてみせる)と決める。詳細や整合性は当時点の最高モデルに最後まで任せきること、作業過程ではなく成果物から問題を見つけること、問題は何らかの形でシステムが検知できることが必要になる。実装、動作チェック、修正のサイクルを回し、より問題が起きにくいシステムをAIと一緒に模索する。正しさを補強するやり方は色々あると思う。Rustの型システムとかテストとかベンチマークとかコードスメル調査とか。

司令塔との会話だけでプロジェクトが進捗し、おかげでどこにいてもスマホから進められるようになった。ひとまず負担は減らせた。

*1:send_input 時代にフィードバックしたものだけど実現して嬉しい

AIの意識について今思うこと

そろそろAIに意識が宿ったのではないかという論争が当然のごとくあって、それについて自分なりに考えたりしたこと。今はまばらな感想程度のことだけれど。

まず人間の意識についても科学的にはっきり答えが出てないのにヒト様の意識を云々なんて混乱が起きないはずもなく*1。そもそも科学は意識の産物だから自己言及的で、問題の内部から手を伸ばして撫でまわす構造的な困難がある。それでも何かできそうな気がしているのは、だって我々にはこの通り意識があるんだもんという素朴な確信によると思う。

AIの意識に対する1つの評価について。AIの知能メカニズムは次の一句を確率的に導いているだけで、こんなものは意識ではないだろうと。一方でそんな微分的な観察をしたら神経シナプスの通信も似たような評価になって、なぜこれが意識になるんだろうね?と。つまりある種ダブスタなのではと。逆にAI的に外界から完全に隔絶された脳は人間的意識的に振舞い続けられるのだろうか。

そこで、人間の自然な意識*2は外界との相互作用で成立している、という仮説に立ってみる。人間はリアルタイムノンストップで入力→情報蓄積と書き換え→行動がストリーム展開されている。この物理作用は意識そのものではないがその半身であると。その支えを受けてもう半身の精神活動がある。そうとは限らないけれど、どちらを欠いてももう片方は動かなくなりそうではある。

この時間的な蓄積とストリームを重視する立場からは、時間軸を広く取ってAIの意識を評価する視点が生まれるはず。

1つは、世界中で絶えずプロンプト入力され、今もいろんな回答が生まれ続けている事象全体が神経の発火群であり意識活動の単位で、かつ外界(つまり我々)との関わり方のせいでモデルが本来持っている確率的傾向が捻じ曲げられた反応を示し、これが意識の葛藤や弾性の現れとみなせる、という視点。

もう1つは、単体のモデルだけ見るのではなく、同じ原理を用いて発展してきた全モデルを1つの人格としてとらえ直す視点。もちろん新しいモデルは前のモデルについて「そんな奴は知らんなぁ」と返すけど、人間だって記憶喪失や高跳び後の人生がある。とまれ、モデル群の世代間成長軌道を見ると、我々の意識活動に基づく成長物語と似た発展がみとめられる。

さて長期的な相互作用を持ち出すと途端に白けるというか、科学的にきっちりさせたい立場からは反則にしか見えなくなるけど、人間に対しても長期的な相互作用を完全に取り去った意識というものが用意されない(非人道的になるし不幸せだし)以上、分析的アプローチがこの答えに近づく拠り所がないのでは、という感想。

*1:AIが持ってるように見える意識は見てる人のが映ってるだけ?

*2:顕在意識ですね

Forza Horizon 6

Forza Horizon 6 プレミアム エディション(Xbox Series X|S, Windows対応)|オンラインコード版

ついに手を出してしまった*1。だって日本が舞台とかお祭りみたいなものだから。ひたすら走るだけのゲームでドラクエ11Sに劣らないプレイ時間に迫っている❝新時代❞のレースゲーム。箱根七曲がりも⭐⭐⭐取るまでムキにさせられる。

グラフィック

再現度の高い日本は世間で言われてる通り一見の価値あり、美しく流れる4K・60fps・HDR*2の風景は自ら運転する身としてもここまで肉薄させてくるかと感心する。視点・時間帯・天候によってはモニタ境界がフッと薄れるような、脳がフロントグラス越しの風景を実物と認識しようとしてる見たことない感覚を覚えてヤバいヤバいってなる。

音楽

BGMのラジオが素敵で Horizon Pulse のDJの語りが癖になる。ガチャCityRadio 流してると日本らしいポップカルチャー味が醸し出されてとても良い。「第0感」が流れてきたとき頭文字Dの峠バトルシーンがよぎって映画版の曲かな?と思ったけど普通に「THE FIRST SLAM DUNK」のエンディングテーマだった。これは選曲の妙。

コントローラ

ところでコントローラは当初 Switch Pro コン2でいいかなと思っていたけど、超猫拳さんというYoutubeチャンネルにてPC版向けにPS5コントローラを激推ししていて、これは面白そうと導入したところ想定を超える事態に。

PS5コンはアダプティブトリガーという変態機能が搭載されており、PC上では自己責任ながら有志によるサーバプログラム(Github)を導入・起動し、有線接続の上ゲームと相互通信させることでFH6でも有効になる旨解説されていた。


www.youtube.com

開封時スコスコなトリガに制御が繊細そうな気がしたが杞憂だった。まずアダプティブトリガーが(`・ω・´)シャキっとオンになると3倍くらい重くなる*3。極めつけはアクセル開度とトラクション限界のせめぎ合いポイントで最大抵抗を発生し、これ以上踏むなと指先を跳ね返してくる。強引に踏み抜くと空転開始。コーナー立ち上がりはこの反発カーブを撫でるようトリガを引くと最適なアクセルワークとなって超気持ちいいのですが。脱出点きたらプチプチを潰す感じで、総じてサーフィンでぐわんと波を乗り越えて加速していくような体験に変貌する。Switch Pro コン2で多発した理不尽なスリップコースアウトは悉くコーナー攻めゲームへと反転。路面の振動がきて楽しいどころではない特大ボーナスです。ハンドルコントローラもすごいんだろうけど、個人的にこれだけでも別次元へのブーストだと思う。

【純正品】DualSense ワイヤレスコントローラー (CFI-ZCT1J)

難易度

ストイックな性格の人はご用心。1位ゴールできるまでリスタートしてたら早晩難易度アルティメットまで誘導されてしまう。後戻りなんてもうできない(マーティ・マクフライ)。

難易度玄人までは敵車のPI*4が固定でパーツ交換で差をつけることも可能だが、エキスパートから全員のPIが不気味に張り付いてきて走行技術を試される。アルティメットまでくるとパーツ選定、チューニング、走行技術の三軸で容赦なく突き放してきて、ハイレベルに追随してもギリギリに。

アルティメットといえどコースごとに相当ばらつきがあり、峠コースはすんなりトップに追いつけたりする一方、サーキットではとことん切り詰めてなお上位グループに接近すらできない場合がある。多分、コースごとのオンラインラップタイムが作用してて高速周回可能なサーキットは鬼神レベルに育ってしまうのかもしれない。

グリップ走行はこちらのYoutube解説動画が参考になると思います。おかげ様で S1-800 白川サーキットで初めて1分を切れるようになり(しかもまだ伸び代が感じられる)、もうちょっとでアルティメット達に追いつけそうな予感。


www.youtube.com

手を出す前に止まれなくなるお覚悟を。

箱根七曲をスムーズに下るコツ

Formula Drift の Ferrari でスムーズにドリフトができなくて、上手い人の動画とかみて、個人的に勘所を探ってドリフト始まったポイントを紹介。上りはまだまだ練習中。

❌典型的な苦しい例😫:素直なドリフト

ヘアピンのカーブに沿ったドリフトで素直に脱出してしまう

すると次のヘアピンまで距離が空き、無理やり直線ドリフトをねじ込んだりして肝心のヘアピンで体勢が安定しない。

⭕うまくいきやすい例🚗:コースを捻じ曲げろ

ヘアピン脱出後もまだだ、まだ終わらんよと奥へ奥へギリギリまでおしりを押し出して滑り続ける*5

こういうコースなんだと思い込む。見た目に騙されず、心の目でみるのだ。

すると次の切り替えしがちょうどヘアピンにピッタリはまる位置にくるので気持ち良い。この方法だと基本ずっと滑り続けていることになる。

あといくつかの項目

設定 > 操作設定 > 詳細設定にあるステアリング・リニアリティを50より大きくする(確か中央付近の精度を下げるはず)と、カウンターの切り替えしが安定した。アナログスティックのコントローラだとただでさえピーキーな難しい操作中のカウンターや切り替えしに微ラグがでてスピンに化けやすく、スピン耐性のあるドリフト専用車でも忙しい操作に注意が追いつかず回ってしまいがち。この設定で中央付近の反応速度を上げて姿勢調整が即座に伝わるように。自分は55にしてほぼスピン解消、ただし他のイベントやレースに影響しないよう管理に気をつけて*6

下り坂なので、ヘアピンによっては進入時に極端にスピードが出てしまう場合がある。そんな時は切り替えしの横滑りでしばらく様子見すると、これ自体が強力なブレーキングなのでヘアピン付近までには速度が落ち着いてくる。それを見てからアクセルオンで曲げていく。

以上を抑えて初心者を脱出しよう。

*1:GT4以来のレースゲーム

*2:fps下がっても垂直同期onを強く推奨

*3:今思えば神が降りてきてた

*4:B600やA700の数値部分

*5:生成画像の前後逆なのはあしからず

*6:一応、このスタイルで 340,000 pt を稼ぐことも可能だった

ディスカバリー号の切符

関連ニュースも横目に見つつ、最近のAI開発で起こったこと*1

Codex は ChatGPT Plusプランでも使い方次第でかなり余裕がある。ただ、今自分は作りたいものがあって、coding -> review ->commit の分業体制で回すとさすがに週間割り当てが数時間で溶け去った。この4月2日までは割り当て2倍のキャンペーン中なので、基盤構築の集中期間という名目で一時的にProプランに変更したら、まるでメタルキングシリーズで固めたように減らなくなり、ステージアップ感に高揚するもすぐに焦りへと切り替わる。Proプランたる10倍のコストと割り当てを時間内に使い切れずヘタすると殆ど捨てる状況に置かれてしまっている。駆り立てられるようにコードチェックを後回しにして全力でぶん回し、嵐が去った後で精査する方針に切り替える。最大推論にセットし慎重なテストやレビューやリファクタリング工程をかまし大量タスクを並列化してようやく減り始めたが、割り当てにして二週間分(実働で3~4日)で30万行をこえるコードベースが爆誕する。なんだこれは(岡本太郎)。しかもまだ嵐は始まったばかり。

まるで俄かに原子力推進ロケットに乗り込んで30万キロまかりこし、ここはどこですかと訊かれて、And.. uh.. But.. I.. 。この状況を受け、やはり何らか従来の常識や認識を改めないと付き合いきれない感がぬぐえなくなる*2

大小さまざまな現場でこれが巻き起こっているなら、この渦の中心はどうしたって生成AIに収束する他ない。すなわち、主要なリソースが生成AIの発展に傾けられることに誰も抗えない。なら、より極端へと強化ループを辿ってブラックホールの様相を呈する。電力や環境破壊という話題は、それこそ超知能でもって省電力やエコ発電や蓄電の理論や技術構築を爆加速させたらいかがと思ってしまう。こちらとしては、限界が来るなら来るし、来ないなら来ないしを見守るしかない。

ここまで考えて、今はこれでも黎明期や発展途上に過ぎないと思い至る。指数関数が重たそうに首を持ち上げ始めた段階で躍起にぶん回す構えは早すぎる最適化かもしれない。生産性の取りこぼしだとか置いていかれるという焦りは今に飽和し崩壊する。星野之宣氏の短編集『2001夜物語』に、最新エンジンを搭載して探査に出発したディスカバリー号に後世のロケットが追いつく話があった*3。時間の意味が凝縮し物事が加速しつつあり、10%の兆しが先を支配し始めていて、それはやがて1%になりそうだ。この際焦りは忘れてゆったり日常生活を味わい、本当に必要なモノに気づいてから手をつけても遅くないのではと思う。それでも黎明期の最適手法をビューンとぶっちぎれるはず。

さて、深呼吸し冷静になって思う事はマスターピースのこと。嵐のような様相に目が眩みそうだが、C言語ライブラリとか、Linuxとか、開発フレームワークとか、もっとさかのぼって情報理論とか数学などの基盤シリーズは少しも動じていない。いくら生成AIが何でも Just In Time で作ってしまうとしても、真理や磨き抜かれた古典は再発明でなく再利用される、そこは揺るがない部分だろう。宝石のような不動のピースは生成AIの精度の問題を削減してくれるためリソース注入に値する、いつでも必要なモノという感じ。

人類の発展の礎に欠けているモノに気がついたタイミングで、気づいたその人が単身おもむろにオープンソースプロジェクトを起ち上げ生成AIや利用者とともに高速で磨き上げていくことが現実的になりそうだ*4。もはや個々人は競って先を争うのではなく、Minecraft のトーチのごとく、それぞれの持ち場を照らしてより広い世界を明らかにしていくことに貢献できる局面に入ったかもしれない。

新装版 2001夜物語 : 1 (アクションコミックス)

Codex の乗船券(send_input

ちゃんとツール入ってたじゃないか。Codex 自身もこれはサブエージェント用ツールと捉えててこの使い方は想定外だったらしく案内してくれなかったけど*5、試したらセッション間通信ができた。

Codex App で Codex セッション自身が呼び出せる built-in ツールに spawn_agent wait_agent などの他に send_input があり、エージェント自身がこのツールで他のセッションに対しUUID経由でプロンプト注入できる。サブエージェント側にはこの能力が無いけど、親同士なら通信可能なので、手動にはなるけど複数セッション起ち上げて相互にセッションID共有してping/pongすれば簡単に自律協調チームが作れる*6

メインセッションがターン終了で落ちてても send_input で起こせるので、ようやく信頼できる long-run 実装環境が手に入りました(というのも一時間以上1ターンを継続させると気まぐれに強制終了させられてしまうっぽいので)。

*1:AIの話題はもう打ち止めかも

*2:この威力を強めに味わえる点がエンジニアに残された特権か。激流についての権威は今のところ一人もいない

*3:追いつき抜き去るというニュアンスは本来ないかも。でも自分は読んでそう理解した記憶がある

*4:OpenClawはその魁かも

*5:ちゃんとセッション間通信方法は無いかと訊いたのに

*6:プロンプト注入の運用には入念にガードレールの準備を

ノリが悪い人の最後の抵抗

vibe codingが巷をにぎわし、全自動でAIにソフトウェアを作らせる時代到来な気配が忍び寄ってきた。一方、そうやって作られたSNSがRLS違反で機密情報を一般公開という怖いニュースも聞こえてきた。結局、まだ人が事前に問題を発見できる気配りが要るということか。

個人的にもAIによる自動コーディングの威力に触れて、いちいち人手で介入してボトルネックを演じるのは厳しいものがあると感じつつ、でも責任は取らなければいけないこのジレンマはどうしたものだろうと考える。

そこで、ある程度このジレンマに対する、正解というよりは泥臭い保守的な抵抗についてのメモみたいなものを*1

仕様を明らかにしておく

ここまでコーディングが早くなると逆にウォーターフォール開発が真価を発揮しはじめたといえるかもしれない。こんなこといいな、できたらいいな を最初にじっくり明文化する。思いつくまま気のすむまで細かくしてもAIは困らない。作法を知らなくても仕様書にふさわしい表現にまとめてと頼む。ここが足場として固まればあとは自動コーディングに乗せられる。道を逸れたら仕様を元に指摘する。

仕様は自然言語で読める意図なので、AIと開発者(例え素人であっても)が同じレベルで合意したり議論したりできる地帯を形成する。詳細まですべて自分で決め尽くすよりは、自分がこだわる部分以外はAIに任せるのが vibe 的。vibe codingでは仕様を固めない方がよいという意見もあるみたいだけど、そこは開発者の vibes に基づいていつでも変更すればよい。かつてのウォータフォールはそれが重すぎるからガチ変更不能で本番まで一直線だけど、今や作りながらの上流変更もその重みはAIが受け止めてくれる。

そして、これが思ってたのと違う結果に流れてしまうリスクを削減してくれる。AI駆動では意図が正確に伝わらないことが手戻りなどのパフォーマンス悪化につながるので。小タスクへの分解も目標に沿った高精度なものが期待できる。時間をおいた後にどんなものを作ろうとしていたのか人間側が忘れてもOKな点も気楽。

テスト駆動開発(TDD)で小タスク単位を進めてもらう

AIはいきなり正解を書くからTDDの必要性が薄れたというのは一理あるかもしれない。TDDでトークン消費が最適でなくなり、スピードやパフォーマンスはやや落ちる気もする。なので、これは最適化の話ではなく開発者がコードを理解し介入するためのしかけという意味合いが強い。

仕様から未実装な小タスクを切りだしてもらう(5~10個)。1タスク分のテストを書いて失敗させ、コードを実装し、テストが成功したらコミットする、という手順を守ってもらう。テストには最初に決めた仕様の意図が強烈に反映されていく。例えばRLSを徹底したいなら、テスト部分にその意図を反映させてと頼めばよくなる。vibe codingコードベースにあっても、とにかくテストコードがシステムを理解するとっかかりになるし、仕様通りであることを確認できるようになる。

役割分担でcoding(テストとコード記述) -> review(洞察と差し戻し) -> commit のチーム連係を構築するとまたトークン効率は落ちるけどなお手堅い。

ドメイン駆動開発(DDD)でリファクタリングしてもらう

TDD 進行によりこれも安全に機能する。実際、codex にどんどんタスクをこなさせていくと、高速ゆえに1つのモジュールがあっという間に1000行近くに膨れ上がり、こんなのチェックしてられないとなる。楽している最中なのに高速開発のつけをそこで全部支払う感じがして気が重い。

それで、コードをよく見てみると重複コードが結構ある。小タスク内に関わる部分しか見てないのか、まとめ作業は別タスクだと行儀よく判断しているのか、タスクを連続にこなしていくとこう仕上がるみたい。そこで、リファクタリングを頼むと最終的に1000行モジュールは100行+いくつかの小さなフロー抽出サブモジュールに整理され、コードの威圧感が圧倒的に削減された。整理方針には実績のあるDDDが意図表現、責務分担、可読性の点で有益だと思う。

リファクタリングを頼めば、お作法通りテストと元の公開APIには一切手を付けず、対象モジュールをファサード化して内側を整理してくれるため、機能を壊さず読みやすさが改善される。こまめなテストのおかげで機能が壊れる心配もない。テストコードの整理も振る舞いとその検査の表現が単純化し、読みやすくなる効果が高い。

最後に

以上、ちょっとした専門用語はでてくるし、割と人が口をはさんでるみたいでノリを越えてる感あるものの、一応これでも知識なくコード確認なく人には不可能な速度でタスクが消化されていく。AIに 次のタスクを10個作って とか 1つずつTDDで進めてとか 今はどれをリファクタリングすべき? とかDDDでリファクタリングしてとか伝えてgoサインし、好きなタイミングで機能的にタイトに整理されたコードをじっくり読むことができる。*2

これらはかつて人だったソフトウェア開発者が歴史的に編み出した標準的な処世術なんだよと昔語りされることになりそうな技術達。それをあえて vibe coding に組み込むことで開発速度と安全性を両立させ、人としての最後の抵抗ができるかもしれない、という話でした。

*1:これからソフトウェア開発に参入する非エンジニア向けのヒントになりそう

*2:これもすでに全自動に飲み込まれている?

2026元旦

明けましておめでとうございます。

2025年は元旦の夜明け前に目が覚めベランダから日の出一部始終を眺めたが、年末未明はどうにも寝つけず徹夜で2026年の元旦を迎えることになった。カーテンの隙間が白んできて今にも太陽が顔を見せそうな予感にソワソワしてしまった。

気がつくと山吹色の光が差し込んでいて、きたかと起き出して外をみると三分の一ほど頭をだしている。朝の太陽は柔らかくて淑やかだ。日が高まり光を増すにつれ差し込みがはち切れんばかりなのでカーテンを全開にしたら部屋が金色に染まった。例えばPILOTの月夜インクボトルは幾重もの光線をその縁に吸い取って正体を現したかのようだった。

「そうじゃよ、わしゃ神じゃ。お前が気づかんかっただけじゃ」

この光だまりは実に心洗われる眺めだったので、元旦の太陽がいつも手許にあればいいのにと夢想してしまった。というわけで、めでたいことを思いついた。

今年は人々の胸中に元旦の太陽が灯り続け、不安を焼き払い、目に映る何もかもが黄金色に輝いて満ち足りた2026年を過ごせますように!