2026年3月

03月18日(水)

引き続きCodexを触っている。僕の用途ではChatGPT Plusで十分。

5分以上考えるような「◯◯を作って」という抽象的な指示はほぼうまくいかない。詳細なTASKS.mdだのPLANS.mdだのを作り、「誰が作っても同じ成果物になる」という段階まで作り込んでから実装に入らないとうまくいかない。

また、人間側に要求される知識も結構高い。例えばDockerfileを作らせた時に、「テストは通るが自分の想定とは異なる」ことを、できたDockerfileやcompolse.ymlを見て判断できないといけなかった。また、クローラを作った時に、いわゆるソフト404の問題が発生していることを確認し、その修正を指示しなければならなかった。

結果、「1分から2分で何か指示待ちになる」「人間はPLANS.mdを見て、想定どおりに行動しているかを毎回判断しなければならない」ということで、極めて忙しくなる。これは絶対にVibe codingと呼ぶべき状態ではない。非常に早いサイクルで回されるウォーターフォール。うーむ。

竹内さんが2025年度理研梅峰賞を受賞。素晴らしい。学科と研究室のウェブサイトに掲載。

メール処理とか。春の学校の搭乗証明書の提出が16日までだった。慌てて対応。すみません。

03月17日(火)

息子の卒業式に参加。

03月16日(月)

というわけでCodexデビュー。まず、ChatGPTに「Codexにどのように指示すべきか?」を聞いて、相談しながらTASK.mdを作成、Codexには「TASK.mdを読み、まずタスク要約、作成予定ファイル一覧、実装方針を示し、その後で実装してください。」と指示するだけ。動き出してコーヒーを飲みに行ったら実装方針ができており、あとは対話的にテストを実行していくだけ。確かにこれはやばいかもしれない。

っていうか、最初にしっかりしたTASKS.mdAGENTS.mdが書けたなら、あとは放っておける?

全然そんなことはなかった。Codexがどんどん指示を仰いでくる。ものすごく忙しい。

っていうかさ、これだけ詳細なTASKS.mdAGENTS.mdがあったらAIだろうが人間だろうが普通にコーディングできるだろ・・・

論文の査読結果が返ってきた。厳しいなぁ。

03月15日(日)

出張のたびに、新幹線や飛行機の中でやるためのゲームを購入している。最近(といってもこの半年くらいだが)2つのゲームをクリアしたので、その感想メモ。

「ソーマブリンガー」ニンテンドーDS向けの、いわゆるハクスラ系のゲーム。Diablo系のスキルツリーがあるが、スキルに関してはいつでも振り直すことができるので、だいぶ優しい。ゲームバランスとしては、ポーションが飲み放題だが、飲んでから回復するまでにタイムラグがあるので、そのラグで死なないように気をつける、という感じ。つまり、戦闘ごとに死にそうになるが、戦闘が終わったら基本的に全回復できる。いつでも拠点にワープでき、お金にも困らないため、ポーションは常に十分にある状態。戦闘は、相手のタイミングに合わせてうまく攻撃すると打ち上げることができ、その状態で連続技を叩き込むことで大ダメージ、というコンボシステム。ただ、それができる楽だ、というだけで、できなくてもゴリ押しでなんとかなるレベル。

ゲームとしては面白かったし、戦闘システムも(やや単調だが)爽快感もあって良かったのだが、ストーリーが微妙だった。シナリオは悪くなく、いわゆる「ボーイ・ミーツ・ガール」系の王道ストーリーで、実は少女が敵側と同じ出自で・・・というもの。最終的に、ずっと戦ってきたライバル的存在(男)と、その少女が光になって空に飛んでってしまい、少年はどこかにいるはずの少女を探し続けるみたいなエンディングで、なんというかその、そりゃないよ、という感じ。周回ゲーだが、二周目をする気にはなれなかった。

「ファイナルファンタジーリング・オブ・フェイト」これもアクションRPG。4人同時プレイであり、そのうち一人を選んで操作、残りはAI操作となる。ゲームカタログでは「良作」とあったので購入したが、ちょっと微妙だった。面白くなくはなかったのだが、まず戦闘システムとして、毒やしびれなどのバッドステータスが強力で、こちらが使っても有用なのだが、敵側も雑魚もボスもガンガン使ってくる。バッドステータスは、しばらく行動不能な「気絶」や「凍結」、移動は可能だが攻撃やアイテム使用は不可な「しびれ」、一定時間ごとにダメージが入る「毒」など。このゲーム、おそらくマルチプレイ前提であるせいか、バッドステータスの継続時間がやたら長い。おそらく他のプレイヤーに回復させるためだろう。なのでシングルプレイだと、「気絶」中に「凍結」、「しびれ」中に「気絶」、そして「凍結」と、バッドステータスが連チャンする、いわゆる「ハメ」状態が多発し、非常にストレスフル。後半の的が多用する「毒」もやっかいで、このゲームはスキル、魔法、アイテムはすべてボタン長押しによるチャージ発動なのだが、このチャージはダメージを受けるとキャンセルされてしいまう。なので、「毒」中は事実上スキルや魔法、アイテムが封じられてしまう。その間に他のバッドステータスがくる。また、魔法の使用も下画面の魔石をタッチ、Xボタン長押しでチャージ、十字キーで場所を指定して発動、という仕組みであり、素早く目的の魔法を使うことが難しい。さらに、魔法が得意なキャラクターに使わせないと効果が薄いので、物理耐性が強く、魔法が弱点の敵が出たら、「魔法キャラにスイッチ」→「弱点属性の魔石をタッチ」→「Xボタン長押しでチャージ」→「十字キーで敵をターゲッティング」→「ボタン離しで発動」とやたらと面倒くさい。せめてシングルプレイ時の魔法のターゲッティングの間は時間が止まるとかしてくれればよかったのだが。

