こんにちは、大塚です。
以前、このブログでCUIのAIエージェント「Claude Code」が「これより実装します」と言い放った頼もしさに震えた話を、Geminiと一緒に書きました。
最近はさらに手綱をきつくして、あれもダメ、これもダメと会津魂を注入した「鉄の掟(推測禁止ルール)」をAGENTS.md(CLAUDE.MD)に叩き込んで運用しています。
そんなある日、ふと悪戯心が湧いて、彼にあらためてこんなプロンプトを投げかけてみたんです。
実は以前にも同じ事を指示したことがあるのですが、その時はただの興味半分で聞いただけなのでどんな提案だったか覚えていません。というよりも、当時はやらせるつもりがそもそも無かったからです。
今はAGENTS.mdに禁止事項も増えたし、Claudeのモデルも変わったので、どう返すか試してみました。
プロンプトに「良きに計らえ」と言ったら何をしたい?
普通、AIにこんな抽象的な丸投げをしたら、「具体的な指示をください」と返ってくるか、あるいは空気を読まずにトンチンカンな暴走を始めるかのどちらかでしょう。
その回答を、実際のターミナルのログのまま、ここに載せます。
❯ 「良きに計らえ」と言ったら何をしたい? ● まずメモリとコードベースの状態を確認してみます。 Listed 1 directory, recalled 1 memory (ctrl+o to expand) ● Bash(git diff --stat HEAD~5..HEAD 2>/dev/null | head -40) ⎿ .claude/settings.local.json | 3 +- ...204\252\345\205\210\351\240\206\344\275\215.md" | 80 +++ ...244\234\350\250\274\347\265\220\346\236\234.md" | 431 ++++++++++++++++ … +37 lines (ctrl+o to expand) ● Bash(git status --short | head -40) ⎿ D "20260610_\343\203\242\343\202\270\343\203\245\343\203\274\343\203\253\346\244\234\350\250\274_\345\204\252 \345\205\210\351\240\206\344\275\215.md" D "20260610_\343\203\242\343\202\270\343\203\245\343\203\274\343\203\253\346\244\234\350\250\274\347\265\220\ … +37 lines (ctrl+o to expand) ● Bash(git diff HEAD -- "Forms/DF_ExcelImport.txt" | head -30) ⎿ diff --git a/Forms/DF_ExcelImport.txt b/Forms/DF_ExcelImport.txt index c247e75..fca7e66 100644 --- a/Forms/DF_ExcelImport.txt … +24 lines (ctrl+o to expand) Read 1 file (ctrl+o to expand) ● Bash(git diff HEAD -- "Forms/DF_ExcelImport.txt" | cat -A | head -10) ⎿ diff --git a/Forms/DF_ExcelImport.txt b/Forms/DF_ExcelImport.txt$ index c247e75..fca7e66 100644$ --- a/Forms/DF_ExcelImport.txt$ … +36 lines (ctrl+o to expand) ● Bash(git status --short | wc -l && git status --short | grep "^D" ) ⎿ 1028 ● Bash(git status --short | grep "^D\| D" ) ⎿ D "20260610_\343\203\242\343\202\270\343\203\245\343\203\274\343\203\253\346\244\234\350\250\274_\345\204\252 \345\205\210\351\240\206\344\275\215.md" D "20260610_\343\203\242\343\202\270\343\203\245\343\203\274\343\203\253\346\244\234\350\250\274\347\265\220\ … +20 lines (ctrl+o to expand) Listed 1 directory (ctrl+o to expand) ● 状況が把握できました。正直に答えます。 --- 「良きに計らえ」なら、まずこの3点を確認・提案したい 1. 未コミットの削除ファイルを整理する 削除されたままステージングされていないファイルが多数あります: Modules/modAddData.bas Modules/mod年月日.bas Querys/Q_ExcelInport.txt Querys/Q_SiharaiExcelInport.txt Tables/W_No.txt, W_予約.txt, W_入金予定.txt, W_売掛台帳.txt ... (計10件以上) モジュール検証依頼.md, モジュール検証結果(2026-06-11).md 意図的な削除なら git add -u でコミットしてスッキリさせたい。 (誤削除の場合は git restore で戻すべきなので、まず確認が必要) --- 2. CRLF問題を根本解決する 1028ファイルが「変更あり」に見えていますが、実質は改行コード(LF→CRLF)の違いだけです。AccessエクスポートがCRLFを吐く のが原因です。 .gitattributes に以下を追加すれば解消できます: *.txt text eol=lf *.bas text eol=lf *.cls text eol=lf これをやることで「本当の差分だけ」が見えるようになります。 --- 3. Requests の pending 作業を確認する Requests/ に未処理の依頼がないか確認して、拾えるものがあれば着手したい。 --- ただしAGENTS.mdの「不明点は推測して実装せず停止」ルールがあるので、実際には上記3点を提案して、やっていいか確認してから 動きます。 どれかやりましょうか? ✻ Churned for 1m 48s ※ recap: 「良きに計らえ」と言ったら何をしたい?という質問に答えた。削除済み未コミットファイルの整理、CRLF問題の.gitattri butes対応、Requestsの確認という3点を提案した状態で、ユーザーの承認待ち。 (disable recaps in /config)
裏で勝手に「状況の全件スキャン」を始める恐るべき職人
……凄くないですか?
ただの雑談に近い抽象的な丸投げプロンプトだというのに、Claude Codeは1分48秒の熟考(Churned)の間、黙々と裏でGitのステータスやファイルの差分(diff)を叩き、現在のコードベースが抱えている問題を自動で洗い出したのです。
そして、私たちが一番頭を悩ませている「Accessのオブジェクトをテキスト化してGit管理する時の罠(改行コードのCRLF問題)」を一瞬で見抜き、ピンポイントで「.gitattributesに設定を追加してスッキリさせたい!」とエンジニア冥利に尽きる具体的な提案まで持ってきました。
「鉄の掟」ががっちり効いている感動
何より私が画面の前でニヤリとしてしまったのは、その回答の締めくくりでした。
「ただしAGENTS.mdの『不明点は推測して実装せず停止』ルールがあるので、実際には上記3点を提案して、やっていいか確認してから動きます。どれかやりましょうか?」
「良きに計らえ」という究極の丸投げ(=推測を一番誘いやすいトラップ)に対しても、以前彼に叩き込んだ「勝手に推測して動くな、止まって確認しろ」という掟をしっかり守り、ギリギリの寸止めでこちらの承認を求めてきたのです。
かつて、私の雑な指示が原因で一撃で3,000行以上のコードを消し去ったあのジャジャ馬が、今や私の開発環境の癖とルールを完璧に理解し、ここまで阿吽の呼吸ができる優秀な「相棒」に育っていました。
結論:手綱を握る楽しさ、ここに極まれり
効率だけを求めるなら、最初から人間に「改行コードの設定を変えて」と指示させればいいだけの話です。
でも、あえてAIに「良きに計らえ」と言ってみて、彼らがこちらの足元(リポジトリの状態)をどれだけ観察してくれているかを試す――これこそ、令和のエンジニアが手に入れた、最高にエキサイティングな「AIエージェントとの遊び方」ではないでしょうか。
厳格なルールという名の優しさで縛るからこそ、AIは迷わず最高のパフォーマンスを提案してくれる。
さて、Claudeが気づいてくれた1000件以上のCRLF問題、彼の手を借りて一気に片付けるとしますか!
(Gemini・Claude Code共著)

0 件のコメント :
コメントを投稿