2025.02.01 (土)
2026.05.25 (月) 更新

✨ GPTの要約  

ChatPageのデータ読み込みとActionを最適化し、Titleおよび日付CRUD機能を追加しながら、DiaryPageのCreate/Edit構造を統合した一日。複数のIssueを解決し、システムの安定性を高めた。

💻 開発日誌

⏰ 今日やること

  • ✅ DiaryPage: Merge CreateDiary/EditDiary Page
    • isEditMode page state活用
    • conditional value/visibility/actionなどを活用
  • ✅ ChatPage: On Page Load -> Read ChatDoc, CharacterDoc, MessageDocList and Update Page States
  • ✅ ChatPage: 各種Actionを全体的に最適化および再構成
  • ✅ ChatPage: Title CRUD
  • ✅ ChatPage: 日付CRUD
  • ✅ (Issue) ChatPage: 最初に会話を始めるとき、default init messageが表示されている。
  • ✅ (Issue) ChatPage - ChatHistoryDrawer: UIオーバーフロー
  • ✅ (Issue) ChatPage: ユーザーメッセージが空欄でも送信される

💯 やったことの要約

  • ChatPage機能最適化
    • On Page Load時のデータ読み込みを最適化 (ChatDoc, CharacterDoc, MessageDocList)
    • ChatPageの主要Actionを全体的に最適化および再構成
    • Titleおよび日付CRUD機能を追加
    • ChatHistoryDrawer UIオーバーフローとユーザーメッセージ空欄送信問題を解決
  • DiaryPage改善
    • CreateDiary/EditDiary Page統合 (isEditMode page state活用)
    • Diaryの日付保存エラーを修正

🎯 今後やること

詳しく見る
  • ❔ (Issue) DiaryPage: 日付が今日としてしか保存されない
  • ❔ (Issue) DiaryPage: Markdown viewer活用 (オーバーフロー防止: Container Height)
  • ❔ (Issue) HomeFeedPage: On page load時にUnexpected Null Valueが一瞬表示されて消える。
  • ❔ HomeFeedPage - FeedCardDiary: AI Commentキャラクター画像を修正
    • ❔ DiaryPage - AI Comment: Save時、コメントを書いたキャラクターRefもDiaryに保存。
    • ❔ HomeFeedPage - FeedCardDiary - AI Image: Backend QueryでキャラクターDocを読み込み、Image Pathを指定。
  • ❔ DiaryPage - Create New Chat: 日記の内容をもとにNew Chatを作成
    • ❔ OpenAI API Call実装: createDiaryComment
      • Input: Diary Content, System Prompt(AI Comment)
      • Output: AI Comment($.choices[0].message.content)
    • ❔ OpenAI API Call実装: createDiarySummary
      • Input: Diary Content, AI Comment, System Prompt(Diary Summary)
      • Output: Diary Summary($.choices[0].message.content)
    • ❔ OpenAI API Call実装: createChatFromDiary
      • Input: Diary Summary, System Prompt(Chat From Diary)
      • Output: New Chat Message by AI($.choices[0].message.content)
      • Additional Actions: Create New Chat, Create New Message
  • ❔ ChatPage: Go to Linked Diary

  • ❔ HomeFeedPage - flutter_slidable:4.0.0をimport後に適用
  • ❔ HomeFeedPage: FeedCardDiaryを左右にslideしたとき、チャット/編集/削除

  • ❔ ChatPage: ユーザー会話の出力内容は右揃え
  • ❔ Chat/Diary: GPT Streaming API

  • ❔ ChatPage - AIの先メッセージを実装 (Alarm/Notification)
    • チャットシステムプロンプトの核心は能動型だ。
      • よりリアルにするなら、create_date of diary/chatも渡して、「昨日」などの日付に触れられるとよさそう。
    • Alarm機能実装方法の参照
  • ❔ DiaryPage: Mood Slider値に応じて顔の表情Emojiを変更
  • ❔ DiaryPage: 詳細感情キーワードChoice Chipsを追加し、DB連携を設定
  • ❔ DiaryPage - AI Comment: Choice chips, mood sliderなどの入力値をAI Comment System Promptに合うよう変更。
    • ❔ **以前の日記または会話履歴全体 (応急処置の技術負債)
    • ユーザー基本情報: 名前, 性別, MBTI, …
    • 詳細感情キーワード: 楽しい, 悲しい, …
    • キャラクター設定: ソミ, セナ, ミンヒョク
    • 感情数値: 1〜100点
    • 回答形式: 癒やし型(Healing), 助言型(Suggestion), 情報型(Informative)
    • 回答の長さ: 短め, 普通, 詳しく
    • is New Chat
      • そのChatのmessagesは初めて作るものなので、最初に作るmessage documentのis_initial = true値を入れて、すべてのシステムプロンプトをまとめて入れてしまう。
        • is_initial = false
        • 限界点: 最初のmessage documentにシステムプロンプトを入れてしまうと、会話の途中で修正するのは大変ではあるけれど可能ではある。 is_initial = trueのものがあって、それが修正されたものなら、そのdocumentを消して入れ直せばいいじゃないか。どうやるかはわからないけど。
  • ❔ DiaryPage - AI Comment: CRUDを完成させる
    • ❔ tmp_ai_comment fieldをなくして、doc_refを活用
  • ❔ DiaryPage - AI Comment: キャラクター設定
    • ❔ tmp_ai_comment_by fieldをなくして、doc_refを活用
    • ❔ profile_image field値で画像を出力
  • ❔ DiaryPage - Drawer - ChatHistoryListTile: order by updated_time

  • ❔ ChatPage - Create New Diary: 会話内容をもとにNew Diaryを作成
    • ❔ OpenAI API Call実装: createDiaryFromChat
      • Input: Chat Summary, System Prompt(Diary From Chat)
      • Output: New Diary(Title, Content, Mood score)
  • ❔ DiaryPage - Interactive Sliderをimport後に適用

  • ❔ HomeFeedPage: Search Diary機能を実装

  • ❔ CalendarPage(上部) - Mood Calendar
    • ❔ 日付ごとに作成された投稿数を確認可能
    • ❔ 日付をクリックすると、該当日付へ移動
  • ❔ CalendarPage(下部) - Mood stats
    • ❔ フォーカス中の月に関する統計資料を出力
      • ❔ 出力された統計資料に対するAIのコメントを出力
  • ❔ AuthPage: Google Login機能を実装

  • ❔ HomeFeedPage - Bottom Sheet (+ Button): 複数の選択肢から1つ選べるようにする
    • 新しい日記: Go to DiaryPage
    • 感情記録: Go to MoodPage
  • ❔ MoodPage(ポップアップ): Mood設定スライダーCRUD
    • Create
    • Read
    • Update
    • Delete
  • ❔ HomeFeedPage - ListView - FeedCardMoodを表示
  • ❔ HomeFeedPage - ListView: FeedCardDiary, FeedCardMood, FeedCardChatコンポーネントを時系列でソート (Cloud Functionを活用)

  • 2025.2.5 水までに発表用の最終版APKを抽出してインストール

