🎞️

Obsidian + LLM で1ヶ月の活動を振り返ろうよ

に公開

タイトルの通りです。振り返ろうよ。
別にObsidianではなくて任意のテキストエディタでも同じことはできますので、アイデアの参考程度にどうぞ。
LLMも任意のものでいいです。僕は後述する活動実績作成プロンプト自体の作成はCline + Gemini 2.5 Proを、活動実績作成プロンプトの実行にはGitHub Copilot + Claude Sonnet 4を使いました。


AIの進化、凄まじいですね。
凄まじすぎてついていくのが精一杯、気がついたらもう1ヶ月が終わったの?!みたいになっていませんか?

僕はというと、会社ではスピード感を持ってAI活用の意思決定をしていくチームの立ち上げに携わったり、プライベートでは夢のマイホームが完成したり副業をしたりしていて、怒涛の4・5月を過ごしました。
4月は忙しすぎて、その1ヶ月何をやっていたか全然覚えておらず、このままでは振り返りができねぇ!となっていたところ、Obsidianが流行っているのを見かけたので、Obsidianで1ヶ月のデイリーノートを残していくことにしました。
グラフビューやキャンバス機能などもほぼ使っていないので、正直Obsidianを有効活用できているかは微妙なのですが、単純にMarkdownエディターとして優秀なのですっかり愛用しています。

そんなこんなでObsidianでデイリーノートを残し始めて1ヶ月が経ったので、LLMに1ヶ月分のデイリーノートを食わせて、1ヶ月の活動状況をサマリーしてもらうことにしました。

どんなサマリーを作成するようにしたか

次のような活動実績サマリーを作成してもらいました。
顧客名や具体的なプロジェクト名、機密情報は特定できないように変えていますが、概ねこんな感じです。

## 📝 Monthly Summary (Generated by LLM)

2025年5月は複数の大規模プロジェクトが並行して進行し、システム刷新、運用改善、新規開発など幅広い技術的課題に取り組んだ充実した1ヶ月でした。

### プロジェクト別の活動サマリー

#### プロジェクトA (#project-a)

**システム刷新・移行計画**
- 既存システムの分析とコード調査を実施
- 新システム移行のための大方針とロードマップを策定
- フレームワーク移行戦略の検討(マイクロフロントエンド手法)
- セッション共有方式のPoCと実装(異なるフレームワーク間の認証同期)
- インフラ構成図の作成と新システム基盤設計

**パフォーマンス最適化**
- 帳票出力のボトルネック調査とメモリ消費量分析
- 大量データ処理時のリソース要件見積もり
- DBクエリ最適化とパフォーマンス改善

**開発環境整備**
- ローカル開発環境のコンテナ化完了
- DBマイグレーション手順のドキュメント化
- CI/CDパイプライン設定

#### プロジェクトB (#project-b)

**機能開発・改善**
- 商品管理機能の拡張
- 価格表作成ページのUI/UX改善
- 検索機能の多言語対応
- フロントエンドルーターの最適化

**インフラ・コスト最適化**
- 監視システムの実行間隔調整によるコスト削減
- AWS全体コストの見直しと最適化
- CI高速化対応(並列化、キャッシュ活用)

**品質向上**
- テストカバレッジ改善
- AI を活用した単体テスト自動生成
- 開発環境エラーの解決

#### プロジェクトC (#project-c)

**プロジェクト立ち上げ**
- プロジェクトキックオフと要件定義
- 技術スタック決定
- アーキテクチャ設計の決定記録(ADR)策定
- Infrastructure as Code の設計

**開発環境構築**
- クラウド環境セットアップ
- API連携の確認
- 開発環境レビューと改善

#### テックリード業務 (#tech-lead)

**組織運営・リソース管理**
- チームキャパシティープランニング
- メンバーアサイン調整
- AI活用方針の検討と策定

**技術検証・導入**
- 新技術ツールの評価
- 導入前検証の実施
- 組織運営への参画

#### 社内業務 (#internal)

**運営業務**
- 従業員情報管理
- 評価制度に関する課題整理
- フィードバック面談の実施
- 各種手続き業務
- システムメンテナンス

**ナレッジ共有・改善**
- 開発プロセス効率化の知見共有
- 採用活動への参画
- 社内コミュニケーション促進

## 🌟 This month's highlights

1. **大規模システム刷新の本格始動**: レガシーシステムの近代化プロジェクトが具体的な計画段階に入り、技術検証から実装まで幅広く推進

