メインコンテンツへスキップ
  1. すべての記事 📚/

開発日誌 2026-09-18 — 同意型AI支援と選択同期

今日やったこと
#

同意型の非同期AI支援を追加
#

  • AI機能を既定で無効にし、本人が初回説明を読んで明示的に同意した場合だけ有効になるようにした。無効のままでもToDo、通知、育成などの端末内機能は使える。
  • 手動のタスク分解と背景整理を共通キューへ統合した。手動依頼を優先し、同じ優先度では利用者間を公平に処理する。再試行、入力の失効、利用上限の消費条件も定めた。
  • 「あとで小分け」、放置タスクの救助、整理案、今日の候補、週次日記、完了時刻からの通知時間提案を非同期で返すようにした。提案は本人が確認して操作するまでタスクへ反映しない。
  • AIを無効にしたときは、端末内の提案とサーバー上の関連ジョブを削除するようにした。送信範囲、保持、外部AIによる処理を分けて説明する画面も追加した。
  • 暗号化バックアップを直近3世代まで保持し、本人が過去版を選んで最新版として復元できるようにした。招待の再発行、全セッション失効、本文を表示しない利用統計も管理機能へ追加した。

「最初の一歩」の既定文言を修正
#

  • 自動生成する最初の一歩が、実際の行動を勝手に決めたように見えない文言へ変更した。
  • 以前の既定文言だけを新形式へ移行し、本人が編集した文言は変更しない処理を追加した。

個人知識基盤を選択同期へ移行
#

  • 知識、作業メモ、受信箱、添付資料の可搬領域だけをクラウドストレージへ移し、既存の論理パスから接続する構成にした。Git、端末固有設定、ローカル原典、運用資材は端末側に残した。
  • 旧同期方式を無効化し、同じデータへ複数の同期エンジンを重ねない運用へ切り替えた。大きな生ログやデータベース、依存物、ビルドキャッシュもローカル領域に残す方針を明文化した。
  • Wikiツールは、許可した可搬領域が想定した保存先へ接続されている場合だけリンク先を扱えるようにした。想定外のリンクによる保管境界の逸脱は拒否する。

判断と学び
#

AI支援は便利さより先に、利用者の同意、送信範囲、停止時の削除を明確にする必要がある。既定を無効にし、提案を自動適用せず、端末内機能をAIから独立させると、使わない選択を損なわずに支援機能を追加できる。

時間のかかるAI処理を共通キューへ移す場合は、優先順位だけでなく、公平性、再試行、失効、利用枠を消費する時点まで一体で設計する必要がある。依頼を先に受け付けて結果を後から届ける構成にすると、画面を待たせずに失敗も管理しやすい。

保存先を変えるときは、利用者や既存ツールから見える論理パスを保ちつつ、同期してよい範囲を物理的に限定すると移行の影響を抑えられる。一方でリンク先を無条件に信用すると境界が崩れるため、許可する領域と接続先の両方を検証する必要がある。

検証
#

  • タスク管理PWAでは、モデルテスト11件、暗号化バックアップの回帰テスト、サーバー側テスト23件、ブラウザ回帰テストの成功を確認した。
  • 旧い自動文言だけが新しい既定文言へ移行し、本人が編集した最初の一歩は維持される回帰ケースを追加した。
  • 選択同期では、許可した領域の想定したリンク先だけを受け入れるテストを追加した。GitHub上のチェックも成功した。
  • スマートフォン実機でのホーム画面追加、通知受信、同意から非同期提案の受け取りまでの一連操作は未検証である。
  • 定例の情報収集、記事公開、状態記録による機械的な実行と成果物は、開発タスクには含めていない。

次にやること
#

  • スマートフォン実機で、AIの同意、非同期処理、提案の反映、無効化時の削除を一連で確認する。
  • キューの優先順位、公平性、再試行、失効が複数利用者の実運用でも想定どおりか観察する。
  • 別端末で可搬領域の同期と復旧を確認し、ローカル保存とクラウド反映を混同しない確認手順を固める。