<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title type="text">andante</title>
    <subtitle type="text">個人的な日記です</subtitle>
    <updated>2026-04-17T00:23:19.490864+09:00</updated>
    <id>https://ofni.necocen.info/atom</id>
    <link rel="self" type="application/atom+xml" href="https://ofni.necocen.info/atom" />
    <rights>Presented by κねこせん under CC0.</rights>
    <generator>Nocturne v11.2.1 2024-07-04T14:11:52.123808694Z</generator><entry>
    <title>0416</title>
    <link rel="alternate" href="https://ofni.necocen.info/5880" />
    <id>https://ofni.necocen.info/5880</id>
    <updated>2026-04-17T00:23:19.490864+09:00</updated>
    <published>2026-04-17T00:23:19.490864+09:00</published>
    <author>
        <name>κねこせん</name>
    </author>
    <content type="xhtml" xml:lang="ja" xml:base="https://ofni.necocen.info/">
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>ソフトウェアを継続的に改修している時、だんだん以前の設計ではしんどいなと感じる経験があり、それをきっかけに設計の変更をすることがある。しかしAIコーディングエージェントは今のところ過去の記憶が覚束なく、そのような経験を持つことは難しい。そこで、このような経験をコミットログから定量的に検出して指摘するプログラムがあれば、コーディングエージェントにもそのような「いつまでもこのまま開発しても手詰まりが近いぞ」という（暗い）気持ちを持ってもらえるのではないか。<br />というようなことをChatGPTに相談したところ、実際そういう研究は（当然）あり、たとえば境界を跨いで同時に変更される頻度などを指標にできるらしいので、じゃあそれを診断するコマンドを作ってよ、とcodexに依頼した。なんだか小難しい計算や重み付きの平均などが出てきたが、今の僕は全身がvibe coderなので、詳しい理論的背景は読んでいない。<br />今のところこのコマンドによる設計変更提案はないようだが、しばらく試していたら何かあるだろうか。</p>
<p>ところで、このような考えかたはパラダイム論っぽいなと思う。つまり、設計を再検討せずに改修を続けることは通常科学の営みであり、それによって説明できない現象（＝設計の理念にうまく従わない改修・新しい要求・不具合）が頻発するようになると、それらを一挙に解決する新しい理論（＝設計変更）によって飛躍が起きる。<br />逆方向に考えるならば、ニュートン力学は日常的なスケールの現象を説明する理論としては完成されていたが、光速に近いスケールや、電磁気学という別システムとの連携に課題を抱えていたため、時間と空間を統合してMinkowski計量を持つ四次元時空として扱うという設計の刷新を行うことでそれを解決したともいえる。ほんとかよ。</p>
        </div>
    </content>
</entry>
    <entry>
    <title>0415</title>
    <link rel="alternate" href="https://ofni.necocen.info/5879" />
    <id>https://ofni.necocen.info/5879</id>
    <updated>2026-04-16T03:58:17.588471+09:00</updated>
    <published>2026-04-16T03:58:17.588471+09:00</published>
    <author>
        <name>κねこせん</name>
    </author>
    <content type="xhtml" xml:lang="ja" xml:base="https://ofni.necocen.info/">
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>子を散歩に連れ出していつもは行かない方角に歩いていったらこれまで知らなかった大型のスーパーの存在に気づいた。そんなことあるんだ。</p>
<p>Claude Codeにコードを書かせていると、何気に理想的ではないモジュールの呼び出しかたをしてくることがあるので、アーキテクチャ（モジュール依存境界）違反を検知するlinterを入れた。後からリファクタさせることはできるけど、lint errorにするほうがよりよい。<br />cargo-archtestというのがそのためのツールっぽいのだが、長らくメンテされてなくてインストールできなかったので、ast-grepに簡単なルールを書いて実現した（Codexが）。これもっといろんなことに使えそうな気がするし暇なときにもうちょっと試してみたい。</p>
<hr />
<p>寝ます。</p>
        </div>
    </content>