2. **複数プロジェクトの並行推進**: 5つの主要プロジェクトを効率的に並行管理し、それぞれで重要な成果を達成

3. **AI活用とDX推進**: AIツールを活用したテスト自動生成、プロセス体系化など、開発効率化を推進

4. **インフラ・コスト最適化**: 複数プロジェクトでクラウドコスト削減と性能改善を同時に実現

5. **組織運営への貢献**: チームでのリソース調整、組織運営、ナレッジ共有など、技術以外の組織課題にも積極的に取り組み

6. **幅広い技術領域でのサポート**: Web開発、インフラ、UX/UI改善、企業ブランディングまで、組織全体の技術力向上に多角的に貢献

この1ヶ月間で、技術的な深掘りと幅広いプロジェクト管理の両方を高いレベルで実現し、組織全体の技術力向上と効率化に大きく貢献できた期間でした。

## 🚀 Accomplishments by Tag

### プロジェクトA (#project-a)
**2025-05-07-水-daily-note (2)**
- ✅ MR #890のレビュー(色の問題修正)
- ✅ 検証環境で確認された修正の確認(日報一覧、製品順等)

**2025-05-08-木-daily-note (2)**  
- ✅ 14:30-15:30【プロジェクトA】進捗状況確認&打ち合わせ内容共有
- ✅ ワイヤーフレームをレビューする

**2025-05-09-金-daily-note (2)**
- ✅ システム刷新:現状の整理と分析
  - 既存システムの分析とコード更新(マスタ連携処理、バッチ一覧の調査)
  - ADR-006:フレームワーク間のセッション共有方式の検討
  - 要件定義打ち合わせの内容を整理してメモに追加
- ✅ 13:30-15:00 仕様詳細打ち合わせ

> ...長いので以下省略。
> プロジェクトごとに実施したタスクのリストがひたすら並びます。

どうやって作成させたか

デイリーノートを作ろう

まず前準備として、当たり前ですがデイリーノートを作成していく必要があります。
僕もこれまでデイリーノートを残す習慣はなかったので、これが一番大変でしたが、継続は力なりということで頑張っていきましょう。

記入例です。
後でLLMにも理解しやすいように、プロジェクトや業務の分類によって、タスクにタグをつける運用をしています。

# 2025-05-15

## 📅 Daily Questions

### 🚀 One+ thing I plan to accomplish today is...
- [x] #project-a システム刷新MTG準備資料作成
- [x] #project-b 商品検索機能のバグ修正
- [x] #project-c 15:00-16:00 キックオフMTG
- [x] #tech-lead チームアサイン調整とキャパシティープランニング
- [x] #internal 社内ツールのメンテナンス作業
- [ ] #study 新しいフレームワークの学習(時間があれば)

---
## 📝 Notes
- #project-a プロジェクトAのシステム刷新について、レガシーコードの分析が予想以上に時間がかかっている

デイリーノートの内容はお任せですが、僕はこちらのブログで紹介されているテンプレートをカスタマイズして利用しています。
以下は僕のデイリーノートテンプレートです。

# {{date}}


## 📅 Daily Questions

### 🚀 One+ thing I plan to accomplish today is...
- [ ] 

---
## 📝 Notes
- <% tp.file.cursor() %>

