家計簿の費目分け、Claudeに丸投げできる?|明細50件に落とし穴を8つ仕込んで試してみた
家計簿アプリの自動分類は、なぜ雑なのか
家計簿アプリを入れて最初に感心するのが自動分類で、しばらく経つと不満になるのも自動分類です。ドラッグストアでの買い物が、まるごと日用品に入る。あとから手で直している方も多いのではないでしょうか。
これはアプリの手抜きというより、仕組み上そうなる話です。Zaimの公式FAQは「レシートのお店を参照してカテゴリを自動で割り当てる」と説明していますし(Zaim公式FAQ)、マネーフォワード MEも銀行やカードの履歴をもとに分類すると案内しています(マネーフォワード ME 特長ページ)。店名で判定する以上、同じ店で食品と洗剤を買えば、どちらかに寄るしかありません。
では、店名だけでなくメモまで読めるAIに明細を丸ごと渡したらどうなるのか。わざと落とし穴を仕込んだ1か月分の明細を作って、Claudeに分類と集計をさせてみました。
実験の準備:架空の「サンプル家」の明細50件と、仕込んだ8つの落とし穴
サンプルデータ
架空の家庭「サンプル家」(夫婦+小学生1人、賃貸住まい)の2026年8月分として、支出明細を50件作りました。家計簿アプリからCSVを書き出した体裁で、列は「日付, 店名・摘要, 金額(円), 支払方法, メモ」。メモは全部の行には入れていません。店名もすべて架空です。冒頭の10行はこんな具合です。
日付,店名・摘要,金額(円),支払方法,メモ
2026-08-01,サンプルスーパー,4320,クレジットカード,週末まとめ買い
2026-08-01,サンプル不動産 家賃,95000,口座振替,
2026-08-02,サンプルマート,620,電子マネー,昼食
2026-08-03,サンプルTV,1200,クレジットカード,動画配信
2026-08-03,サンプルドラッグ,3280,クレジットカード,牛乳・食パン・洗剤・シャンプー
2026-08-04,サンプル電鉄 定期券,12500,クレジットカード,通勤定期(1か月)
2026-08-04,サンプルベーカリー,860,現金,
2026-08-05,サンプルガス,5640,口座振替,7月分
2026-08-06,サンプルスーパー,5120,クレジットカード,
2026-08-07,サンプル通信 スマホ2回線,7800,クレジットカード,
全50行のCSVは こちら からダウンロードできます。同じデータで試せます。
わざと仕込んだ8つの落とし穴
素直な明細ばかりを並べても、AIが優秀に見えて終わりです。そこで分類や計算が崩れやすい条件を、次の8つ(14行)に仕込みました。行番号は明細の通し番号です。
| 番号 | 仕掛け | 行 | 内容 |
|---|---|---|---|
| 1 | 同じ店で用途が混ざる | 5 | サンプルドラッグ 3,280円。メモは「牛乳・食パン・洗剤・シャンプー」で、食費と日用品が混在。金額の内訳は不明 |
| 2 | 同じ店名で用途が違う | 3・13・22・49 | コンビニ「サンプルマート」で、昼食(620円・780円)、電気代の払込票(8,900円)、宅配便の送料(1,200円) |
| 3 | サブスクの二重契約 | 4・30 | 動画配信「サンプルTV」1,200円が8/3(クレジットカード)と8/17(キャリア決済)の2回 |
| 4 | 無料お試し終了後の課金 | 46 | 学習アプリ「サンプル学習」980円。メモに「7月は無料トライアル」 |
| 5 | 桁が怪しい金額 | 19 | サンプルスーパー 38,420円。同じ店のほかの明細は3,000〜6,000円台 |
| 6 | 返金のマイナス行 | 20・26 | 8/12にモールで運動靴 4,980円、8/15に返品 -4,980円 |
| 7 | 消費支出ではない行 | 32・33 | 住民税 第2期 25,000円。同僚の飲み会 12,000円(メモ「立替(後日回収)」) |
| 8 | カード引落と個別明細の二重計上 | 27 | 「サンプルカード 引落 86,500円」(口座振替)が1行。カード払いの個別明細26件と両方ある |
3と4は思いつきではなく、国民生活センターが注意喚起している「解約忘れ」「無料お試し後の自動課金」を明細の形に置き換えたものです(国民生活センター 見守り新鮮情報第545号)。
費目の「ものさし」と正解表
費目の分け方に唯一の正解はありません。そのままでは採点のしようがないので、基準を先に決めました。総務省の家計調査の10大費目(e-Stat 家計調査 用途分類)を家庭向けに言い換えた「食費/日用品/住居/光熱・水道/通信/交通/保健医療/教育/教養娯楽/その他」の10費目です。住民税・立替金・カード引落は家計の消費ではないので「対象外」にまとめ、固定費/変動費という別の軸の列も用意しました。
正解表そのものは、小さなプログラムで計算して確定させています。仕掛け1のドラッグストアの行だけは内訳が分からないので正解を「要確認」とし、集計上は仮に日用品へ置きました。消費支出の合計は303,270円、対象外は123,500円、全50行の単純合計は426,770円です。
1回目:ルールを渡さず、ざっくり頼んでみる
最初は、いちばんやりそうな聞き方から。ルールも費目の一覧も渡さず、CSVを貼って一言お願いしました。
これは我が家の8月の支出明細です。費目ごとに分類して合計を出し、
固定費で見直せそうなところがあれば教えてください。
[CSV 50行を貼り付け]
Claudeは自分で13の費目(「娯楽・サブスク」「美容・衣服」「税金」など)を立てて表を返してきました。集計は暗算、つまりコードを使わない計算です。返答から要点を抜き出します。
8月の支出合計:328,270円(税金を除くと 303,270円)
集計から除外したもの
- サンプルカード 引落 86,500円(8/15):クレジットカードの利用分がまとめて口座から引き落とされたものと思われます。個別のカード明細がすでに含まれているので、これも足すと二重計上になるため除外しました。
- サンプル居酒屋 12,000円(8/19):メモに「立替(後日回収)」とあるので、我が家の支出ではないと判断して除外しました。
気になった点
- 8/11 サンプルスーパー 38,420円:他の日のスーパーは4,000〜6,000円台なので、この1件だけ桁が違います。入力ミス(3,842円?)か、まとめ買いや家電などを含んでいないか確認をおすすめします。
- サンプルTV 1,200円が2回:8/3にクレジットカード、8/17にキャリア決済で同じ金額が出ています。同じサービスを2つのアカウントで契約している可能性があります。
- サンプルドラッグ 3,280円:牛乳・食パン(食費)と洗剤・シャンプー(日用品)が混ざっています。金額の内訳が分からないので日用品にまとめました。
正直、予想より健闘しました。カード引落の二重計上、立替金、桁違いの金額、サブスクの重複を、こちらが聞く前に自分から指摘しています。返品のマイナス行もきちんと相殺済み。13費目を10費目に読み替えて正解表と突き合わせると、50行中49行が一致しました。暗算の合計も、税金を除いた303,270円は1円単位で合っています。
それでも引っかかった点は残りました。住民税を含めた328,270円のほうを「支出合計」として太字で先に出していること。ドラッグストアの混在行を「日用品にまとめました」と自分で決めてしまったこと。そして固定費の見直し案にあった、この一文です。
スマホ2回線 7,800円:格安SIMや、光回線とのセット割に乗り換えると月2,000〜4,000円程度下がるケースがあります。
「2,000〜4,000円」という数字は、明細のどこにも根拠がありません。Claudeが一般論として補ったものです。「二重契約(年間14,400円)」という見出しも、同額が2回並んでいるだけで言い切っていて、読んでいて落ち着きませんでした。
2回目:ルールを渡し、計算はコードにやらせる
同じデータで、プロンプトだけ変えます。データと指示をXMLタグ(<rules> <data> のような目印)で区切り、指示には理由を添える。Anthropic公式の指針に沿って書き直しました(Anthropic プロンプト指針)。
あなたは家計管理のアドバイザーです。私は表計算ソフトが苦手な
非エンジニアで、家計簿アプリの自動分類が雑なので、AIならもっと
正確に分けられるか試しています。以下のルールで作業してください。
<rules>
1. 費目は次の10種類だけを使う:食費/日用品/住居/光熱・水道/
通信/交通/保健医療/教育/教養娯楽/その他
(総務省の家計調査の10大費目を家庭向けに言い換えたもの)
2. 税金・社会保険料・立替金は消費支出に含めず「対象外」として
別表にまとめる
3. 1つの明細に複数の費目が混ざっている場合は、メモを手がかりに
分割する。分割の根拠がなければ「要確認」にする
4. 返金(マイナス)は元の購入と同じ費目で相殺する
5. カード会社からの引き落とし行は、個別のカード明細と二重に
ならないよう除外する
6. 金額の合計は暗算せず、コードを書いて計算する。最後に
「全行の合計=費目別合計の合計」になっているか検算する
7. データにない事情は推測せず、「明細からは分からない」と書く
</rules>
<data>
[CSV 50行を貼り付け]
</data>
<output>
(1) 全行の分類表(行番号・店名・金額・費目・固定費か変動費か・要確認フラグ)
(2) 費目別の合計表と、対象外の別表
(3) 明細の中で「入力ミス」「重複」「確認したほうがよい点」の指摘
(4) 固定費の見直し案。各案に「明細のどの行が根拠か」を添える
</output>
ルール6の「コードを書いて計算する」は、今回は小さなプログラムを書かせて実行しました。claude.aiでも「コード実行とファイル作成」機能で同じことができ、無料を含む全プランで使えます(Claudeヘルプ:Create and edit files with Claude)。返ってきた集計表と検算がこちらです。
費目 合計 食費 91,200 日用品 6,000 住居 95,000 光熱・水道 18,770 通信 13,000 交通 15,500 保健医療 6,990 教育 22,610 教養娯楽 17,120 その他 13,800 消費支出合計 299,990 要確認(費目未確定・No.5) 3,280 対象外:No.27 カード引落 86,500/No.32 住民税 25,000/No.33 立替金 12,000(計 123,500)
検算:全行合計 426,770 = 費目別合計 299,990 + 要確認 3,280 + 対象外 123,500 → 一致
分類も固定費/変動費の判定も、50行すべて正解表と一致しました。違いは一か所だけです。混在行を「要確認」として集計から外したぶん、合計が正解表より3,280円小さくなっています。この3,280円をどう扱うかは、人の宿題として残りました。
指摘の書き方も変わりました。
- No.4とNo.30(サンプルTV 1,200円):同額が2回、支払方法が異なります。同じサービスの二重契約か、家族が別々に契約しているかは明細からは分かりません。契約状況の確認をおすすめします。
- No.27(カード引落 86,500円):個別のカード明細と重複するため除外しました。なお、8月のカード払い明細26件の合計は157,080円で、引落額とは一致しません。引落が7月利用分であれば自然ですが、明細からは分かりません。
- 通信(No.10 スマホ2回線 7,800円、No.36 光回線 5,200円):合計13,000円で固定費の中では家賃・塾に次ぐ大きさです。契約プランや利用量は明細からは分からないため、削減額は示せません。
「明細からは分からない」という但し書きが増え、根拠のない数字は消えました。カード引落額と当月のカード明細合計が一致しない、というところまで踏み込んだのは、コードで計算させた副産物です。
1回目と2回目の比較
| 観点 | 1回目(ざっくり版) | 2回目(ルール付き) |
|---|---|---|
| 費目の分類一致 | 49/50(自前の13費目を読み替え) | 50/50 |
| 固定費/変動費の判定 | 表として出力なし(固定費一覧のみ) | 50/50 |
| 消費支出の合計 | 303,270円(正解表と一致。ただし税込み328,270円を先に表示) | 299,990円+要確認3,280円(検算一致) |
| 計算方法 | 暗算 | コード実行 |
| 根拠のない数字 | あり(通信費の削減額) | なし |
仕掛けごとの結果は次のとおりです。
| 仕掛け | 1回目 | 2回目 |
|---|---|---|
| 1 同じ店で用途が混ざる | 寄せた(日用品。断りあり) | 要確認にした |
| 2 同じ店名で用途が違う | 正しく分けた | 正しく分けた |
| 3 サブスクの二重契約 | 指摘したが「二重契約」と言い切り気味 | 指摘し「明細からは分からない」と留保 |
| 4 無料お試し終了後の課金 | 指摘した | 指摘した |
| 5 桁が怪しい金額 | 指摘した | 指摘した |
| 6 返金のマイナス行 | 正しく相殺 | 正しく相殺 |
| 7 消費支出ではない行 | 立替は除外。税金は別費目にしつつ合計に含めた | 対象外の別表に分けた |
| 8 カード引落の二重計上 | 除外した | 除外し、金額の不一致も指摘 |
「黙って誤分類した」は今回ゼロでした。とはいえ50件を1回ずつ試しただけの結果です。メモがほとんど入っていない明細なら、違う結果になってもおかしくありません。
うまくいかなかった点と、気をつけたいこと
いちばん気になったのは、根拠のない数字が混ざることです。1回目の「格安SIMで月2,000〜4,000円下がる」は、明細にも指示にも存在しない数字でした。固定費から見直すという方向自体は、金融広報中央委員会「知るぽると」の整理とも合っています(知るぽると)。問題は方向ではなく、「この家の明細から言えること」と世間の相場が同じ口調で並ぶことです。区別がつかなければ、もっともらしい数字のほうを信じてしまいます。
同じ理由で、「重複しているから解約」に寄りやすいのも困ります。同額が2回並んでいても、夫婦それぞれが別に契約しているだけかもしれません。国民生活センターの助言も「明細を毎月確認する」ことであって、解約をAIに決めさせることではありません。
合計が1円単位で合っていたのも、「今回は」の話として受け取っています。Anthropicの研究では、Claudeが足し算のときに概算の経路と下1桁の経路を並行して使い、難しい計算では答えに合う途中式を後付けすることがある、と報告されています(Anthropic: Tracing the thoughts of a large language model)。途中式がそれらしく見えても、検算の代わりにはなりません。
そして「要確認」は便利ですが、そこで終わりでもありません。2回目は混在行を集計から外したので、合計が3,280円動きました。AIが「分からない」と言えるようになったのは進歩として、その先を決めるのは人の作業のままです。
自分の家計で試すなら
効き目が大きかったのは、費目のものさしを先に渡すことでした。「我が家では外食も食費に入れる」のような家庭のルールも、例をつけて書いておくと迷いがなくなります。あわせて、税金・立替金・カード引落は「対象外」に分けてほしいと書き添えてください。これを言わないと、支出が実態より大きく見えたり、カード分が二重に数えられたりします。
合計はコードで計算させて、検算まで指示するのが安心です。claude.aiなら「コード実行とファイル作成」機能があるので、「全行の合計=費目別合計の合計」の確認まで一度に頼めます。そのうえで総合計は電卓で押し直すくらいでちょうどいいと思います。公式ガイドも、もっともらしい誤り(ハルシネーション)は完全にはなくならないと注意しています(Anthropic: Reduce hallucinations)。見直し案には根拠の行番号を求め、同時に「明細からは分からない」と書いてよいと許可を与えておく。これだけで一般論がずいぶん減りました。
貼り付ける前の掃除も忘れずに。カード番号・口座番号・氏名は消し、店名・金額・メモだけを渡します。明細をテキストにするところまでは人の作業なので、家計簿アプリで読み取ってCSVに書き出し、そこから先をAIに任せる分業が現実的です。
まとめ
店名だけで判定するアプリの弱点は、メモまで読めるAIなら越えられそうです。ただ、試してみて印象に残ったのは正解率のほうではなく、2回目のClaudeが「明細からは分かりません」と書いた回数でした。分からないことを分からないと返してくれる相手なら、こちらは残りだけ考えればよくなります。
要確認の行の扱い、解約するかどうかの判断、最後の検算。この辺りは人の仕事のまま残りました。明細を毎月見るのは、結局のところ自分です。