Powei Lee

旅遊記帳小幫手

時間: 2025.07

和朋友出遊時,分帳往往成為最麻煩的事。做了一個部署在 LINE 群組內的記帳小助手,用自然語言就能快速記帳、即時查詢、最後一鍵結算。展示如何在對的地方用 LLM(語意理解)、對的地方用固定邏輯(數學計算),把時間留給真正重要的旅行回憶。

LINE Bot自動化流程AI 協作產品設計MVP 驗證LLM 應用策略

專案簡介

朋友出遊最常卡在「分帳」:大家花得開心,但最後要翻找轉帳紀錄、對帳、算錢,讓旅行多了不必要的負擔。

2025 和朋友約了一趟體檢行,做了一個在 LINE 群組內的「旅遊記帳小助手」,用自然語言就能快速記帳、即時彙總個人花費、最後一鍵結算分帳。

以後出遊不需要再開 Excel、也不用投票誰做總務,同一個聊天群組隨手記、隨時查,結束時清清楚楚分帳,把時間留給真正重要的旅行回憶。

旅遊記帳小幫手示範影片

專案連結:


專案背景

為什麼出遊需要記帳幫手?

對於一群互相信任的好友,算錢的成本遠大於代墊的費用

朋友出遊時,大家都很樂意墊款、也願意結清帳款,可是因為旅遊過程的錢很雜,每次出遊最後都很難計算,常常要拖了很久才可以算得清。

由於真正的痛點並不是實際帳務的爭議,而是算錢的成本太高。因此,解決方案不是需要更精準的記帳,而是把記帳結算這件事的摩擦降到最低,讓大家隨手記、方便算。

我希望打造一個在 LINE 群組內就能完成所有記帳與分帳的系統,讓記帳變得像聊天一樣自然。

設計理念

  • 夠用就好 - 不過度設計,也不欠缺功能
  • 零維護成本 - Google Sheets 作為資料庫,無需伺服器
  • 零使用摩擦 - 在 LINE 群組中直接對話,無需切換 App

什麼時候用 LLM、什麼時候用固定邏輯?

不是所有問題都該用 LLM 解決

技術選型的本質是「用對的工具解決對的問題」。LLM 擅長語意理解彈性高但速度慢、貴又有一釘的隨機性,數學計算需要快、穩、準,因此選用固定邏輯才能確保產出一致。

LLM vs 固定邏輯決策表

功能模組技術選擇為什麼?
自然語言解析LLM使用者輸入格式多樣,需要彈性理解
意圖判斷LLM使用者行為多樣(記帳/查詢/結算/聊天)
分帳計算固定邏輯數學公式確定(632 ÷ 4 = 158),無需彈性
債務最小化固定算法有標準解法(greedy algorithm),確定性高
資料讀寫固定邏輯Google Sheets API 呼叫,固定格式
視覺化組裝固定邏輯LINE Flex Message JSON 結構固定

設計原則

原則 1:LLM 只處理「需要理解語意」的部分

使用者輸入:「小助手,C同學幫墊了 632 元高雄到台南車費,應付人 A同學,B同學,C同學,D同學」

LLM 負責:
- 理解「C同學幫墊了」→ 墊款人 = C同學
- 提取「632 元」→ 金額 = 632
- 解析「應付人 A同學,B同學,C同學,D同學」→ 分帳對象 = 4 人

固定邏輯負責:
- 分帳計算:632 ÷ 4 = 158 元/人
- 寫入 Google Sheets
- 組裝 LINE 回覆卡片

原則 2:數學計算與資料處理用固定邏輯

場景用固定邏輯的好處
分帳計算確保計算準確,不浪費 token
結算優化Greedy algorithm 保證最優解
資料寫入速度快、成本零

原則 3:成本效益考量

假設每天 100 筆記帳:

方案 A:所有功能都用 LLM
- Token 成本:100 筆 × (解析 + 計算 + 格式化) = 高成本,還要等待 LLM 生成與理解長內容
- 風險:LLM 計算錯誤、格式不穩定

方案 B:只在語意理解用 LLM
- Token 成本:100 筆 × (僅解析) = 低成本,LLM 短內容處理速度快
- 風險:計算與格式由固定邏輯保證正確

系統架構

技術選擇的商業邏輯

因為是自用小工具,選擇最快驗證想法、最少維護成本的方案:

選擇背後考量技術優勢
LINE Bot本來就有共同群組,零推廣成本Messaging API 標準化
n8n 自動化內部簡單邏輯,n8n 已足夠視覺化流程編排,無需寫程式
OpenAI API支援自然語言,降低使用門檻智慧意圖判斷,無需記操作指令
Google Sheets所有人都看得到,完全透明零伺服器費用,維護成本最低