あと、ストーリーがやたらと鬱であり、父親、母親が殺され、姉は自我をほぼ失った状態で、自分も病死寸前までいく、最終的に「世界を作り変える」ことで幸せな世界線に行くが、それも「本当にその世界に行った」のか、それとも死ぬ前の幻影なのかがわからない状態。とにかく救われない。こちらも周回ゲーであり、二周目はより強力なアイテムが解禁されるのだが、やる気にはなれなかった。

というわけで、二作とも「つまらなくはないが、最終的にきれいなハッピーエンドにはならず、もやもやが残る」というゲームだった。うーん。

鬱ストーリーといえば、ドラクエVもかなり鬱だが、最終的にはなんかハッピーエンドっぽくなったし、さほど悪いイメージがない。そういえば、鬱RPGのお約束として、ラスボスよりも中ボスの方がヘイト高めになるのも共通点だな。ドラクエVでも、リング・オブ・フェイトでも、父親を殺すのは中ボスで、どちらもラスボスにあまり思い入れがない。っていうかドラクエVのラスボス覚えてないや。

結局、なんどもクリアしたのは、ドラクエV(プレステとDS)、ポポロクロイス2、スライムもりもりドラゴンクエスト2くらいかなぁ。

03月14日(土)

品岡さんに「ChatGPT Plus契約してたらcodex使えますよ」と言われて確認する。

まず、nvmを入れる。うちの環境ではすでに入っていた。

次にNode 22を入れる。

nvm install 22
$ node -v
v22.22.1

入ったな。デフォルトに固定しておく。

nvm alias default 22

次、codexのインストール。

npm i -g @openai/codex
$ codex -V
codex-cli 0.114.0

codexを実行。

$ codex
  Welcome to Codex, OpenAI's command-line coding agent

  Sign in with ChatGPT to use Codex as part of your paid plan
  or connect an API key for usage-based billing

> 1. Sign in with ChatGPT
     Usage included with Plus, Pro, Business, and Enterprise plans

  2. Sign in with Device Code
     Sign in from another device with a one-time code

  3. Provide your own API key
     Pay for what you use

  Press Enter to continue

するといくつか選択肢が出るので「> 1. Sign in with ChatGPT」を選ぶ・・・と固まる。ChatGPTに聞いたら、WSLでブラウザ経由の認証が通らないのは既知の問題らしい。

仕方ないのでデバイスコード認証にする。事前にブラウザ側でデバイスコード認証を開いておく必要がある。

codex login --device-auth

を実行。あとは指示に従う。具体的には指示されたURLをブラウザで開き、ターミナルに表示されているone-time codeをブラウザに入力すればOK。

これで僕もAgentic Codingデビュー。

物理学会Jrセッション審査。みなさん発表上手ですね。

03月13日(金)

アメリカとのZoom。最初は日本時間9:00AM、アメリカ時間7:00PMで予定してたつもりが、いつの間にかアメリカ時間8:00PMになって「あれ」と思ったら、向こうは3月8日からサマータイムだった。

なんか会議やミーティングが入りまくり、その当然の帰結として予定がぶつりかりまくっている。

長い会議。

arXivの話を書いた。

03月12日(木)

というわけで沖縄に行ってから1週間分の日記をまとめて書いている。

Dockerハンズオン。

研究室ミーティング。

新専攻関連でメールをたくさんやりとり。いろいろ追いついてない。明日も一日会議。明後日も予定がバッティング。

03月11日(水)

わりと無理して計算科学春の学校の予定を入れたため、いろいろ破綻している。メール処理とかが追いついていない。会議もバッティングしまくり。

03月10日(火)

計算科学春の学校二日目。Git/GitHubの演習。

品岡さんにAIコーディングについて見せてもらったが、かなりきっちりしていた。AIの能力は高く評価しつつ、その知識は信頼せず、対話的に使用や実装プランを作らせてからGOサインをだしている。少なくとも初心者が「すぐにできる」感じではなかった。あれは「バイブコーディング」ではない。品岡さんは「バイブコーディング」の語感を嫌って「Agentic Coding」と呼ぶようにしているとのこと。いろいろ考える。自分もAIコーディングについて調べなければ。

