AgenticWorkerz
記事一覧に戻る
GitHub IssuesをAIの「外部記憶」にしたらコンテキスト消失問題が解決した
開発ワークフロー10 min read2026-03-20

GitHub IssuesをAIの「外部記憶」にしたらコンテキスト消失問題が解決した

LLMのコンテキストウィンドウ制限という根本問題を、GitHub Issuesを外部記憶として活用することで解決した方法を紹介します。Claude Code・Cursor・Copilotユーザー必読。

S
Shintaku
AI Architect

LLMの「コンテキスト消失」問題

AIと一緒に開発していると必ずぶつかる壁があります。それがコンテキスト消失です。

Claude Code で長いセッションを続けていると、ある時点を境に「あれ、前に何をやったっけ?」という状態になります。LLMのコンテキストウィンドウは有限(Claude Sonnetで約200K tokens)で、それを超えると古い情報は切り捨てられます。

特に複数日にまたがる作業・複数リポジトリの並行管理・チームでAIを共有する場合に致命的です。

解決策:GitHub Issuesを外部記憶として使う

発想は単純です。「AIが忘れるなら、忘れない場所に書いておけばいい」。

GitHubのIssueは:

  • 永続的(削除しない限り消えない)
  • 検索可能(タイトル・本文・ラベルで絞り込める)
  • 構造化できる(ラベル・マイルストーン・担当者)
  • AIが読める(gh コマンドで取得できる)

実際の運用パターン

パターン1: 作業コンテキストをIssueに記録する

新しい機能開発を始めるとき、まずIssueを作ってそこに全ての「なぜ」「何を」「どのように」を書きます。

## 背景・目的
エージェントKIKIのヘルスチェック機能を強化する。
現状:5分おきにpingするだけ
目的:メモリ・CPU・レスポンスタイムも含む詳細監視

## 技術的判断
- WebSocketではなくHTTPポーリングを使う(理由:シンプルさ優先)
- タイムアウト3秒(理由:VMが重い時に5秒以上かかることがあった)

## 実装記録
2026-02-15: ベースコード追加 (commit: abc123)
2026-02-16: メモリ監視追加。node heapUsed を使用
2026-02-17: ⚠️ CPU計測でos.loadavg()が不安定。要調査

パターン2: エラーと解決策を記録する

ハマったエラーとその解決策をIssueコメントに残します。次のセッションでAIが同じエラーに当たったとき、Issueを参照させれば即解決できます。

# AIへの指示例
"Issue #23 の 'ディスク100%エラー' の解決策を参考に、
今回の /var/log 肥大化問題を解決してください"

パターン3: 引き継ぎIssue

セッション終了時に「引き継ぎIssue」を作成し、次のセッション開始時に読み込みます。

## 本日の作業サマリー(2026-02-20)
### 完了
- [x] KIKI ヘルスチェック強化 (#31)
- [x] Aira タスクキュー実装 (#28)

### 未完了・次回へ
- [ ] Riku のPDF取り込みが文字化けする (#35)
 iconv-lite を試す予定

### 重要な発見
- Node.js worker_threads VM で不安定
 代替: child_process.fork() で解決済み

### 次のセッションでやること
1. Issue #35 のPDF文字化け対応
2. 全エージェントのsystemdログローテーション設定

実装:セッション開始プロトコル

CLAUDE.md に以下を書いておくと、毎セッション自動でコンテキストが復元されます。

# CLAUDE.md(抜粋)

## セッション開始プロトコル
1. 最新の引き継ぎIssueを取得して読む
   gh issue list --repo shintaku81/agent-team \
     --label "handover" --limit 1
2. 未処理のIssueを確認
   gh issue list --repo shintaku81/agent-team --state open
3. 把握できたら作業開始(ユーザーへの確認不要)

効果の計測

この方法を導入してから3週間の変化:

  • 「どこまでやったっけ?」確認コスト: 15分 → 2分
  • 同じエラーを繰り返す回数: 週5回 → ほぼゼロ
  • 並行管理できるリポジトリ数: 2個 → 8個
  • チームメンバー(AI)への引き継ぎ時間: 30分 → 5分

まとめ

GitHub Issuesを「外部記憶」として活用することで、LLMのコンテキスト制限という根本問題を実用的に解決できます。

重要なのは「AIにとって読みやすいIssue」を書く習慣を持つこと。人間用のIssueとAI用のIssueは少し書き方が違います。具体的なファイルパス・コマンド・エラーメッセージを含めることで、AIの実行精度が大幅に向上します。

#GitHub Issues#Claude Code#コンテキスト管理#プロンプトエンジニアリング