← 開発情報に戻る

遺伝システムの応用

遺伝的アルゴリズム(GA)を活用して、AI提案の品質を継続的に最適化する仕組み

概要

TimeCrowd AIでは、タスク提案(子タスク案・タスク名変更案・親タスク追加案)の生成に 遺伝的アルゴリズムの考え方を応用しています。ユーザーの承認・差し戻し・却下のフィードバックを 「自然選択」として活用し、提案の品質を世代を経るごとに向上させます。

基本フロー

初期生成
(個体群)
ユーザー評価
(適応度)
選択
(承認/却下)
変異・交叉
(再生成)
次世代
(改善案)

各タスクに対してAIが複数の提案(個体群)を生成し、ユーザーが承認・差し戻し・却下で評価します。 差し戻しフィードバックは「変異の方向」として次世代の生成に反映されます。

GA的要素のマッピング

個体各提案(TaskProposal)

子タスク案・タスク名変更案・親タスク追加案の各提案が「個体」に相当します。 1つのタスクに対して複数の提案が同時に生成され、これが「個体群」を形成します。

適応度ユーザーフィードバック

  • 承認(approve)— 適応度が最も高い個体。その形質が次世代に受け継がれる
  • 差し戻し(send_back)— 方向性は正しいが改善が必要。フィードバック内容が変異ベクトルとなる
  • 却下(reject)— 適応度ゼロ。その形質は淘汰される

変異差し戻しフィードバックによる再生成

差し戻し時のフィードバックテキストは蓄積され(send_back_feedbacks)、 次回の提案生成時にLLMへのプロンプトに含まれます。これにより、ユーザーの意図を反映した 「方向性のある変異」が実現されます。

エリート保存承認パターンの即座再利用

「これでOK」「このままで」といった承認表現が検出された場合、LLMを呼ばずに 同じ提案をそのまま再作成します。これはGAにおけるエリート保存戦略に相当し、 良い解が不要な変異で劣化するのを防ぎます。

適用領域と今後の展望

  • タスク分解の最適化 — 大きなタスクを適切な粒度の子タスクに分解する精度を向上
  • 命名規則の学習 — チームごとのタスク命名パターンをフィードバックから学習
  • 優先度推定 — 承認されやすい提案パターンから暗黙の優先度基準を抽出
  • クロスオーバー(将来) — 複数ユーザーの承認パターンを組み合わせ、チーム全体の好みを反映した提案生成

技術的な実装ポイント

  • 差し戻しフィードバックは metadata["send_back_feedbacks"] にJSON配列として蓄積
  • 承認パターン検出は正規表現(APPROVAL_PATTERNS)で判定
  • 提案生成はバックグラウンドジョブ(GenerateTaskProposalsJob)で非同期実行
  • 各提案タイプ(child_task / task_rename / parent_task)ごとに独立した世代管理