はじめに
現役の高校教員(数学)です。エンジニアではありません。
家計の話ですが、やっていることは状態管理の設計に近いので、その視点で書きます。
長年、貯金が思ったように貯まりませんでした。原因は分かっていて、1つの口座に全部入っていたからです。残高を見ても、そのうちいくらが「使っていいお金」なのかが分からない。
これをAIと相談しながら設計し直しました。要点は3つです。
- お金に名前を付けて口座を分ける
- 将来出ていく額から逆算して毎月積む
- 出金をMarkdownの台帳に記帳する
**具体的な金額は例示に置き換えています。**設計の形だけ読んでください。
1. 問題は「残高が状態を表していない」こと
最初にAIと整理して出てきた問題の言い方が、これでした。
1つの残高が、複数の意味を同時に持っている。
例えば残高が100万円あるとして、その内訳は実際には
- 来月の生活費
- 4月に出ていく税金
- 車検のための積立
- 本当の意味での貯金
が混ざっています。混ざったまま「残高」という1つの数字になっているので、判断ができません。
「余っているように見えるから使う」→「あとで税金が来て慌てる」の繰り返しでした。
エンジニアの方には分かりやすい言い方をすると、用途の違う値を1つの変数に入れていたということです。
2. 対処:目的別口座で名前を付ける
使っている銀行に「目的別口座」という機能がありました。1つの口座の中に、名前付きの区画をいくつか作れます。
作ったのは4つです。
| 口座名 | 役割 | 性質 |
|---|---|---|
01_生活防衛資金 |
緊急時以外は触らない | 触らない前提の残高 |
02_ローン補填 |
ボーナスから入れて毎月取り崩す | 平準化のためのバッファ |
03_税金・保険 |
年に数回の大きな支払い用 | 予定された支出への積立 |
04_突発積立 |
想定外の出費用 | 予定できない支出への積立 |
名前に番号を振っているのは、アプリ上で並び順を固定するためです。毎回同じ位置に同じ口座があると、操作を考えなくて済みます。
この分け方でやりたかったのは、「代表口座の残高=使っていいお金」にすることでした。名前を付けた分を全部よけてしまえば、残ったものは全部使ってよくなります。判断が要らなくなるのが狙いです。
3. 積立額は「逆算」で決める
ここがAIと詰めて一番良かった部分です。
積立額を「毎月いくらなら無理なく貯められるか」で決めると、必ず足りなくなります。支払いの側が、こちらの都合を知らないからです。
そこで逆算にしました。
① 1年間に出ていく大きな支払いを全部書き出す
(税金、保険の年払い、車検 …)
② 合計を12で割る
③ それが毎月の積立額
さらに、支払い月までに間に合うかを確認します。
例)4月に約11万円の支払いがある。今は7月。
残り9ヶ月 × 月17,500円 = 157,500円
→ 間に合う ✓
この確認が重要でした。単純に12で割っただけだと、積立開始が遅い年は初回に間に合いません。1年目だけは別枠で考える必要があります。
AIに相談していて良かったのは、この「1年目の例外」を指摘されたことでした。自分は年間の平均だけ見て満足していました。
4. 出金は台帳に書く
口座を分けても、突発積立だけは減り続けます。想定外の出費に使うための口座なので当然です。
問題は、減ったときに「何に使ったか」が残らないことでした。残高だけ見ても、その減り方が妥当なのか分かりません。
そこで、Markdownの台帳ファイルを1つ作って、出金のたびに記帳することにしました。
| 日付 | 内容 | 出金 | 残高 |
|---|---|---|---|
| 2026-07-XX | 参考書 | -18,000 | ... |
Excelでもいいのですが、Markdownにした理由は3つあります。
- テキストなので差分が見える
- Claude Codeがそのまま読める(「今いくら?」と聞ける)
- 他の家計ファイルと同じ形式で持てる
家計の資料をぜんぶMarkdownに寄せているので、AIに「この台帳と、この計画の数字が合っているか確認して」と頼めます。ファイル形式を揃えておくと、後から突き合わせができるというのが効いています。
5. 毎月の作業を手順書にした
設計しても、運用が続かなければ意味がありません。そこで毎月やることを固定の手順にして書き出しました。
給料日に、代表口座に着金したら:
① 決めた額 → 04_突発積立(+台帳に記帳)
② 決めた額 → 03_税金・保険
③ 02_ローン補填 から一定額 → 代表口座へ戻す
④ 月末:代表口座の余り → 01_生活防衛資金
ボーナス月だけ、02_ローン補填 を半年分まとめて充填する作業が加わります。
所要時間は3分程度です。考える要素をゼロにするのが目的なので、金額も順番も固定しています。
この手順書は、AIに「スマホ片手にこの順番で作業すれば終わる形にして」と頼んで作ってもらいました。チェックボックス付きにしてもらったのが地味に効いています。途中で中断しても、どこまでやったか分かるからです。
6. 設計として何が良かったか
エンジニア的な言い方に翻訳すると、こうなります。
| やったこと | 一般化すると |
|---|---|
| 用途ごとに口座を分けた | 1つの変数に複数の意味を持たせない |
| 代表口座=使っていいお金 | 判断が要らない状態を作る |
| 支払いから逆算して積立額を決める | 出力側の要件から入力を決める |
| 出金を台帳に記帳 | 残高だけでなく履歴を持つ |
| 毎月の手順を固定 | 手順を固定して意思決定を減らす |
一番効いたのは2行目です。毎月「これは使っていいお金か?」と考えなくてよくなったのが、実感として一番大きい変化でした。
意志の力で節約するのをやめて、構造で解いたという感覚です。
7. AIに何をしてもらったか
- 年間の支払いを洗い出して、逆算の計算をしてもらう
- 「1年目は間に合うのか」のような、自分が飛ばした確認をしてもらう
- 決まったことを手順書の形に整形してもらう
- 複数の家計ファイルの間で数字が食い違っていないか照合してもらう
最後のものが、後から一番効きました。ファイルが増えると、同じ数字が別の場所で古いまま残ります。全部読ませて突き合わせるのは、人間がやると必ず見落とします。
そして、この作業を手元で完結できるのが重要でした。家計のデータはどこにもアップロードしていません。ローカルのファイルをローカルで読ませているだけです。
8. 同じ問題を抱えている人が、始める前に決める3つのこと
同じように「貯金が貯まらない」と感じている人向けに、自分の残高を分ける前にやることをまとめておきます。
- 今の残高に、意味の違うお金が混ざっていないか洗い出す。 生活費・特別支出・本当の貯蓄が1つの数字に潰れていないか
- 年間の特別支出を全部書き出し、残り月数で割る。 「毎月いくら貯められるか」ではなく「年間いくら出ていくか」から逆算する
- 毎月の操作手順を、金額まで固定して書き出す。 「その都度考える」をやめないと、結局また残高だけを見て判断してしまう
3つとも、地味ですが判断する回数を減らすための準備です。分け方より、この準備の方が続けるうえでは効きます。
おわりに
貯金が貯まらない問題を、意志ではなく設計で解こうとした話でした。
やったことは、状態を分離して、履歴を残して、手順を固定しただけです。プログラムを書く人なら日常的にやっていることだと思います。それを家計に適用したら、素直に効きました。
非エンジニアの実感として書いておくと、AIに相談する価値は「正解を教えてもらうこと」より、自分が飛ばした確認を指摘してもらうことにありました。自分の家計を疑うのは難しいので、外から見てもらうのが早いです。
次は、Wordファイルを大量にPDFへ変換したときの話を書く予定です。