今回の開発ブログでは、家計診断アプリ(総合評価AI) のプロンプトチューニングを数日かけて行い、Dify Sandbox の API 上限に到達し、診断が停止する ところまでの記録をまとめました。
評価ロジックの再設計から開始
まず最初に取り組んだのは、総合評価プロンプトの「採点ルール」を厳密化することでした。
- 収入の判定基準(年齢×10倍以上 → A など)
- 住居費・借入・支出などのP/L項目
- 現金・流動資産・負債などのB/S項目
特にこだわったのが、
**「summary_markdown の記述が必ず per_metric と一致する」**という整合性ルール。
AIは意外とズレた説明を書きやすいため、
強制的に一致させるルールをSYSTEMに組み込みました。
評価テーブルの総再構築(UIと完全連動)
次に、UI側のテーブル項目と完全一致させるために、以下を実装。
- 年齢・家族構成の追加
- stats(賃上げ率、物価変動率、期待利回り)
- イベント行の追加(イベントが無い年も必ず表示)
- 固定資産・教育費などの「基準のない項目」も必ず表示
- 無担保長期負債・負債合計などの新規項目を評価対象化
最終的に、WebとPDFで表の並び順を揃えるところまで到達。
FP相談コメントの条件分岐も完全自動化
FP相談コメントについても
- A → 表示しない
- B → ご検討ください
- C → お勧めします
という微妙な表現の違いにも対応。
さらに、
「FPや金融機関」→「FPや専門家」
とするなど、ユーザー目線への調整も実施しました。
PDF側の整形(Markdown → HTML変換)を完全刷新
PDFでは
- 表の罫線が出ない
- リストが崩れる
- 下に余計な表が出る
といった問題が発生していたため、
window.marked.parse()を採用<table>のborder追加- 余計なper_metric表をPDFから除外
といったフロント側の改善も行いました。
結果、印刷物として通用するレベルのPDFに。
しかし…Dify Sandbox の「月3000リクエスト上限」に到達
最終調整の段階で突然診断が動作しなくなり、
以下の通知が届きました。
Monthly API Rate Limit for the Sandbox Plan (limit: 3000) has been exceeded.
つまり:
- $3.62しかOpenAI費用は使っていないのに
- Dify側の「月間リクエスト回数」だけが制限に達した
という状態。
開発段階で何度も診断を走らせたため、
3000 回を超えてしまったようです。
今後の方針:OpenAI API の「直叩き」に移行
DifyのSandboxはとても便利ですが、
- 月3000回まで
- 超えるとAPIが停止
- 開発フェーズには厳しすぎる
という課題が見えてきました。
そこで次回は、
OpenAI APIを WordPress から直接叩く方式に移行します。


コメント