0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

猿でもわかるAIプログラミングシリーズ 🐵💻 AIで毎日のTODOリストを自動生成する方法

Posted at

AIで毎日のTODOリストを自動生成する方法

1. はじめに:タスク管理、ちゃんとできてますか?

「今日、何から手をつけよう...?」
毎朝、Slackやメール、カレンダーを見ながらそう呟いていませんか?

現代のエンジニアは情報に溢れ、タスクが無限に舞い込んできます。
「どの作業が優先?」、「昨日の続きは何だっけ?」、「あのバグ直さなきゃ...」

このカオスを少しでも整理するために、AIを使って自動でTODOリストを生成する仕組みを作ってみましょう!


2. 技術の概要:自然言語処理 × タスク管理の融合

今回のアプローチでは以下の技術要素を使います:

技術要素 説明
OpenAI API(GPT) テキストからタスクを抽出・要約
Python 処理の実装言語
pandas タスクデータの整形・フィルタリング
Google Calendar API(任意) スケジュール連携(発展編)

ゴール:

Slackのログ、メール本文、前日の日報などの自然言語をもとに、
「今日やるべきこと」をAIが自動でリストアップします。


3. 実装:AIにTODOリストを作ってもらおう!

ステップ1:入力となる文章を用意

まずは以下のようなテキストが入力になります(Slackメッセージ、日報、会議メモなど):

・昨日はバグ#123を調査して再現手順まで把握できた。今日中に修正対応したい。
・A社との打ち合わせは明日の15:00。議事録を今日中にまとめておく。
・今週中にKPIレポートの初稿を出す必要あり。

ステップ2:OpenAI APIを使ってタスク抽出

import openai

openai.api_key = "YOUR_API_KEY"

def extract_todo(text):
    prompt = f"""
以下の文章から「今日やるべきTODOリスト」を抽出してください:
{text}

出力フォーマット(JSON):
[
  {{ "task": タスク内容, "priority": 優先度(1〜5), "category": 分類 }}
]
"""
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[{"role": "user", "content": prompt}],
        temperature=0.5
    )
    return response.choices[0].message.content

ステップ3:出力されたJSONを整形して表示

import json
import pandas as pd

raw_output = extract_todo(input_text)
todo_list = json.loads(raw_output)
df = pd.DataFrame(todo_list)
print(df.sort_values(by="priority"))

出力イメージ:

task priority category
バグ#123の修正対応 1 開発
議事録をまとめる 2 ドキュメント
KPIレポートの初稿を作成 3 レポート

4. 実務で使えるTips & よくある落とし穴

✅ 実務Tips:

  • 前日のSlack/日報をcronで自動収集 → 朝一でAIに流し込む
  • 「今日」に限定したプロンプトを設計することで余計なタスクを省ける
  • カテゴリ/優先度でフィルタリング表示することで視認性UP

⚠️ よくあるエラー:

問題 原因 対策
JSONの構文エラー 出力に余計なコメントが含まれる re.subでJSON部分だけ抜き出す
抽出結果が曖昧 プロンプトが曖昧すぎる 「今日やること」に明確に絞るよう指示
タスクの粒度が粗い 長文そのまま処理している 文章を文単位に分割して処理

5. 応用編:Google Calendarとの連携でさらに実用的に!

生成したTODOリストをそのままGoogleカレンダーに登録すれば、
「可視化 + 時間ブロッキング」も実現可能。

例:google-api-python-client を使ったカレンダー登録(抜粋)

from googleapiclient.discovery import build
from google.oauth2 import service_account

# 認証とサービス生成
creds = service_account.Credentials.from_service_account_file("credentials.json", scopes=['https://www.googleapis.com/auth/calendar'])
service = build("calendar", "v3", credentials=creds)

def insert_task(task):
    event = {
        'summary': task["task"],
        'start': {'dateTime': '2025-06-06T10:00:00+09:00'},
        'end': {'dateTime': '2025-06-06T10:30:00+09:00'}
    }
    service.events().insert(calendarId='primary', body=event).execute()

6. まとめ:自分だけのAI秘書を手に入れよう

✅ メリット:

  • 朝のタスク整理に迷わない
  • 複数ソースから要点抽出
  • 習慣化すれば、毎日が「着実な一歩」に

❗デメリット:

  • プロンプト依存性が高い(工夫でカバー可能)
  • セキュリティ要件に応じてOpenAI利用が制限される場合も

🔭 今後の展望:

  • 音声入力やチャット履歴との統合
  • LLMとスケジューラの完全自動連携
  • チームタスクとの連動による「共同AIアシスタント」

📌最後に

今回紹介したTODO自動生成AIは、業務効率化の第一歩になります。
まずはSlackメッセージや日報を使って、自分用に試してみてください。

「今日のやるべきこと」、AIにまとめてもらうのもアリじゃない?😉

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?