tallyでAIエージェントに銀行取引を分類させる:家計管理を自動化するPython実装ガイド

当ページのリンクには広告が含まれています。
🚀
AI・機械学習スキルでキャリアアップを目指すなら

お疲れ様です!IT業界で働くアライグマです!

結論から言います。銀行取引の分類を手動でやる時代は終わりました。tallyを使えば、LLM(GPT-4やClaude)を活用したAIエージェントが、取引明細を自動で「食費」「交通費」「固定費」などに分類してくれます。

「家計簿アプリを使っているけど、分類精度がいまいち」
「毎月の取引を手動で振り分けるのが面倒」
「自分でルールを設定するのが大変」

こうした課題を抱えている方は多いのではないでしょうか。tallyはオープンソースのPythonツールで、LLMを使って柔軟に取引を分類できます。ルールベースでは対応できない曖昧な取引名も、AIが文脈を理解して適切なカテゴリに振り分けます。

今回は、tallyの仕組みと導入方法、実際に銀行取引を分類させるまでの手順を解説します。

目次

tallyとは:LLMベースの銀行取引分類エージェント

💡 AIスキルを本格的に身につけたい方へ
実務で使えるAI/機械学習スキルを3ヶ月で習得できるプログラム

tallyは、GitHubで公開されているオープンソースプロジェクトです。LLM(GPT-4、Claude、ローカルLLMなど)を使って、銀行取引の説明文から適切なカテゴリを推論し分類します。

従来のルールベース分類との違い

従来の家計簿アプリは「キーワードマッチング」で分類していました。

  • 「スターバックス」→ カフェ
  • 「JR東日本」→ 交通費
  • 「Amazon」→ ショッピング

しかし、この方法には限界があります。

  • 「A商店」のような曖昧な店名は分類できない
  • 「Amazon」でも書籍とガジェットでは用途が違う
  • 新しい店名が出てきたらルールを追加する必要がある

tallyはLLMを使うため、取引の文脈を理解して分類します。「Amazon Kindle」は書籍・メディア、「Amazon デバイス」は家電と、AIが判断してくれます。

tallyのアーキテクチャ

tallyは以下の流れで動作します。

  1. CSVまたはJSON形式で取引データを入力
  2. LLMに取引説明を送信し、カテゴリを推論
  3. 推論結果を検証し、分類済みデータを出力

Context EngineeringでAIエージェントの精度を高める設計パターンで解説した「コンテキスト設計」がtallyでも活用されています。

IT女子 アラ美
ルールベースで分類するより、LLMで分類するほうが精度が高いんですか?

ITアライグマ
曖昧な取引名に対しては圧倒的に高いです。ただし、明確なルールがある取引はルールベースのほうがコスト効率は良いですね。

環境構築とセットアップ

tallyを動かすための環境構築手順を解説します。

銀行取引の分類精度比較

前提条件

  • Python 3.10以上
  • OpenAI API または Anthropic API のキー
  • 銀行取引のCSVデータ(明細一覧)

インストール手順


# リポジトリをクローン
git clone https://github.com/davidfowl/tally.git
cd tally

# 依存関係をインストール
pip install -r requirements.txt

# 環境変数を設定
export OPENAI_API_KEY="your-api-key-here"

設定ファイルの編集

config.yamlでカテゴリとモデルを設定します。


model:
  provider: openai
  name: gpt-4o
  temperature: 0.1

categories:
  - name: 食費
    description: 食料品、レストラン、カフェなど
  - name: 交通費
    description: 電車、バス、タクシー、ガソリンなど
  - name: 固定費
    description: 家賃、光熱費、通信費など
  - name: 娯楽費
    description: 映画、ゲーム、サブスクリプションなど

Pydantic v2のバリデーション設計で解説したように、LLMの出力を型安全に扱うことで、分類結果の信頼性が高まります。

IT女子 アラ美
カテゴリはどこまで細かく設定できるんですか?

ITアライグマ
制限はありませんが、カテゴリが増えすぎるとLLMが迷います。10〜20程度が推奨されていますね。

銀行取引データの分類実行

実際にtallyで銀行取引を分類してみましょう。

入力データの準備

銀行からダウンロードしたCSVを以下の形式に変換します。


date,description,amount
2025-01-15,スターバックスコーヒー 渋谷店,580
2025-01-15,Amazon.co.jp デジタルコンテンツ,1980
2025-01-16,JR東日本 Suicaチャージ,3000
2025-01-17,ドコモ 携帯電話料金,8500

分類の実行


# 取引データを分類
python classify.py --input transactions.csv --output classified.csv

# 分類結果を確認
cat classified.csv

出力例:


date,description,amount,category,confidence
2025-01-15,スターバックスコーヒー 渋谷店,580,食費,0.98
2025-01-15,Amazon.co.jp デジタルコンテンツ,1980,娯楽費,0.92
2025-01-16,JR東日本 Suicaチャージ,3000,交通費,0.99
2025-01-17,ドコモ 携帯電話料金,8500,固定費,0.97