</entry>
    <entry>
    <title>0414</title>
    <link rel="alternate" href="https://ofni.necocen.info/5878" />
    <id>https://ofni.necocen.info/5878</id>
    <updated>2026-04-15T03:11:15.404900+09:00</updated>
    <published>2026-04-15T03:11:15.404900+09:00</published>
    <author>
        <name>κねこせん</name>
    </author>
    <content type="xhtml" xml:lang="ja" xml:base="https://ofni.necocen.info/">
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>Seizaのリポジトリが450コミットを超えていた。行数は5万行近い。別に行数が多くてもコミットが多くてもそれ自体に価値があるわけではないが、とはいえやっぱり圧倒的な生産性だなと思う。<br />今日はファイルアップローダを作った。ストレージを実際どうするかは考えないといけない問題だが、たぶんS3互換の何かでしょう。Cloudflare R2とか気になるよね。<br />ファイルアップロードまでいけたらさすがに試用していけるんじゃないかと思う。まあ別に自分しか使わないんだからどうだっていいのだ。</p>
<p>注文していたフリップドットディスプレイが届いた。思っていたより早かった（？）ので受け入れ体制がない。まあどのみち育児や他プロジェクトでそれどころではないのだが。とりあえずまずは電源を調達する必要がありそうだ。</p>
<hr />
<p>子は最近になって手の存在に気づきつつあり、さかんにハンドをリガードしているが、物体を掴むのはまだ偶然に頼っている。強化学習〜〜〜！という気持ちで見ているが、どういう報酬を与えればいいのかはよくわからない。</p>
        </div>
    </content>
</entry>
    <entry>
    <title>0413</title>
    <link rel="alternate" href="https://ofni.necocen.info/5877" />
    <id>https://ofni.necocen.info/5877</id>
    <updated>2026-04-14T03:36:51.537440+09:00</updated>
    <published>2026-04-14T03:36:51.537440+09:00</published>
    <author>
        <name>κねこせん</name>
    </author>
    <content type="xhtml" xml:lang="ja" xml:base="https://ofni.necocen.info/">
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>Claude Codeをちゃんとしたサンドボックスに入れようと思ったのだけど、そうするとPlaywrightが難しい感じになることがわかったので、標準のサンドボックスで我慢することにした。必要になったらいつでもサンドボックス外で実行できるサンドボックスとは何なのかみたいな気持ちがなくはない。いやさすがにもうちょっとちゃんとしてるのか？</p>
<p>Seizaはまた悩んでいる。Web clip機能の立ち位置とか。外部Webページは、アップロードされた画像やPDFと同様の外部リソースとして扱うべきなのだろうか。そしてそれらの外部リソースはユーザーが書いたノートに対してどうインタラクションすべきなのだろうか。<br />ここまで詰められたら一旦デプロイして実際に試してみて、それからClaudeに「こういう使われかたをするっぽいけど改善点はある？」と訊いてみれば何かしら良くなるのではないか。祈り駆動開発ふたたび。</p>
<hr />
<p>寝ます。</p>
        </div>
    </content>
</entry>
    <entry>
    <title>0412</title>
    <link rel="alternate" href="https://ofni.necocen.info/5876" />
    <id>https://ofni.necocen.info/5876</id>
    <updated>2026-04-13T03:28:01.783784+09:00</updated>
    <published>2026-04-13T03:28:01.783784+09:00</published>
    <author>
        <name>κねこせん</name>
    </author>
    <content type="xhtml" xml:lang="ja" xml:base="https://ofni.necocen.info/">
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>Claude Codeのauto modeを使っているのだと思っていたが、契約中のプランではまだ有効ではない（Teamとかでしか使えない？）ことをいまさら知った。じゃあ昨日とかスイスイ進んでたのは何だったんだ？まあいいでしょう。</p>
<p>Seizaはまたコンセプトを悩んでいる。コンセプトというよりは設計の話か。ノートに対してreplyをする機能が、あったほうがいい理由もないほうがいい理由もあるので、うーん。なんかでも、最終的にはなくしそうな気がするな。</p>
<hr />
<p>寝ます。</p>
        </div>
    </content>
