Re: Hello, World
【読むのに約 6 分】
ishinao.net をまた動かす
ishinao.net は、ずいぶん昔から使っているドメインだ。
whois を見たら、ishinao.net の Creation Date は 2002-01-13T00:36:49Z だった。もう24年くらい前である。
昔はここにもブログ、というかWeb日記があった。技術メモを書いたり、買ったものの話を書いたり、なんか気になったニュースに反応したりしていた。ところがここ最近は、壊れた自作ツールがエラーを吐いたまま。ドメインだけ持っていて、中身はない。そういう状態でしばらく放置していた。
それを、ampless CMS を作り始めたのをきっかけに、ようやく戻すことにした。
ただ、これは単に昔のブログを復旧した、というだけの話ではない気がしている。SNSやブログサービスが当たり前になったこの世の中で、自分で運営する個人Webサイトをもう一度持つことに、今ならではの意味があるのではないか。そういうことを少し考えている。
個人Webサイト、Web日記、ブログ
インターネット老人会みたいな話をすると、昔はまず個人Webサイトがあった。トップページがあり、プロフィールがあり、リンク集があり、更新履歴があり、その中にWeb日記が置かれていた。訪問カウンターが回り、キリ番報告があった。
Web日記は、いま思うとかなり不思議な場所だった。誰に向けているのかよく分からないまま、その日に見たもの、買ったもの、作業したこと、腹が立ったことを書く。毎日きっちり更新する人もいたし、数週間空いてから何事もなかったように戻ってくる人もいた。そういうWeb日記をゆるくつなぐ日記猿人(日記才人)のようなWeb日記コミュニティサービスもあった。
わたしの場合、本当の初期はHTMLを書いていた。ホームページビルダーを使っていたんだったかな。ページを作り、リンクを張り、更新履歴を書き換える。そういう普通の個人Webサイトだった。
ただ、比較的すぐに自作のCGIツールへ移行した。昔は、いわゆる動的Webアプリケーションを、ざっくりCGIツールと呼んでいた。自分で作ったCMSというかWeb日記ツールをいろいろ使ったし、Hyper NIKKI System(h14m.orgは今見ると403になっていた)や tDiary のようなオープンソースのWeb日記ツールも使っていた。
CGIという言葉も、今考えると少し不思議である。Common Gateway Interface。本来はWebサーバーと外部プログラムをつなぐためのインターフェース定義の名前なのに、なぜか動的Webアプリケーション全般を表す名前として使われていた。PHPのように、いわゆるCGIとは少し違う内部動作で動くWebアプリケーション環境を使っていても、まとめてCGIツールと呼んでいた気がする。
そのうち、Web日記はブログと呼ばれるものになっていった。RSS、コメント、トラックバック、カテゴリ。そういうものが出てきて、Webで文章を書く作法が少しずつ変わっていった。
そのあと、ブログサービスやSNSが普通になった。自分でサーバーを用意しなくてもいい。デザインを作らなくてもいい。読者も最初からそこにいる。短い近況ならSNSで済むし、長い文章を書く場所もいろいろある。
そうなると、自分でドメインを持ち、CMSを動かし、テーマを直しながら個人サイトを続ける人たちはだいぶ減っていった。
でも、自分のサイトは自分で好きにできる
それでも、自分のサイトは自分で好きにできる。
トップページをどう見せるか。記事ページに何を置くか。Xに共有したときの文面をどうするか。タグを1つだけ出すのか、3つ並べるのか。昔の記事をどう残すのか。Not Foundになっていたページを、どんな顔で戻すのか。そういう細かいところを、誰かのプラットフォームの都合ではなく、自分の都合で決められる。
これは、ただの懐古趣味ではないと思う。プラットフォームは便利だが、そこで書いたものは、そのプラットフォームに寄稿しているようなものだ。タイムライン、通知、広告、レコメンド、サービス側のUI変更。すべてを自分でコントロールすることは基本できない。
個人サイトは、もう少し雑に置いておける。読まれるかどうかは別として、そこにある。派手に伸びなくてもいい。誰かのおすすめ欄に乗らなくてもいい。あとから自分で見返したときに、この時期の自分はこういうことを考えていたのだな、と分かればそれでいい部分もある。
昔のWeb日記には、そういう感じがあった。世界へ発信しているというより、自分の場所に書いている。たまたま読みに来た人が読む。そのくらいの距離感である。
ampless という CMS を作っている
ampless は、わたしが作っている AWS Amplify Gen 2 環境で動くサーバーレス CMS だ。
Next.js をフロントエンドにして、Cognito、DynamoDB、S3、AppSync、Lambda あたりを組み合わせて動かしている。WordPressみたいに常駐サーバーを立てるのではなく、AWSのサーバーレスサービスにすべて任せる方向で作っている。完全従量課金で動作するので、零細個人Webサイトならばおそらく月数百円程度で動かせるだろう。まったく更新もアクセスも無ければほぼ0円で維持できる。
投稿は管理画面から書ける。加えて、MCPツール経由でAIエージェントから記事を読んだり更新したりもできる。この文章も、下書きを投げて、構成を直して、最後にMCP経由で投稿を更新している。
まだソースコードは非公開のアルファ版である。ただ、npmモジュールは公開していて、npx create-ampless@latest でサイトを作れる。とはいえ、今の段階で人に利用をおすすめできるかというと、まだちょっと早い。仕様変更はまだ普通にありそうだし、作っている本人が自分のサイトでバグや仕様の齟齬を踏み抜きながら開発している途中でもある。
ちょっと試してみるくらいなら大丈夫。ちゃんと使うつもりなら、もう少し待ったほうがいい。まあ、そういう温度感だ。
ampless CMS 自体の紹介サイトは ampless.heavymoons.net に置いている。これもamplessで作っている。CMSの紹介サイトを、そのCMSで作るという、よくあるドッグフーディングだ。まだ作っている途中なので書かれている内容は随時更新されている。
AIを使う前提で個人Webサイトを作る
最近はAIエージェントを使ったコーディングやクリエーションが、普通に使える道具になってきた。そうなってくると、個人Webサイトをもう一度やる意味が少し変わってくる。
AIコーディングを試している人は多いだろうが、それをどのくらい実践的に試せるだろう。仕事をそのままAIコーディングに丸投げすることは難しいし、かと言って実戦で試さないとノウハウがたまらない。
その実験場として個人Webサイトというのは丁度良い。
AIエージェントにテーマのファイルを読んでもらい、カスタマイズしてもらう。デザイン修正結果をブラウザで確認してもらい、スクリーンショットを撮る。問題なければ GitHub にコミットしてデプロイしてもらう。あるいはMCP経由で画像をアップロードしたり、記事本文を書いて更新してもらう。
このサイトもamplessで作っているが、カスタムテーマのデザインはClaude Designに作ってもらった。最初からきれいな完成品が出てくる、というより、言葉で指示しながら少しずつ直していく感じだ。
「もっと個人ブログっぽくしたい」とか、「文末に投稿日とパーマリンクを置きたい」とか、「共有リンクは文字ではなくXアイコンだけでいい」とか、雑に頼んでもだんだんそれっぽいものが出来上がってくる。
もちろん最後は自分の目で確認する必要があるが、圧倒的な速さでコーディング作業が進んでいく。もちろん日本語での指示がうまく通らなかったら、自分で直接コンポーネントやCSSをいじってもいい。
記事を書くことも同じだ。ざっくり書いた誤字脱字だらけの下書きをAIに渡して、校正させつつ順番を入れ替えたり、足りない説明を足したりしていく。詳細が怪しいところはWeb検索させて、出てきた情報を見ながら確認することもできる。
そうやってごにょごにょいじったあとに、ある程度満足いく内容ができたらMCPツールごしにamplessに投稿する。書いている途中で「あ、概要が短いな」と思ったら、また更新する。タグが雑なら付け直す。
文章を書くことも、サイトを管理・運営することも、AIエージェント越しに透過的に行えるようになってきた。これは、AI時代の個人サイトでけっこう大きいところだと思う。個人サイトが、ただの公開場所ではなく、AIエージェントと一緒に触れる作業場所になる。
そしてそこで得られる知見は、これからのAIコーディング・クリエーション時代のノウハウとして非常に実践的なものとなる。
日本語入力もだいぶ雑になった
話は少し変わる。
わたしはずっと日本語入力フロントエンドにATOKを使ってきた。かなり長く使っていたと思う。ただ、ATOK Passportが値上がりするタイミングで解約した。
今はGoogle日本語入力を使っている。正直、ATOKと比べると使いやすいとは言いにくい。変換が気に入らないこともあるし、なんでそうなるの、と思うこともある。
でも、もうこれでいいかという気分にもなっている。
長い文章を書くとき、入力中の誤変換やtypoを全部その場で直すより、あとでAIにまとめて見てもらったほうが早いことが増えた。もちろん固有名詞や事実関係は自分で見る必要がある。でも、細かな表記ゆれや変な変換は、あとで直せばいい。
そうなると、日本語入力に求めるものも少し変わる。完璧に変換してくれなくても、とりあえず考えていることを画面に出せればいい。文章を書く重心が、入力そのものから、あとでどう整えるかに移ってきた感じがある。
そういう雑な下書きを受け止めて、あとから直せる場所としても、自分のサイトは悪くない。きれいな文章だけを置く場所というより、書きながら手を入れていく場所である。
というわけで
久しぶりに ishinao.net をフルカスタム可能な個人Webサイトとして復活させた。
HTML手書きの個人Webサイトから始まり、Web日記を書き、それがブログになり、やがてSNSやブログサービスが当たり前になった。その流れを通ってきた身としては、いまさら自分でサイトを運営するのは少し古くさい。
ただ、AIエージェントに手伝ってもらいながら、テーマを直し、記事を書き、メディアを扱い、公開ページを確認していくと、その古くささが少し違って見える。昔の個人サイトをそのまま再現するのではなく、今の道具で自分の場所を作り直す感じがある。
どれくらい続くかはわからない。
ただ、壊れた自作ツールがエラーを吐いたまま置いておくよりはずっといい。まずは Re: Hello, World から。また少しずつ書いたり作ったりしていく。