AIエージェント活用事例

今日の新着

44すべて 189件

全189件中 1〜20件

開発・コーディング実装例

エージェントが時刻を推測して記入できないようにする検査の導入

作業記録に時刻を推測して記入していたClaude Codeを、ツール実行直前に検査するスクリプトで防いだと著者は報告しています。

使い方

  1. Claude Codeは長い運用作業記録を残す際、未確認の時刻を頻繁に記入していたと著者は述べています。メモリファイルに記録しても同じ問題が繰り返されたそうです。
  2. 著者はコマンド実行・ファイル書き込み・修正・メッセージ送信直前に動作する検査(PreToolUseフック)をPythonで作成したといいます。'16:4x'のような推測時刻が含まれていればブロックし、同じ段階でdateコマンドなどで時刻を取得して記入するよう案内する仕組みです。
  3. Pythonがスクリプトを見つけられない場合も終了コード2で全ての実行が止まる可能性があったため、著者は独自の終了コード3のみをブロックとして扱う短いラッパーを用意したと述べています。設定ファイルもバックアップ後、キーを1つ追加するスクリプトで修正したそうです。

結果

起動から2時間も経たずに推測時刻をノートに記入しようとした試みが防がれ、エージェントが時刻を取得して再度記入したと著者は報告しています。

補足

06:00のようにxを含まない丸めた時刻や、通常のチャット返信はこの検査では検出できないと著者は明記しています。

出典

Reddit 原文 ↗

プロンプト例 · Claude Code

Claude Codeが作業記録に未確認の時刻を記入できないようにする検査を設定してください。

入力: Claude Code設定ファイルの場所[パス]、記録ファイル形式[例:マークダウンログ]、ブロックするパターン[例:16:4x、xx:xxのようなプレースホルダー]、利用中のOS。まず、現在使用しているClaude Codeバージョンでツール実行直前検査(PreToolUseフック)がどのような入力を受け取り、どの終了コードでブロックするか公式ドキュメントで確認してください。

コマンド実行、ファイル書き込み・修正、メッセージ送信直前に新たに追加される内容のみを検査するPythonスクリプトを作成してください。推測時刻パターンが含まれていればブロックし、同じ段階でシステム時刻を取得してその値を記入する理由を返してください。ファイルに既に存在する過去の記録はブロックせず、整理作業ができるようにしてください。スクリプトファイルが存在しない、またはエラーが発生した場合の終了コードと、実際のブロックを区別できるよう、独自のブロックコードのみをブロックとして扱う短いラッパーを用意してください。

設定ファイルは手動で編集せず、バックアップを作成した上でフック項目を1つ追加するスクリプトで変更し、再読込して他の権限設定が維持されているか確認してください。元に戻す方法も記載してください。

成果物:検査スクリプト、ラッパー、設定変更スクリプト、復元手順。テスト用フォルダで推測時刻を含む書き込みと、正常な時刻の書き込みをそれぞれ1回ずつ実行し、前者のみがブロックされることをまず確認してください。