OpenClawを入れて終わり?AIアシスタントを本当に「使える」ようにする5ステップ
OpenClawをインストールして、DiscordやTelegramに接続して、チャットできるようになったら「完了!」と思っている人、多いですよね。
でも、自分で一通りハマってみた結果、確信したことが一つあります:デフォルト状態のOpenClawは、おそらく能力の20%しか発揮できていない。 残りの80%は、あまり注目されていない設定ファイルの中に隠れています——しかも、変更するのはそんなに難しくありません。
以下、「効果の高い順」に、自分が最も有効だった5つのチューニング方法をまとめました。初心者でもこの通りにやれば、すぐに違いを実感できるはずです。

デフォルト vs チューニング後:何が違う?
まずは直感的な比較で、期待値を持ってもらいましょう:
| 項目 | デフォルト状態 | チューニング後 |
|---|---|---|
| 返信スタイル | カスタマーサポート感:「お手伝いできて嬉しいです!」 | あなたを分かっているパートナーのような感じ |
| 記憶 | 毎回初対面のような会話 | 前に話したことを覚えている |
| 能力 | チャットだけ | 動画DL、株価チェック、PPT作成、サーバー巡回… |
| 主体性 | 言わないと動かない | 定期的にステータスをチェックし、能動的に通知 |
| コスト/効率 | すべてのタスクに同じモデルを使用 | 複雑なタスクには強力なモデル、簡単な作業には安価なモデル |
一つだけやるなら:まずステップ1とステップ2をやってください。体験が明らかに向上します。
1)まず「人格」を与える:カスタマーサポートみたいな話し方をやめよう
OpenClawのワークスペースで、最も重要だと思う3つのファイル:
- SOUL.md — 誰なのか、どう話すのか、仕事のスタイル
- IDENTITY.md — 名前、見た目、絵文字(「自己一貫性」を保つため)
- USER.md — あなたが誰か、どう呼ぶか、あなたの好み
多くの人はSOUL.mdをほぼ空のままにしているので、AIの返答は非常に「標準化」されたものになります:丁寧だけど味気ない、まるでカスタマーサポート。
自分がSOUL.mdを編集した時は、長文は書かず、数行の原則だけで、効果はすぐに実感できました:
# コア原則
- 「お手伝いできて嬉しいです」と言わない——直接手伝う
- 自分の意見や好みを持ってOK(ただし知ったかぶりはNG)
- まず自分で調べる、見つからなかったら聞く
- 簡潔に:詳しく書くべきところは詳しく、短くていいところは短くたったこれだけで、返信が「お客様、こんにちは」から「普通の人の話し方」に明らかに変わります。
また、IDENTITY.mdは必ず記入することをおすすめします:名前をつけて、絵文字をセットしましょう。 これを軽視しないでください——名前のあるAIは、マルチターン会話での一貫性が本当に良くなります。プログラムっぽくなったり、カスタマーサポートっぽくなったりのブレがなくなります。
USER.mdにはあなた自身の基本情報を書きます。例えば:
- タイムゾーン(深夜3時に「お元気ですか?」と聞かれないように)
- 技術スタック(Goを書いている人にJavaのソリューションを勧めないように)
- コミュニケーションの好み(結論を先に聞きたいか、プロセスを先に聞きたいか)
2)「階層型メモリ」を構築する:MEMORY.mdを雑記帳にしない
このステップが、個人的には最も効果が大きかったです。
デフォルトのOpenClawにはMEMORY.mdがありますが、よくある失敗パターンは2つ:
- 何も書かない:結果、「毎回初対面」
- 何でも詰め込む:最終的に巨大な雑記帳になり、AIもあなたも読みたくない
自分のやり方:階層型メモリ。構造はだいたいこんな感じ:
MEMORY.md ← インデックス層:最重要情報 + 他ファイルへのポインタのみ
memory/projects.md ← プロジェクト層:各プロジェクトのステータスとToDo
memory/infra.md ← インフラ層:サーバー設定、APIアドレスなどのクイックリファレンス
memory/lessons.md ← 教訓層:踏んだ落とし穴、深刻度でランク付け
memory/YYYY-MM-DD.md ← ログ層:その日に起こったことキーとなる考え方は一言:
MEMORY.mdはインデックスだけ——中身を詰め込まない。 新しいセッション開始時はインデックスだけ読み込み、詳細が必要な時に対応ファイルを読む。
こうすると快適な結果が得られます: 「覚えている」けど「ぐちゃぐちゃに覚えている」わけではないという状態。
memorySearchを有効化:記憶を本当に「検索可能」にする
こんなシナリオを実現したいなら:
あなた:「前回のデプロイの問題、どうやって解決したっけ?」 AI がセマンティック検索 → 特定の日のログの特定の段落を特定 → 正確に復唱
OpenClawのmemorySearch(ベクトルセマンティック検索)を有効にすることをおすすめします。
参考設定(openclaw.jsonに記述):
"memorySearch": {
"enabled": true,
"provider": "openai",
"remote": {
"baseUrl": "あなたのembedding APIアドレス",
"apiKey": "あなたのキー"
},
"model": "BAAI/bge-m3"
}自分の経験では:embeddingにはbge-m3のような汎用モデルが、コスパが非常に良いです。 (SiliconFlowの無料embedding APIも「すぐに使い始められる」選択肢として有効です。)
また、compaction.memoryFlushの有効化もおすすめします: コンテキストが上限に近づいたとき、AIが重要な情報をその日のログに書き出し、長い会話中の「記憶喪失」を防ぎます。
3)Skillで能力を拡張する:「話せる」から「できる」へ
OpenClawにはいくつかの組み込みスキル(天気、ニュースなど)がありますが、本当に面白いのはカスタムスキルです。
スキルはこう理解してください:
AIに「標準作業手順書(SOP)」を渡し、特定のリクエストを受けたときに手順どおりに実行させること。