完全免費的基礎設施 + 低額 API 費用 = 大大改善旅遊分帳的困擾。

工作流程:

┌─────────────────────────────────────────────────────────┐
│  使用者在 LINE 群組傳訊息                                 │
│  例:「小助手,A同學墊 500,應付人 A,B,C」                 │
└────────────┬────────────────────────────────────────────┘

┌────────────▼────────────────────────────────────────────┐
│  [n8n Webhook]                                          │
│  • 接收 LINE 訊息 → 轉發到後續邏輯                       │
└────────────┬────────────────────────────────────────────┘

┌────────────▼────────────────────────────────────────────┐
│  [OpenAI API - LLM]                                     │
│  • 解析自然語言 → 提取結構化資料                          │
│  • 判斷使用者意圖 → 分流到對應功能                        │
└────────────┬────────────────────────────────────────────┘

    ┌────────┴────────┬──────────┬─────────┐
    │                 │          │         │
┌───▼──┐         ┌────▼──┐  ┌───▼──┐  ┌──▼───┐
│ 記帳  │         │ 查詢  │  │結算  │  │聊天  │
└───┬──┘         └────┬──┘  └───┬──┘  └──────┘
    │                │         │
    ▼                ▼         ▼
┌──────────────────────────────────────────────────────────┐
│  [固定邏輯層]                                             │
│  • 分帳計算 • Google Sheets 讀寫                         │
│  • 債務最小化 • LINE Flex Message 組裝                   │
└────────────┬─────────────────────────────────────────────┘

┌────────────▼────────────────────────────────────────────┐
│  回傳給使用者(在 LINE 群組中)                            │
└─────────────────────────────────────────────────────────┘

技術架構如何解決原始問題

原始問題技術解決方案為什麼選這個方案?
使用者要學操作OpenAI 語意解析,自然語言即可操作LLM 協助翻譯成指令即可
需要多人分帳固定分帳邏輯數學公式穩定快速
需要統計誰欠誰錢Google Sheets 紀錄零學習成本 + 完全同步透明
帳務太雜很難理解LINE Flex Message(固定模板)LINE 即時查詢,無需跳轉介面

為什麼好用?

效益以前現在
記帳時間30 秒/筆(填表單)5 秒/筆(一句話)
分帳計算兩個月(收集和彙整耗時)30 秒(系統自動)
轉帳次數6+ 次(每人各轉)2-3 次(系統優化)
學習成本需要看 App 教學直接在 LINE 群聊
查詢透明度需要找訊息、翻 Excel隨時查看摘要

核心功能展示

1. 自然語言記帳

輸入範例:

小助手,C同學幫墊了 632 元高雄到台南車費,應付人 A同學,B同學,C同學,D同學

系統回應:

為了這632元的高雄到台南車費,C同學表示:「我幫大家墊錢了,不然我就變成台南的免費車司機啦!」大家也笑說:「那我們得趕快還錢,別讓C同學開個免費計程車行!」

2. 個人摘要

輸入範例:

小助手,個人摘要

系統回應:

個人摘要示意圖

視覺化呈現個人財務狀態:

  • 應收/應付總額
  • 我墊付的紀錄
  • 別人幫我墊付的紀錄

3. 結算分帳

輸入範例:

小助手,總結分帳

系統回應:

分帳結算示意圖

系統自動計算最優轉帳方案:

  • 誰該轉給誰
  • 轉帳金額
  • 最少轉帳次數(債務最小化算法)

省了多少時間: 從兩個月 → 30 秒

4. 輕量聊天

輸入範例:

小助手,講個 A 同學的笑話
小助手,體檢要注意什麼?

系統自動判斷意圖,提供對應回應。


技術策略總結

設計原則

原則說明實際應用
LLM 只用在語意理解自然語言解析、意圖判斷記帳輸入、功能分流
數學計算不用 LLM有確定解法的用固定邏輯分帳計算、債務優化
資料處理不用 LLM固定格式讀寫不需彈性Google Sheets API、Flex Message
成效穩定優先能用固定邏輯就不燒 token盡可能確保每次的產出穩定快速

核心功能試用

記帳測試 Prompt:

小助手,A同學墊付晚餐錢 1000
小助手,A同學墊付晚餐錢 2000,應付人 A同學,C同學

查詢摘要測試 Prompt:

小助手,個人摘要

結算分帳測試 Prompt:

小助手,總結分帳

適用情境

  • 4-8 人朋友出遊
  • 短期活動(旅遊、聚餐)
  • 台灣國內旅遊(僅支援新台幣)