mktoho のアイコン

mktoho

mktoho.dev

AIと一緒に、いろんなことをやっています

最近はAIに小規模なシステムを作ってもらって、シェアハウスで運用するのが楽しいです
リビングの電光掲示板とか、雨が降り始めたら教えてくれる通知とか

8月はループエンジニアリングというのをやってました
放っておいても勝手に改善が進むような仕組みを作って、あとはAIに任せるみたいな感じ
実際に無人で動くループを組んで、Webサービスを開発してもらっていました

大学の授業も、スマホの買い替えも、AIに聞いて進めています
なるべくそのまま記録に残すようにして、あとから振り返ったり会話のネタになればいいなあという気持ち

最近やっていること

作ったものも、読んでいるものも、話したことも。新しい順です。

  1. 2026-09-30

    麦茶の動画が1本できた

    Remotion で動画を作っています。作り方の型を motion-kit にまとめて、それを使った1本目がこれ。リビングの画面で流す15秒です。

    グラスの結露を丸い点で描いたら炭酸の泡に見えたので、縦に垂れる滴に変えました。AI は動きを見て良し悪しを判断できないので、タイミングは人が決める、という分担にしています。1本作ったら、motion-kit への改善案が18件出てきました。

    motion-kit動画のリポジトリ

  2. 2026-09-29

    雨が降り始めたら、Discord に知らせる

    「22:40ごろまで降りそう」まで添えて通知する rain-alert を作りました。翌日にはリビングの掲示板にも出るようにしています。まだ試運転中です。

    リポジトリ

  3. 2026-09-22〜

    『銃・病原菌・鉄』を AI と読む

    難しい本を読み切るために、章に入る前に要約を出してもらって、寄り道も楽しみながら読んでいます。いまは第1章です。

    読書の記録

  4. 2026-09-20

    シェアハウスのリビングに電光掲示板

    余っていた古い iPad を掲示板にしました。1日で動くところまで作って、そのあとは住人の声を聞きながら直しています。

    掲示板リポジトリ

  5. 2026-08-23

    podcast「シェアハウス管理人の正しいラジオ」#21

    シェアハウスの管理人と、1時間を超えて話す番組です。#21「正しいシェアハウス」まで配信しています。

    Spotify で聴く

8月にやっていたこと

ループエンジニアリング — 人間を、プロンプトを打つ役から外す

loop-engineering

AIにプロンプトを打つ「仕組み」のほうを設計する

発見ループと修正ループの2本を GitHub Issue でつなぎ、launchd で毎時、無人で回しました。 発見ループが問題を見つけて Issue を立て、修正ループがそれを拾って worktree の中で直し、PR を出す。 人間の仕事はマージボタンを押すことだけになります。

10マージされたPR
3実在の脆弱性を発見
$501日分のコスト
7日静かに停止していた

おもしろいのは、うまくいった話より壊れ方のほうでした。 最初の実験では停止条件が3箇所とも壊れていて、test も lint も typecheck も全部緑なのに、 「何も実装していないコード」が通り、重大な認可欠陥がそのまま見逃されました。 機械的な検証は「壊れていないこと」しか見てくれない。

無人運転で一番怖かったのは、失敗が静かに永続化することです。 API接続が切れて空のブランチが残り、それが「着手済み」と誤判定されて、その Issue は永久に処理されなくなりました。 ループは exit 0 を返し続けていたので、7日間、誰も気づきませんでした。

調査ノートから実験ログ、無人運転の障害記録、復旧までを全部残しています。 → リポジトリを見る

つくったもの

動いているもの、止まっているもの、実験で終わったもの。

リビングの電光掲示板

稼働中

シェアハウスのリビングに置いた古い iPad を、お知らせの掲示板に。Discord のスラッシュコマンド、管理画面、API の3通りで更新できます。MVP は1日で作り、新着を目立たせる、画面を光らせるといった改善は、住人に言われてから足しました。

TypeScriptHonoSQLitediscord.js

雨の降り始め・止み通知

試運転中

降り始めと止みを Discord に通知して、「何時ごろまで降りそうか」も添えます。60分先までの予報と気象庁の降水短時間予報を組み合わせて、5分ごとに確認しています。掲示板にも出ます。

Rustsystemd timerDiscord

World Issue Tracker

稼働中

「地球のバグを、みんなで可視化して、みんなで直す」。ソフトウェア開発の Issue Tracker を現実世界に持ち込んで、個人の困りごとから国際問題までを同じ仕組みで扱う。上のループが実際に働いている対象でもあります。

HonoNext.jsCloudflare WorkersD1Clerk

スマホを買うまでの全記録

公開中

文字を大きくして使いたい自分用の大画面Androidと、開発検証用のiPhone。条件の違う2台を予算15万円で選び切るまで。前提が2回ひっくり返って結論が変わった過程も、検索が間違った価格を返した事例も、そのまま残しました。

Claude CodeGitHub Pages

AIと大学の授業を進める

進行中

解析学をAIと一緒に。ポイントは「教わる」のではなく教わり方を設計すること。答えを即出しさせず、自分の仮説を先に言ってから欠落を診断させる。過去に線形代数で挫折した原因を言語化して、そこから逆算しました。

MarkdownObsidianmatplotlib

Discord リアクション集計

運用中

コミュニティのリアクションを「もらった数 / 付けた数」で月次集計してレポート化。毎月1日に自動で走ります。日本時間の朝6時を月の始まりにする、自己リアクションは除く——人を数字にするときの気遣いのほうが設計の本体でした。

TypeScriptdiscord.jsNeonCloudflare Pages

12役のマルチエージェント

実験終了

PM・アーキテクト・バックエンド・法務・税務まで12の役割を作って、7フェーズのパイプラインで協調させ、シェアハウス管理システムを作らせる実験。動くところまでは行きました。この「大掛かりな組織」路線から、小さいループの反復へ考えが変わっていきます。

PythonClaude APItool_use

ごみの日 通知Bot

稼働中

収集日の前日18時に「明日は可燃ごみ」とDiscordへ流すだけのBot。自分が忘れるから作りました。サーバーは立てず、GitHub Actions の cron だけで無料で動かしています。小さいけれど、生活の困りごとが実際に消えました。

Node.jsGitHub ActionsDiscord Webhook

やってみて分かったこと

AIと長く作業して、繰り返し効いてきた考え方。

停止条件が嘘をつくと、ループは「何も検証せずに緑を返す装置」になる

回す前に、止まる仕組みのほうが本当に動くか確かめる。テストが緑であることと、正しいことは別物でした。

作り手と検証役は分ける

同じエージェントに作らせて確認させると、自分の作ったものを甘く見ます。役割を分けるのが一番効きました。

失敗は、派手に落ちるより静かに残るほうが怖い

無人で回すなら、成功の観測より「失敗が観測されているか」を先に作る。7日間気づかなかった話がこれです。

過程を残すと、結論が変わったときに理由が追える

買い物でも学習でも同じでした。「なぜその案を捨てたか」を書いておかないと、同じ検討を何度もやり直します。