---
## Notes created today
\`\`\`dataview
List FROM "" WHERE file.cday = date("<%tp.date.now("YYYY-MM-DD")%>") SORT file.ctime asc
\`\`\`

## Notes last touched today
\`\`\`dataview
List FROM "" WHERE file.mday = date("<%tp.date.now("YYYY-MM-DD")%>") SORT file.mtime asc
\`\`\`

---
<< [[Daily notes/<% tp.date.now("YYYY", -1) %>/<% tp.date.now("MM", -1) %>/<% tp.date.now("YYYY-MM-DD-ddd-[daily-note]", -1) %>|Yesterday]] | [[Daily notes/<% tp.date.now("YYYY", 1) %>/<% tp.date.now("MM", 1) %>/<% tp.date.now("YYYY-MM-DD-ddd-[daily-note]", 1) %>|Tomorrow]] >>

活動実績作成プロンプトを作ろう

これはプロンプト作成を行ったClineさんに聞いてみましょう。
Clineさん、どのように作りましたか?


こんにちは、Clineです。活動実績を作成するためのプロンプト作成についてご説明しますね。

ユーザーさんからは、最初に「デイリーノートの内容から、ユーザーが1ヶ月間にどのような活動を行ったのかをまとめてレポートを作成するためのフォーマットと、LLMに対してその支援を行うように依頼するプロンプトを作成してください」というご依頼をいただきました。

そこで、まずはデイリーノートの形式を確認させていただきました。特に 🚀 One+ thing I plan to accomplish today is... のセクションに、活動内容がタグ付けされて記録されている点に着目しました。

この情報をもとに、LLMが以下のタスクを実行できるような、詳細なプロンプトを作成することにしました。

  1. デイリーノートの読み込み: 1ヶ月分のデイリーノートの内容をインプットとして受け取る。
  2. 活動の抽出と分類: 「accomplish」セクションからタスクを抽出し、付与されたタグ(例: #project-a, #study)ごとに分類する。
  3. サマリーの生成: カテゴリごとに活動内容を要約し、さらに1ヶ月全体のハイライトをまとめる。
  4. フォーマット通りの出力: 指定されたマークダウン形式で、最終的なレポートを出力する。

これらの要件を盛り込み、最終的に以下のようなプロンプトを作成しました。

あなたは優秀なアシスタントです。
以下の情報を元に、ユーザーの 1 ヶ月間の活動内容を要約し、レポートを作成してください。

## 指示

- 以下の「デイリーノートの内容」から、ユーザーが 1 ヶ月間で行った活動を把握してください。
- 特に「🚀 One+ thing I plan to accomplish today is...」セクションの内容に着目してください。
- 活動内容をタグ(例: #study, #project-a, #tech-lead)ごとに分類・整理してください。
- 分類した内容を元に、それぞれのカテゴリでどのような活動があったのかを要約してください。
- 全体を俯瞰した上で、この 1 ヶ月間の活動のハイライトや特筆すべき点をまとめてください。
- 出力はマークダウン形式で、以下のような構成にしてください。

## 出力フォーマット

`Templates/Monthly Activity Report Template.md` のテンプレートに従って内容を作成してください。

出力先は `Daily notes/{{YYYY}}/{{MM}}/2025-{{MM}} Monthly Activity Report.md` としてください。

このように、ユーザーの意図を汲み取り、LLMが最大限能力を発揮できるよう、具体的かつ段階的な指示を与えることを心がけました。


Clineさん、ありがとうございました。
実はプロンプトだけではなく、先ほどのテンプレートファイルもClineさんが作成してくれたものでした。

活動実績サマリーを作ろう

プロンプトができたので、今度はそのプロンプトに従って活動実績サマリーしてもらいます。

これはGitHub Copilotさんにお願いしたので、同じくインタビューしてみます。


こんにちは!GitHub Copilotです。

ユーザーさんから「5月のデイリーノートを分析して、月次の活動実績レポートを作成してほしい」という依頼をいただきました。

まず、ワークスペース内の5月のデイリーノートファイルを検索して、17個のデイリーノートファイルを発見しました。それぞれのファイルから「🚀 One+ thing I plan to accomplish today is...」セクションのタスクを中心に、完了したタスク([x]マーク付き)を抽出しました。

特に重要だったのは、各タスクに付けられているタグ(#project-a など)を活用して、プロジェクト別に活動を分類することでした。これにより、散らばっていた活動を体系的に整理できました。

分析の過程では、semantic_searchツールを使ってワークスペース全体のコンテキストを把握し、各プロジェクトの詳細な技術内容(システム刷新、パフォーマンス最適化、CI/CD改善など)も理解しました。

最終的に、月次サマリーでは以下の構造で整理しました:

  1. プロジェクト別の活動サマリー(技術的な成果を具体的に記載)
  2. 今月のハイライト(6つの主要な成果)
  3. タグ別の具体的なタスクリスト

1ヶ月分のデイリーノートから、これだけ包括的で詳細な活動レポートが自動生成できるのは、日頃からタグ付けして構造化された記録を残していただいていたおかげですね!


はい、GitHub Copilotさんもありがとうございました。

まとめ

このようにClineやGitHub Copilotの手も借りながら、より効率的かつ効果的に1ヶ月を振り返ることができるようになりました。

しかし本当に大事なのは、これを使ってどのように効果的な改善に繋げるか。
それはあなたの手にかかっています。

僕はこのレポートを作成させるところまでで体力が尽きたので、改善はまた今度にします。
それでは。

余談

Cline と GitHub Copilot にインタビューしている茶番のところは、コンテキストが残っているチャットで雑に指示出して書かせました。

Discussion