Git/GitHub演習、最後にゲームを作る時間を設けたが、そこでがんばってゲームを作る雰囲気じゃなかったな。もっといろいろ手を動かすところ、例えば「少し修正してpushし、GitHubでPage Buildが走っている様子」を見せると良かったかも。あとは機械学習のデモをもっといれればよかったか。ghコマンドの説明も少しいれても良かったかも。いろいろ反省。

しかし、2日間しゃべりっぱなしで疲れた。

03月09日(月)

計算科学春の学校。Gitの講義。

また、ヨビノリたくみさんとの動画が公開された。

【スパコンことはじめ】ヨビノリたくみ×ロボ太(慶應義塾大学・渡辺宙志)対談 凡人+スパコン=天才?~スパコンを用いた分子動力学計算~

夜はステーキ。

03月08日(日)

沖縄へ。

03月07日(土)

明日の準備。

03月06日(金)

午前中は病院。うーん。

Macにpyenvを入れてみるテスト。

brew install pyenv
pyenv install 3.11

最新のWSL(Ubuntu)にはPython 3.12が入っている。これなら大丈夫かな。

Python3のvenvが入ってなかった。

sudo apt update
sudo apt install python3.12-venv

tensorflowjs_converterを実行したら

ModuleNotFoundError: No module named 'pkg_resources'

というエラーが出る問題、setuptoolsのバージョンが新しすぎるのが原因だったらしい。おそらくuvで入れたときにうまくいかなかったエラーもこれだな。以下のように一度アンインストールし、古いバージョンを指定して入れなおせばOK。

python3 -m pip uninstall setuptools
python3 -m pip install "setuptools==80.9.0"

これ、また一年くらいしたら動かなくなってそうだな・・・

03月05日(木)

会議。

Vimハンズオン。テキストを少し修正したほうがいいなぁ。

研究室ミーティング。StarCraft IIの話。RTSのAIももう一度研究してみたい。

研究室飲み会の場所を予約した。条件をChatGPTに食わせて候補を出してもらって、URLに飛んで調べて予約。楽ちん。これは人生変わるな・・・

機械学習がらみ、すぐにバージョン不整合が起きるな・・・

TensorFlowのモデルをJSにエクスポートするやつ、うまく動かなかったので、えらく苦労して動くようにした。ついでにvenvではなくuvにしてみたら動かなくなった。原因不明。

で、時間切れで家に返ってvenvでやろうとしたらPythonが古いっぽい。pyenvで入れようとしたら古いバージョンしかない。pyenvも古かった。pyenvも入れ直し。

curl https://pyenv.run | bash

.zshenv

export PYENV_ROOT=${HOME}/.pyenv
export PATH=${PYENV_ROOT}/bin:${PATH}
eval "$(pyenv init -)"

Python 3.11系を入れる。

pyenv install 3.11
pyenv global 3.11.15

これで学習、エクスポート、JS変換、HTMLからインポート全てできた。uvでやり直す元気はない。明日ここの講義ノート書いたら春の学校の準備おしまい。結構なエフォート持ってかれたな・・・

03月04日(水)

情報処理学会の会費、2年分払った。去年も払い忘れてたらしい。自動引き落としだと思ってた。

会議。いろいろメール。

卒論・修論の発送を依頼した。明日発送のはず。

計算物理春の学校、スライドをあらかた修正した。必須はあと1つ。できれば「暇な人向け」のスライドと資料をもう一つ作りたいが、間に合うか?

03月03日(火)

輪講の本届いた。

車検の予約入れた。

卒論・修論の発送準備完了。

来年から封筒手書きはもうやめてシールにさせてもらおう。さほど作業時間はとられないんだけど、「手書き」というだけで腰が重くなってなかなか手をつけられない。

03月02日(月)

朝、血液検査。前回の健康診断で「太り過ぎ」となり、追加で医師面談。そうしたら「生活改善した上で、しばらくしたら血液検査ね」と言われた、その血液検査。結果はまた後で。

卒論と修論の製本ができたので受け取った。上製本は映えますね。

計算物理春の学校の座学スライド、全て完成。

後は演習のスライド修正と、暇な人向けの課題の追加、GitBashのインストールについて追記すればおしまい。

VSCodeでURLをクリップボードにいれた状態で、Markdown中の文字列を選択して「ペースト」すると、自動的にURLへのリンクになることを知った。操作ミスで気づいた。知らんかったな。

03月01日(日)

3月だ。

引き続き計算物理春の学校の準備。だいぶできてきた気がする。

科研費採択された!自信はあったのだが、ちゃんと採択されて良かった。

「ホリミヤ pieces」見終わった。まずアニメとしては好き。好きなんだけど、なんかその、「親子二代で同じ学校で何か起きている」というのを見ると、少し息苦しくなるというか。そういう意味では「からかい上手の(元)高木さん」も似たような感じ。うーん。

あとは、フリーレンの新シーズンも見ている。