</entry>
    <entry>
    <title>0411</title>
    <link rel="alternate" href="https://ofni.necocen.info/5875" />
    <id>https://ofni.necocen.info/5875</id>
    <updated>2026-04-12T02:50:19.070720+09:00</updated>
    <published>2026-04-12T02:50:19.070720+09:00</published>
    <author>
        <name>κねこせん</name>
    </author>
    <content type="xhtml" xml:lang="ja" xml:base="https://ofni.necocen.info/">
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>天気が悪くなると聞いていた気がするのだが、今日は晴れてて暑かった。まあ、天気が悪くなると聞いたのが何日前のことだったか思い出せないので、もうずっと昔の話だった可能性もある。</p>
<hr />
<p>Maestriという、LLMエージェントを起動したターミナルを自由に配置してターミナル同士をグラフィカルに連結するとエージェント同士も連携できる、みたいなすごいUXのツールが話題になっていたのでちょっと試した。面白いナァ！とは思ったが、ターミナルをいっぱい開いているとけっこう移動が遅くなったりしちゃうのと、エージェント連携が結局標準出力をコピペするだけなので、期待したほど息が合ってはいない気がした。でもtmuxで16並列開発や！って言ってる人とかはたぶんこういうのをやってるのよね。しかし別に他エージェントに相談するだけなら、今はCodexがClaude Code向けに公式のskillを出したりしているわけで、それほどありがたみは無いのかもしれない。僕が使いこなせてないだけなのかな。</p>
<p>auto-modeとサンドボックスを有効にしたので、もうかなり長時間僕の介入なしで走るようになっている。最近はこういうハーネス盆栽みたいなのもすこし楽しくなってきていて、やっぱりコードを実際に書きながら進めているからかなと思う。</p>
<hr />
<p>寝ます。</p>
        </div>
    </content>
</entry>
    <entry>
    <title>0410</title>
    <link rel="alternate" href="https://ofni.necocen.info/5874" />
    <id>https://ofni.necocen.info/5874</id>
    <updated>2026-04-11T01:15:56.462437+09:00</updated>
    <published>2026-04-11T01:15:56.462437+09:00</published>
    <author>
        <name>κねこせん</name>
    </author>
    <content type="xhtml" xml:lang="ja" xml:base="https://ofni.necocen.info/">
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>泣いている子をベッドに置くとき、「置かれた場所で泣きなさい」と言っている。</p>
<hr />
<p>Seizaの開発はもうまったく把握できないが何かがずっと進んでいる。僕がコンセプトを適当にしゃべるとClaudeとCodexが何かを既存ドキュメントとの整合性をチェックしつつ何かを設計し、モジュール結合の健全性などを評価し、動作確認をしてOKですねと独りごちている。いろいろ確認を求められたりもするが、出てくる用語の定義がうろ覚えなので、雰囲気でOKしている。我こそがvibe codingの体現者だ。<br />それで当たり前のことに気づいたが、いくらplaywrightなどでブラウザ操作まで自動でチェックできるとはいえ、インタラクションの手触り感とか、そういうUXの評価までは現状のLLMには難しいだろう。今からUXデザインの勉強をすればまだ失業しないで済むかもしれない。</p>
        </div>
    </content>
</entry>
    <entry>
    <title>0409</title>
    <link rel="alternate" href="https://ofni.necocen.info/5873" />
    <id>https://ofni.necocen.info/5873</id>
    <updated>2026-04-10T02:51:39.780073+09:00</updated>
    <published>2026-04-10T02:51:39.780073+09:00</published>
    <author>
        <name>κねこせん</name>
    </author>
    <content type="xhtml" xml:lang="ja" xml:base="https://ofni.necocen.info/">
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>体調はだいぶ戻ったのでよかった。天気が悪くなるまえに子を散歩に連れて行った。かつて自分が何十回も通った道を、妻と子と歩く。もう人生ここらでエンディングってことでスタッフロール入ってもよくないですか？</p>
<p>Seizaはコンセプトをちょっと練り直す。すべてのノートはそれ自体がユーザーの思考の一部として振る舞い、エージェントとして他のノートに関与する。結局エージェントかよ！まあ難しい実装はCodexとClaudeがやってくれるので、僕は参考情報を渡してコンセプトを考えるだけ。</p>
<hr />
<p>寝ます。</p>
        </div>
    </content>