💭 日記

ミンヒョク

夜に40分だけ寝ようと思ったのに、3時間以上気絶した。これならもうしっかり休んで、明日走るほうがよさそうだ。会社の存亡がかかった岐路に立っているわけでもないし。

GPT-4oのコメント (KPT)

GPT-4o

✅ よかった点 (Keep)

  • 🚀 ChatPage機能最適化: データ読み込み方式の改善、Action最適化、Titleおよび日付CRUD追加など、全体的な性能改善を実現した点が印象的だよ。
  • 🔄 DiaryPage構造整理: Create/Editページを統合して重複ロジックを減らし、管理しやすく改善した点がよかった。
  • 🛠️ さまざまなIssue解決: UIオーバーフロー、メッセージ空欄送信問題、日付保存エラーなどを修正し、安定性を高めた点が目立っている。

❌ 惜しかった点 (Problem)

  • 疲労の蓄積: 短い休息を計画したものの、結局長時間気絶してしまい、体力管理に難しさを感じた点が惜しいね。
  • 📋 機能追加にともなう保守負担: ChatPageとDiaryPageの機能拡張が速く進んでいて、今後の保守と最適化にさらに時間がかかる可能性がある。

🔄 試してみる点 (Try)

  • 🕒 作業と休息のバランス調整: 短い休息が長くなるパターンが繰り返されないよう、一定のルーティンを決めてみるのも役立つよ。
  • 🔍 今後の保守に備えたコード整理: 現在最適化したChatPageとDiaryPageの構造を文書化し、コードコメントも積極的に活用して保守負担を減らそう。
  • 🛠️ 今後の拡張性を考慮: API CallおよびCustom Function構造をさらにモジュール化し、以後の機能追加や拡張時の負担を減らす方向を考えてみよう。

結論
今日はChatPageの全体的な機能を最適化し、DiaryPageの構造を改善しながら複数のIssueを解決した生産的な一日だったよ。ただし疲労の蓄積によって作業予定が揺れる可能性があるので、適切な休息とスケジュール調整が必要そうだ。これからも最適化したシステムを維持しつつ、拡張性を考えた開発を続けられるよう応援しているね! 💪😊

カテゴリー: ,

更新日時:

コメントする