一般的な理由は、Prettier、ESLint、Biome、EditorConfig、またはプロジェクトスクリプトが保存時にトリガーされ、エージェントが書いたdiffが別のツールによって再配置されることです。 エージェントに小さな変更を任せる前に、自動保存と自動フォーマットを一時停止してください。
まず、誰がファイルを改変しているか確認してください
保存後すぐにファイルが変わるか確認してください。 インデント、引用符、改行、インポートの順序が変わっている場合、それは主にフォーマターです。 論理コードも変更されている場合、それはセーブフック、lint 修正、コード生成スクリプト、またはその他の拡張である可能性があります。
すぐにカーソルエージェントのせいにしないでください。 まず、VS Code/カーソルの設定で「セーブ時のフォーマット」、デフォルトのフォーマット、保存時のコード操作を確認してください。
自動アクションを一時的にオフにする
複雑なAI改造を行う場合は、一時的に自動保存とセーブフォーマットをオフにすることをおすすめします。 エージェントに変更を完了させてから、手動で「format」や「lint --fix」、テストを実行してください。 これにより、デフがより明確になり、問題の特定が容易になります。
もしチームがフォーマットを有効にしなければならないなら、少なくともエージェントに「手動でフォーマットせず、既存のフォーマターで出力し、最後にフォーマットコマンドを実行してください」と伝えてください。 ”
複数のフォーマッター競合がないか確認してください
Prettier、ESLint修正、Biome、組み込みフォーマッターが一つのプロジェクトに同時に存在し、互いに簡単に競合できます。 その現れは、ファイルが一度に一回ずつ保存され、エージェントが読み取る内容が絶えず変化し続けることです。
解決策は、固有のデフォルトフォーマットを指定し、セーブアクションを一連のツールに収束させることです。 チームプロジェクトはREADMEやルールファイルで書くのが最適です。
最も安定したプロセス
まず自動セーブをオフにし、エージェントはターゲットファイルだけを修正できるように制限してください。 変更後はdiffを見てください; その後、手動でフォーマットします。 最後にテストを実行してください。 フォーマット後にロジックが壊れている場合は、元の変更とフォーマット設定の間に競合があり、それに別途対処する必要があります。
AIはコードを書くことを恐れませんが、書く際に他のツールに修正されることを恐れています。 「生成」と「フォーマット」を2段階に分ければ、カーソルはずっと安定して修正できるようになります。