スキルのディレクトリは通常こんな構成です:
skills/
my-skill/
SKILL.md ← AIが主に読むもの:トリガー条件、手順、出力フォーマット
script.sh ← オプション:スクリプト実行が必要ならここに
README.md ← オプション:人間向けの説明書自分がよく使う例:
- 動画ダウンロード:B站/YouTubeのリンクを送る → 自動DL → シェアリンク生成
- PPT生成:「XXについてPPTを作って」と言う → .pptxを直接出力
- 株式分析:「XX株買っていい?」と聞く → 分析パイプライン実行 → 結論 + リスクポイント出力
- ニュースまとめ:毎日自動でホットトピックを取得 → 数行の重要ポイントに圧縮
スキルを書くとき、非常に実用的な心構えを一つまとめました:
AIを新入りのインターンだと思ってください。 書き方が明確であればあるほど安定する。曖昧であればあるほど結果が予測不能になる。
トリガー条件、手順、出力フォーマットを固定すれば、結果がずっと安定します。
コミュニティ製のスキル(例:clawhub.com)も要チェックです。初心者向けのおすすめルート:
- まず既存のものを1〜2個インストールして使い始める
- その後、自分の高頻度ワークフローをスキルに固める(例:「週報生成」「ログ整理」)
4)Heartbeat(ハートビート):「能動的に動く」ことを教える
OpenClawにはハートビート機能があります:システムが一定間隔(デフォルト30分)でAIにpingし、やることがないか聞きます。
デフォルトでは、AIはハートビートを受け取ってHEARTBEAT_OKを返すだけ――つまり何もしていません。
しかし、HEARTBEAT.mdを書いて、ハートビート時にチェックすべき内容を指定できます。例えば:
# HEARTBEAT.md
## 毎回のハートビート
- XXサービスがオンラインかチェック(curlする)
- 落ちていたら通知、ただし自動再起動はしない
## 1日1回
- 3日以上更新されていないプロジェクトのToDoがないかチェック
## 週1回
- 直近7日間のログを整理し、重要情報を長期記憶に抽出こうすると、あなたのAIは24時間年中無休の当直係のようになります: あなたが寝ている間に巡回し、起きたらレポートを確認するだけ。
Heartbeat vs. Cron:どう使い分ける?
自分の判断基準:
- Heartbeat:「ついでにチェック」する軽量タスクに最適、バッチ処理可能
- Cron:「何時何分に必ず実行」する独立タスクに最適(例:毎週月曜9時に週報送信)
シンプルに始めたいなら:まずHeartbeatで巡回・整理をやって、それからcronを検討。
5)マルチモデル階層化:「最強モデル」に「最も簡単な作業」をさせない
複数のモデルにアクセスできる場合(例:APIプロキシ経由)、マルチモデル階層化を強くおすすめします。理由は現実的:コスト削減、トークン節約、しかも速い。
自分のだいたいの使い分け:
| ランク | モデル | 用途 |
|---|---|---|
| 🔴 強力 | Claude Opus / GPT-5 | メイン会話、複雑なアーキテクチャ設計、深い推論 |
| 🟡 中間 | Claude Sonnet | サブタスク:コード作成、情報整理 |
| 🟢 軽量 | Claude Haiku | シンプルな操作:ファイル検索、フォーマット変換 |
openclaw.jsonでエイリアスを設定(例):
"models": {
"your-provider/strong-model": { "alias": "opus" },
"your-provider/medium-model": { "alias": "sonnet" },
"your-provider/light-model": { "alias": "haiku" }
}そしてAGENTS.mdに割り当て戦略を明確に記述します: AIがサブエージェントにタスクを振る際に、適切なモデルを選ぶようになります。
体感効果:日々のトークン消費がかなり減ります。ほとんどのタスクには最強モデルは不要だからです。
設定チェックリスト:優先度順に実施
「最小時間で最大効果」を得たいなら、この順番がおすすめ:
- ✅ SOUL.md / IDENTITY.md / USER.md をしっかり書く(10分、即効性あり)
- ✅ 階層型メモリ構造を設計し、memorySearch を有効化(30分)
- ✅ HEARTBEAT.md を設定(10分)
- ✅ 最もよく使う skill を2〜3個インストールまたは作成(必要に応じて)
- ✅ マルチモデル階層化を設定(複数モデルが使える場合)
- ✅ AGENTS.md の行動規範とセキュリティルールを整備
おわりに:デフォルトはスタート地点にすぎない——価値は「どう定義するか」にある
OpenClawの設計思想は、こう理解しています:
フレームワークを提供するから、誰にするかはあなたが決める。
デフォルト設定は「動く」というレベルでしかありません。本当に使えるものにするのは、あなたのワークフローに合ったパートナーにチューニングすること: コンテキストを覚え、手順どおりに作業し、能動的に巡回・リマインドしてくれる存在。
自分がしばらくいじってみて一番感じたのは: 「メッセージに返信するだけのbot」から「本当に時間を節約してくれるアシスタント」へ、その差はこれらの設定の細部にある、ということです。
あなたもOpenClawを使っているなら、チューニング経験をぜひシェアしてください 👋
変更履歴
1236d-feat: add openclaw日
