2026-09-20

blog に llms.txt を追加した

当 blog に /llms.txt を追加した(#564)。 いつかやっとくか~と思ってから放置してたが、今回着手したら知らない内に v2 が出てたみたい。 なので v2 に対応したものとなっているはず。

生成するのは、 posts ・ pages と書籍毎の booklogs の詳細 Markdown(*.html.md) 、及びそれらの link をまとめる llms.txt 。 index 、 archive 、tags 、 booklog の top page や年ごとのまとめ頁は含めないようにした。 index は最新記事の写しだし、他は記事の内容やリンクを分類したりまとめただけなので、不要。

詳細 Markdown はそもそも各頁の元が Markdown なのでそれを流用し、 front matter の必要な情報は bullet list に変換して埋め込んだ。

llms.txt は仕様に従って動的に生成する。 仕様では、各詳細 Markdown の link には要約をつけるのが例として書かれている。 以下は例示されている https://www.fastht.ml/docs/llms.txt からの引用。

- [FastHTML quick start](https://fastht.ml/docs/tutorials/quickstart_for_web_devs.html.md): A brief overview of many FastHTML features

けど当 blog でそれをやろうとすると、各記事の要約を AI に自動生成させるか、ヒトがそれぞれの記事の要約を書く必要が出てくる。 AI にやらせると結果が非決定論的てブレが生じるから NG 。 でもヒトがそれをやるなら、各記事を書く度に要約を考えて front matter にかくとかしないといけなくなる。これはめんどい。 link の要約を省くのは仕様違反ではないようだし、当 blog は title - sub-title の形式にしているので、それで内容を表すのに十分な情報とみなし、以下の形式にした。

- [F# で command-line predictor を書いてる Part 12 - 0.8.0](https://krymtkts.github.io/posts/2026-09-13-writing-cmdline-predictor-in-fsharp-pt12.html.md)

全体は以下のようになる。

# krymtkts

> krymtkts's personal blog

## Posts

- [ブログを始めた](https://krymtkts.github.io/posts/2019-01-08-first-post.html.md)
... 省略 ...

## Pages

- [About Me](https://krymtkts.github.io/pages/about.html.md)

## Booklogs

- [アドレナリンジャンキー プロジェクトの現在と未来を映す 86 パターン](https://krymtkts.github.io/booklogs/adrenaline-junkies.html.md): Tom DeMarco, Peter Hruschka, Timothy Lister, Steve McMenamin, James Rovertson, Suzanne Robertson, 伊豆原弓
... 省略 ...

ブログを続けるだけページ数が増えてくので、結構 llms.txt の行数が多いが、ソレは仕方ないかな。 今後多過ぎることで問題になるようなら、最近の posts や booklogs だけにして量を減らすとかはありかも知れんが、網羅性という意味で劣るので様子見やな。

そして改めて見てみると... posts と booklog の並び順があまり好きじゃない。 posts ・ booklog ともに は日付降順の方が良い。今 posts は日付昇順、 booklog は slug 昇順になってるな。 仕様に触れない部分なので、サクッと直すのが良さそう。