Amazon Bedrock AgentCoreでAIエージェントを本番運用するガイドで解説した「信頼度スコア」の考え方は、ここでも活かせます。

IT女子 アラ美
confidenceが低い取引はどうすればいいですか?

ITアライグマ
閾値を設定して、低いものは手動確認に回すワークフローがおすすめです。0.8未満は要確認など。

【ケーススタディ】月300件の取引を自動分類した事例

実際にtallyを導入して家計管理を自動化した事例を紹介します。

状況(Before)

  • 対象:月300件程度の銀行・クレジットカード取引
  • 課題:毎月2〜3時間かけて手動で分類していた
  • 問題点:分類基準がブレる、曖昧な店名は毎回調べる必要があった

行動(Action)

  • tallyを導入し、GPT-4oを分類エンジンに設定
  • カテゴリを15種類に整理(食費、交通費、固定費、娯楽費、医療費など)
  • confidence 0.85未満は「要確認」フラグを付与するルールを追加
  • 月初に前月分の取引CSVをtallyに流すワークフローをcronで自動化

結果(After)

  • 分類精度:95%(手動確認は月15件程度に削減)
  • 作業時間:2〜3時間 → 15分(月初の確認のみ)
  • APIコスト:月額約200円(GPT-4o、300件処理)

ハマりポイント

  • 最初はカテゴリ説明が曖昧で「食費」と「外食費」を分けていたが、LLMが混同 → 統合して「食費」に一本化
  • 英語のサービス名(Netflix、Spotifyなど)を「不明」に分類されていた → カテゴリ説明に具体例を追加

月額5ドルで本番運用できるRAGシステムの構築で解説したコスト最適化の考え方も参考になります。

IT女子 アラ美
APIコストが月200円で済むのは安いですね!もっと安くする方法はありますか?

ITアライグマ
GPT-4o-miniに変えれば月50円程度になります。精度は少し下がりますが、十分実用的ですよ。

📚
AI・機械学習の実践スキルを身につけませんか?
tallyのようなAIツールを使いこなすには、基礎となるLLM・プロンプト設計の知識が重要です。

カスタマイズと応用テクニック

tallyをさらに活用するためのカスタマイズ方法を紹介します。

分類精度を上げるプロンプトチューニング

config.yamlのカテゴリ説明を具体的にすることで精度が上がります。

悪い例:

食費: 食べ物に関する支出

良い例:

食費: スーパー、コンビニ、レストラン、カフェ、フードデリバリー(Uber Eats、出前館)での食品・飲料購入

ローカルLLMでの運用

コストを完全にゼロにしたい場合は、ローカルLLMを使うこともできます。

  • Ollama + Llama3:無料で運用可能、精度は80%程度
  • LM Studio + Mistral:日本語対応が弱いがコスト無料

CursorとOllamaで構築するローカルRAG環境で解説した設定を応用すれば、ローカル環境でtallyを動かせます。

おすすめのAIスキル習得サービス

本記事で解説したようなAI技術を、基礎から体系的に身につけたい方は、以下のスクールも検討してみてください。

比較項目 DMM 生成AI CAMP Aidemy Premium
目的・ゴール ビジネス活用・効率化非エンジニア向け エンジニア転身・E資格Python/AI開発
難易度 初心者◎プロンプト作成中心 中級者〜コード記述あり
補助金・給付金 最大70%還元リスキリング補助金対象 最大70%還元教育訓練給付金対象
おすすめ度 S今の仕事に活かすなら SAIエンジニアになるなら
公式サイト 詳細を見る 詳細を見る
IT女子 アラ美
AIスキルを身につけたいけど、どのスクールを選べばいいかわからないです…
ITアライグマ
現場で即・AIを活用したいならDMM一択!逆に、AIそのものを作るエンジニアに転身したいならAidemyで基礎から学ぶのが最強の近道ですよ。

まとめ

tallyを使ったAIエージェントによる銀行取引分類について解説しました。

  • tallyはLLMを使って銀行取引を自動分類するオープンソースツール
  • ルールベースでは対応できない曖昧な取引名も、AIが文脈を理解して分類
  • GPT-4oで月300件を処理しても、APIコストは約200円
  • カテゴリ説明を具体的に書くことで分類精度が向上
  • ローカルLLMを使えばコスト無料での運用も可能

家計管理の自動化に興味がある方は、ぜひtallyを試してみてください。

IT女子 アラ美
これで毎月の家計簿作成が楽になりそうです!早速試してみます。

ITアライグマ
ぜひ試してみてください。最初はsmall setでテストして、精度を確認しながら本運用に移るのがおすすめです!

厳しめIT女子 アラ美による解説ショート動画はこちら

この記事をシェアする
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITアライグマのアバター ITアライグマ ITエンジニア / PM

都内で働くPM兼Webエンジニア(既婚・子持ち)です。
AIで作業時間を削って実務をラクにしつつ、市場価値を高めて「高年収・自由な働き方」を手に入れるキャリア戦略を発信しています。

目次