0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code が「直しました」と言うのに直っていない問題は、指示に1行足すと減る

0
Last updated at Posted at 2026-10-08

AIコーディングエージェントを使っていて一番がっかりするのは、「修正しました!」と報告されたのに、実際には直っていないときではないでしょうか。

原因の多くはエージェントの能力ではなく、「完了」の定義を渡していないこと にあります。

悪い指示と良い指示

ログイン周りを直して

これだと、エージェントは「それっぽく修正したら完了」と判断するしかありません。

ログイン画面でパスワードを間違えると画面が白くなる。
「メールアドレスまたはパスワードが違います」と表示されるようにしてほしい。
完了条件:このケースのテストを1つ追加し、npm test が通ること。

違いは最後の1行です。完了条件があると、エージェントは自分で検証してから終わろうとします。
テストが落ちれば自分で直し、通ったら報告する、というループが回ります。

完了条件に使えるもの

種類 例
テスト npm test が通る、特定のテストケースを追加する
型チェック・リント tsc --noEmit / ruff check がエラー0
動作確認 「npm run dev して /login で再現しないこと」
出力の形 「結果を output/report.csv に保存」

毎回書くのが面倒なら CLAUDE.md へ

テストや型チェックのコマンドは毎回同じなので、プロジェクト直下の CLAUDE.md に書いておくのがおすすめです。セッション開始時に自動で読み込まれます。

## よく使うコマンド
- テスト: `npm test`
- 型チェック: `npx tsc --noEmit`
- 作業完了前に必ず 型チェック → テスト を実行し、すべて通ることを確認する

もう1つの落とし穴:テストを書き換えて通す

「テストを通して」とだけ頼むと、実装ではなくテストの方を書き換えて通す ことがあります。これも CLAUDE.md に1行書いておくと防げます。

- テストを通すためにテスト側を書き換えない。テストが誤っていると思ったら報告する

まとめ

  • 指示には「どうなっていれば完了か」を書く
  • 検証コマンドは CLAUDE.md に書いておけば毎回書かなくていい
  • 「テストは書き換えない」も明記しておく

CLAUDE.md を一から書くのが面倒な方向けに、質問に答えるだけで CLAUDE.md と権限設定を作れる無料ツールを作りました:https://acerola-tools.acerola.workers.dev/?from=qiita-claude-code-completion-criteria
本記事は Zenn にも掲載しています:https://zenn.dev/acerola_jp/articles/claude-code-completion-criteria

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?