プログラムを動かしたら、ターミナルが赤い文字だらけに。あわててCursorに「エラーが出ます。直して」と送ったら、関係ない場所まで書き換えられて、かえって動かなくなった……。そんな“あるある”のときに試してほしい手順です。
この記事では、エラーの渡し方・頼み方・直った後の確認を5ステップで、順番に見ていきましょう。所要時間は、読むだけなら約10分、自分のエラーで試すなら5〜10分が目安です。
- Cursorにエラーを渡すときに「入れるもの」と「入れないもの」
- 再現手順を5行にまとめるコピペ用テンプレート
- Agent・Ask・Debugのどのモードで頼むか
- 直った後に必ずやる3つの確認
- 結果が悪くなりやすい「やってはいけない頼み方」
全体像:エラー解決は5ステップ
先に流れだけ見ておきましょう。
| ステップ | やること | かかる時間の目安 |
|---|---|---|
| 1 | エラーメッセージを「丸ごと」集める | 1分 |
| 2 | 再現手順を5行にまとめる | 2分 |
| 3 | モードを選んで頼む | 1分 |
| 4 | 差分を見てから採用する | 2〜5分 |
| 5 | 同じ操作でもう一度確認する | 1分 |
ポイントは、AIに考えてもらう前に、人間が材料をそろえることです。材料が足りないと、AIは推測で直そうとして、的外れな修正をしがちです。AIも、情報が少ないと困ってしまうんですね。
ステップ1:エラーメッセージを「丸ごと」集める
つい最後の1行だけ貼りたくなりますよね。でも、エラー全体をコピーしましょう。どのファイルの何行目で起きたかは、原因を探す一番の手がかりだからです。
例として、Pythonで売上CSVを読み込んだときのエラーです(ダミーです)。
- 1
- 2
- 3
- 4
Traceback (most recent call last):
File "report.py", line 12, in <module>
total += row["price"]
KeyError: 'price'最後の KeyError: 'price' だけだと「priceというキーがない」としか分かりません。上の2行、つまり report.py の12行目まであって初めて、「どこを見ればいいか」が伝わります。
Cursorに渡す3つの方法
- ターミナルから追加する:ターミナルの出力を範囲選択して、チャットに追加します。選択すると「Add to Chat」ボタンが出る場合があります。ボタンが出ない場合は、ショートカット(Mac は
Cmd+L、Windows / Linux はCtrl+L)で追加できる場合もあります。Cursorのバージョンで挙動が変わることがあるので、うまくいかなければコピーして貼り付けるのが確実です - @で参照する:チャット欄で
@を入力すると、ファイル、フォルダ、@Terminals(ターミナルの出力)などを指定できます - 画像を貼る:エラーダイアログなど文字をコピーできないときは、スクリーンショットをチャット欄に貼り付けられます
操作の流れは、ターミナルでエラーの出力をドラッグして選択する → 「Add to Chat」を押す(または上のショートカット) → チャット欄に選択した内容が添付される、です。そのあと、「原因を教えて」などの依頼文を書いて送ります。
エラーには、APIキー、パスワード、メールアドレス、フルネームを含むフォルダパスなどが混ざることがあります。sk-XXXX のように伏せ字にしてから渡しましょう。
ステップ2:再現手順を5行にまとめる
エラーだけを渡すより、「何をしたら」「どうなったか」を添えるほうが、原因が絞れます。次のテンプレートをコピーして、5行を埋めてみましょう。
- 1
- 2
- 3
- 4
- 5
やりたいこと:売上CSVを読み込んで合計を出したい
実行したコマンド:python report.py
期待した結果:合計金額が表示される
実際の結果:KeyError: 'price'(エラー全文は下に貼ります)
直前にやったこと:CSVの列名を日本語に変更した特に効くのが5行目の「直前にやったこと」です。「昨日まで動いていたのに」という場面では、原因は直前の変更にあることがほとんどです。この例なら、列名を変えたことが原因だとすぐ分かります。
ステップ3:モードを選んで頼む
Cursorのチャットには、目的別の「モード」があります。モードは Shift+Tab で切り替えるか、モード選択のドロップダウンから選べます。種類が多くて最初は迷いやすいので、ここでは主な3つに絞って見ましょう。
| モード | 向いている場面 | ファイルの編集 |
|---|---|---|
| Agent | 原因が見当ついていて、直す作業を任せたい | する |
| Ask | まず原因を説明してほしい、読むだけでよい | しない(読み取り専用) |
| Debug | 原因が分からない、再現しにくい不具合 | する |
迷ったら、まずAskで「原因の候補を教えて」と頼むのがおすすめです。ファイルを変更しないので、間違っても被害がありません。原因が分かったら、Agentで修正を頼みます。
チャット欄のモード選択(ドロップダウン)を開くと、Agent・Ask・Plan・Debug などが並びます。Plan は、大きな変更の進め方を先に確認したいときのモードです。なお、モードを切り替えると新しい文脈で始まるため、Askで分かった原因は、次の依頼にひとこと書き添えてください。
Debugモードは、いきなり直さず、原因の仮説を立ててログを仕込み、こちらに再現操作を依頼してから原因を特定する流れです。画面の指示どおりに再現すると、正確な情報が集まります。
頼み方の例
- 1
- 2
- 3
- 4
- 5
下のエラーの原因を教えてください。まだファイルは変更しないでください。
原因の候補を可能性が高い順に3つ挙げ、確認方法も添えてください。
(ステップ2の5行)
(エラー全文)原因が分かったら、こう続けます。
- 1
- 2
候補1が原因のようです。report.py の12行目だけを修正してください。
他のファイルは変更しないでください。ステップ4:直った後は、差分を見てから採用する
AIが修正したら、すぐ採用せず、何が変わったかを確認しましょう。見るのは次の3点です。
- 変更されたファイルは、想定した数か(1行直すだけなのに5ファイル変わっていないか)
- エラーを「直した」のではなく「隠した」だけになっていないか(
try / exceptで握りつぶしていないか) - 頼んでいない削除や書き換えがないか
Agentが編集を終えると、変更されたファイルの差分(削除は赤、追加は緑)を確認できます。エディタ表示では、変更ごと・ファイルごとに「Keep」(残す)/「Undo」(戻す)を選べます。Agents Window では「Changes」タブでファイル単位に確認します。ボタンの名前や位置はバージョンによって少し違います(以前のバージョンでは Accept / Reject と表示されていました)。
大きな修正を任せる前には、Gitで今の状態をコミットしておくと安心です。CursorのチェックポイントはGitとは別にローカルへ保存されるため、永続的な履歴はGitに残すと考えてください。コミットのコツはこちらにまとめています。
コミットメッセージを揃えるだけでチーム開発が楽になる話(Conventional Commits)
ステップ5:同じ操作でもう一度確認する
最後に、エラーが出たときと全く同じ操作をもう一度やってみましょう。
- 同じコマンドを実行して、エラーが消えたか確認する
- 別の入力(空のCSV、列が足りないCSVなど)でも試して、新しいエラーが出ないか見る
- テストがあれば実行する。なければ「この修正を確認するテストを書いて」と頼む
直ったと分かったら、その時点でコミットしておきましょう。次の作業で壊れても、ここまで戻れます。
やってはいけない頼み方
| NGな頼み方 | 何が起きるか | 言い換え例 |
|---|---|---|
| 「動かない。直して」 | 材料がなく、推測で修正される | ステップ2の5行を添える |
| 「エラーを消して」 | 例外の握りつぶしで、見かけだけ消える | 「原因を直して。エラー処理で隠さないで」 |
| 最後の1行だけ貼る | どこで起きたか分からない | エラー全文を貼る |
| 「全部書き直して」 | 動いていた部分まで壊れる | 「このファイルの12行目付近だけ」と範囲を絞る |
| 同じ依頼を何度も繰り返す | 失敗した修正が会話に積もり、迷走する | 新しいチャットで、状況を整理して頼み直す |
| 複数のエラーを一度に頼む | どれが直ったか分からなくなる | 1つずつ直して、確認してから次へ |
つまずきやすい点
- 「Add to Chat」が出ない:選択するか、実行結果のブロックにカーソルを重ねると出ることがあります。出ないときはコピー&貼り付けで十分です
- 直したら別のエラーが出た:失敗ではなく、1つ先に進んだ合図であることが多いです。新しいエラーを、ステップ1から同じ手順で渡します
- 2回頼んでも直らない:同じチャットで粘らず、Askで原因を整理するか、Debugモードに切り替えるか、新しいチャットで頼み直します
- エラーが数百行ある:最初の数行と最後の数行、自分のコードが出てくる行を優先して渡します。ここまで絞れば十分に伝わります
- 自分の環境でしか起きない:OSとPythonなどのバージョンを、ステップ2の末尾に1行足します
まとめ
- エラーは全文と5行の再現手順をセットで渡す
- 原因が不明なら、まずAskで原因を聞き、Agentで直す。難しければDebugモードを使う
- 直った後は、差分の確認 → 同じ操作で再確認 → コミットの順で締める
次にエラーが出たら、まずステップ2の5行だけでも書いてみてくださいね。それだけで、AIの回答がぐっと的確になります。エラーは怖くありません。一緒に落ち着いて直していきましょう。
関連する本・記事
本:『思考を実装する技術:Obsidian × Cursorで、知の断片を価値に変える』
「AIにうまく頼めない」という悩みは、頭の中の状況を言葉にする段階でつまずいていることが多いです。この本では、Obsidianでメモを整理しながらCursorに頼む流れを扱っています。
記事:
- CursorのRulesで“自分専用のAIアシスタント”を育てる方法:「エラー全文を貼る」「関係ないファイルは触らない」といった毎回の頼みごとを、Rulesとして登録しておく方法です