OVERVIEW
何を作ったか
Local LLM Task Schedulerは、Todoと工数・期限・優先度を持つ計画タスクを統合し、その日の空き時間へ実行可能な時間割を割り当てるタスク管理システムです。
スケジューリングをLLMへ丸投げせず、同じ入力から同じ結果を返す決定論的なロジックで計画を生成します。LLMは、生成した計画の説明や入りきらなかった理由を自然な文章へ変換する補助役として利用します。
現在は要件定義、基本設計、詳細設計まで完了しており、設計書に沿ったMVP実装を次の段階としています。
課題
一般的なTodoアプリでは、期限や優先度は管理できても、実際の空き時間へどう配置するかは利用者自身が考える必要があります。一方で、LLMへ計画を丸投げすると同じ入力でも結果が変わり、理由や失敗条件を検証しにくい課題があります。
解決
空き時間の算出とタスク割り当てはルールベースの決定論的ロジックで実行し、LLMは計画理由や入りきらなかったタスクの説明だけを担当します。結果は提案として保存し、利用者が最終判断できる設計にしました。
DESIGN
どう設計したか
Architecture
Next.js、FastAPI、PostgreSQL、Ollamaを分離し、スケジューリングロジックとLLM処理の責務を分けています。要件定義、基本設計、詳細設計、API、バリデーション、エラー、永続化、テスト設計を文書化し、実装前に整合性を確認できる構成です。
Features
Todo・計画タスク管理 / 固定予定管理 / 空き時間算出 / 優先度・期限・工数による割り当て / 休憩とバッファの挿入 / overflowとwarningの出力 / LLMによる説明生成 / 計画結果の保存
LEARNING
作って学んだこと
Learnings
AIを使うこと自体ではなく、どの判断をロジックへ残し、どの説明をLLMへ任せるかを明確にすることが重要でした。再現性、テスト可能性、失敗時の説明まで含めてAI機能を設計する視点を整理できました。
Next
設計書に基づくMVP実装、計画の再生成とロック、週単位の最適化、Googleカレンダー連携、実績データを使った見積もり改善を進めます。