</entry>
    <entry>
    <title>0408</title>
    <link rel="alternate" href="https://ofni.necocen.info/5872" />
    <id>https://ofni.necocen.info/5872</id>
    <updated>2026-04-09T00:15:47.386474+09:00</updated>
    <published>2026-04-09T00:15:47.386474+09:00</published>
    <author>
        <name>κねこせん</name>
    </author>
    <content type="xhtml" xml:lang="ja" xml:base="https://ofni.necocen.info/">
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>体調を崩した。咳やくしゃみはないし熱もないが喉が痛い。あと関係あるのかないのかわからないが膝が痛い。<br />そういうわけで昼間は寝ていた。恐ろしいことだが寝ていてもマシンさえ立ち上がっていればClaude Codeにリモートで指示を出すことができる。ただ継続中のセッションはなんか実行許可ダイアログをうまく出せなくてスタックしてしまったのか、こちらからの呼び掛けには応えなくなっていたから、今日は何もしなかった。でもこんなのやり出したら本格的に精神が壊れるぞ。</p>
<p>Seizaのリポジトリは3万行を超えた。2万行がバックエンド、5000行がフロントエンド、残りがドキュメント。コンセプトのドキュメントとADRを残しながら進めると、Claude Codeがちゃんと過去の経緯を参照してくれることもある。コンセプトは手探りで作っていくしかないので、記録が残るのはいいことだ。</p>
<p>そういえばAnthropicの新しいモデル「Claude Mythos」がヤバすぎて一般公開の予定なしと判断されたらしい。GPT-2で見た流れだな……？と思うのは昔話大好きおじさんの癖だからいいとして、今のスピード感だと結局1年も経てばオープンモデルでそのくらいの性能が出るようになるのだろう。衝撃に備えるしかない。</p>
<hr />
<p>明日はもうちょい元気になりたい。でもなんか明後日以降またしばらく天気悪いらしいね。</p>
        </div>
    </content>
</entry>
    <entry>
    <title>0407</title>
    <link rel="alternate" href="https://ofni.necocen.info/5871" />
    <id>https://ofni.necocen.info/5871</id>
    <updated>2026-04-08T00:51:39.900561+09:00</updated>
    <published>2026-04-08T00:51:39.900561+09:00</published>
    <author>
        <name>κねこせん</name>
    </author>
    <content type="xhtml" xml:lang="ja" xml:base="https://ofni.necocen.info/">
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>マルウェアだけでなく、シカクウェアやサンカクウェアなどによる被害も近年広がっているらしいです。</p>
<hr />
<p>Claude CodeときどきChatGPTとCodexみたいな一日。なんかClaude Codeがhookの失敗時にそのまま作業を中断してしまう問題が時々あったのだが、Codexに相談してhookを修正してもらったら直った。これによってClaude Codeが30分以上普通に動きっぱなしでいるようになった。そろそろ効率のことを考えていかないと、Rate Limitに縛られることになるかもしれない。</p>
<hr />
<p>「楽しんだもん勝ち」みたいな価値観が嫌いである。まず俺は勝つために生まれてきたわけではないし、そういう観点に無批判な人間は「勝ち」と道徳的な正しさを擦り合わせるために「楽しい」のほうを歪めていくことにも無頓着である。<br />我々は負けても構わないし、後悔しても構わないし、苦痛に耐えながら生きても構わない。自分がやるに値すると信ずることを為し、生きるに値すると信ずる生を生きろ。（そうすべきなのではなく、俺はただそうするのだ。）</p>
        </div>
    </content>
</entry>
    </feed>