とりあえずメモリにぶっ込んでおけ
Claude Codeを触っていると、最初に悩む。
CLAUDE.mdsettings.json- ハーネス
- スキル
- メモリ(auto-memory)
- サブエージェント
……で、結局どれに何を書けばいいの?問題。
もちろん、ちゃんと設計したほうが強い。 繰り返し指示や禁止事項を整理すると、AIの出力はかなり安定する。
でも正直、最初から全部を綺麗に設計しようとすると、設定だけで1日溶ける。
だから最近は、 迷ったら「auto-memory に入れといて」で先に進める くらいでちょうどいいと思っている。
(以降「メモリ」は auto-memory のこと)
Claude Codeはかなり賢いので、
- 「このプロジェクトでは勝手にライブラリ増やすな」
- 「ログはこの形式で」
- 「レビューは厳しめ」
- 「日本語コメント禁止」
みたいな内容を雑に渡しても、意外と覚えてくれる。
確実に覚えさせたいなら「*****というルールをメモリに記録しろ」というフレーズを使う
これ、かなり便利。
だが当然、副作用もある。
後から 「なんでこの挙動してるんだ?」 となる。
覚えさせた時と状況は普通に変わるけど、勝手にメモリが更新されるかは運次第
設定が散らばるし、AIの“暗黙知”が増える。
さらに厄介なのが、 Gitで共有しにくいこと。
CLAUDE.md やハーネスならリポジトリに置けるが、
メモリに入れた内容は個人環境に閉じる。
つまり、 他のメンバーや別AIから見ると、
「なんでその判断したの?」 が分からなくなる。
AIが勝手に賢くなっているように見えて、 実際にはローカルな文脈依存が増えている状態。
つまり、
- スピード重視なら「雑に覚えさせる」
- 安定性重視なら「設定を構造化する」
のトレードオフ。
個人的には、 最初から完璧なAI開発環境を作ろうとするより、
- まず雑に動かす
- 繰り返し発生したルールだけ固定化
- 本当に必要になったらハーネス化
くらいが現実的。
効率を上げるには道具の勉強が重要なのは間違いない。
でも、道具の研究だけして何も作らない状態になるのも危険。
AI界隈、特にこれが起きやすい。
「最新構成」 「最強ハーネス」 「全部自動化」
を追い始めると、永遠に環境構築してる。
だから、 “分かった上で手を抜く” のはかなり大事だと思う。