---
title: "Cursor CLI を起動したら勝手に作業状況を調べ始めた話"
date: 2026-07-09
categories: "Cursor"
url: "https://hidetaka.dev/ja/writing/dev-notes/cursor-cli-dynamic-context-discovery"
---

Cursor CLI を起動したら、何も指示していないのにエージェントが`agent-transcripts/` を読み込み、git の履歴を確認し、前回作業のサマリを出してき増田。便利ではありつつも、何が起きたのかがちょっとわからなかったので、調べてみました。

## 起きたこと

プロジェクトディレクトリで `agent` を起動した直後、こんな出力が流れました。

```
直前の作業状況を確認します。

  Globbed "**/*" in .
  Found 10000 files (truncated)

$ ls -lt /Users/okamotohidetaka/.cursor/projects/.../agent-transcripts/ | head -5
  drwxr-xr-x@ 3 okamotohidetaka  staff  96  6 11 08:17 f9b3567e-...

直前の会話を確認します。

  Read book-of-stripe-for-cto/plan.md
  Read book-of-stripe-for-cto-2/plan.md
  Read ...f9b3567e....jsonl
  Read ...e76f4fbc....jsonl

$ git log --oneline -10
  cb606eb plan-doc
  d7decdf migrate from claude.ai

直前のコミットは plan.md の追加でした。計画と本文の差分を確認します。

直前の作業状況を確認しました。
```

順番に整理すると、エージェントが自律的にやったことは以下の4つです。

1.  `~/.cursor/projects/.../agent-transcripts/` を読んで直前のチャット履歴を取得

3.  `git status` / `git log` / `git show` でリポジトリの状態を把握

5.  `plan.md` など関連ファイルを読んで作業内容を理解

7.  「直前の作業状況を確認しました。何から進めますか？」という形で次のステップを提案

こちらが一言も入力していない状態で、これだけ動きました。

## 調べた結果

最初に疑ったのはセッション開始フックです。Cursor には `.cursor/hooks.json` を使ったフック機能があり、`sessionStart` というイベントを使えばセッション開始時に任意のスクリプトを動かせます。ただし、これは設定して初めて動作するもので、デフォルトでは何も起きません。

次に公式ドキュメント（[Using Agent in CLI](https://cursor.com/docs/cli/using)）を確認しましたが、「プロンプトなしで起動すると自律的にコンテキスト収集を始める」という記述は見当たりませんでした。`agent resume` や `--continue` でセッションを再開する方法は書かれているものの、今回の挙動は再開コマンドを打っていません。

正体がわかったのは、Cursor 公式ブログの「[Dynamic Context Discovery](https://cursor.com/blog/dynamic-context-discovery)」（2026年1月6日）を読んだときです。記事の冒頭にこう書いてあります。

> As models have become better as agents, we’ve found success by providing fewer details up front, making it easier for the agent to pull relevant context on its own.

要約すると、「モデルの能力が上がるにつれて、事前に情報を詰め込むよりも、エージェントが自分で必要な情報を取りに行く方がうまくいく」という設計方針です。静的なコンテキスト注入から、動的な自律収集へという方向転換。

今回の挙動はこれの発現で、「プロンプトなしで起動 → 何をすべきかわからない → 自分で文脈を集めに行く」という流れと考えられます。

あわせて [Changelog 2.4](https://cursor.com/changelog/2-4)（2026年1月22日）を確認すると、「コードベース調査用のデフォルトサブエージェント」が追加されていました。agent-transcripts を読んで前回作業を再構成するという動作は、このサブエージェントが担っている可能性があります。

## わかったこと・わからなかったこと

### わかったこと

今回の挙動はフックではなく、Dynamic Context Discovery という設計思想の一部です。Cursor CLI はプロンプトなしで起動すると、自分で文脈を集めてから次の指示を待つ、という動作をするようになっています。

### わからなかったこと

「プロンプトなし起動 → 自律収集 → サマリ提示」という一連の挙動が、changelog のどのバージョンで追加されたかは特定できませんでした。公式ドキュメントにも明示的な記述がないため、動作だけ存在して説明がない状態です。遭遇した当日にいくつか changelog をさかのぼって調べましたが、該当するエントリは見つかりませんでした。

使う側の感想として、セッションをまたいで作業を引き継ぐコストが設計として解消されているのは便利です。ただ、この挙動が公式に説明されていない点は、はじめて見たときに少し戸惑うので、ドキュメントが整備されると良いと思います。

## まとめ

Cursor CLI でプロンプトなし起動したときの自律的なコンテキスト収集は、Cursor の Dynamic Context Discovery という設計思想の発現です。フックの設定は不要で、デフォルトの挙動として動きます。

-   公式ブログ: [Dynamic Context Discovery](https://cursor.com/blog/dynamic-context-discovery)

-   CLI ドキュメント: [Using Agent in CLI](https://cursor.com/docs/cli/using)

-   Changelog 2.4（デフォルトサブエージェント追加）: [Subagents, Skills, and Image Generation](https://cursor.com/changelog/2-4)