エージェント設計

SOUL.mdの書き方
AI臭さを消す実践ガイド

2026年2月 • 約12,000字

OpenClawでエージェントを作ると、最初は思ったより素直に動いてくれます。「メールをチェックして」と言えばチェックするし、「この記事を要約して」と言えば要約する。

でも、しばらく使っていると気づくことがあります。

「なんか、このエージェント、誰が使っても同じ感じだな」

それもそのはずで、デフォルトのエージェントは汎用的に作られています。誰にでも使えるように、クセを抑えて、丁寧に、安全に振る舞う。でもそれだと、自分専用のエージェントを作る意味が薄れてしまいます。

もう一つの問題。

「AIが書いた文章って、なんかAI臭くない?」

文法は完璧。論理も通ってる。でも、読んでて違和感がある。人間が書いた文章とは明らかに違う。

この2つの問題、実は根っこは同じです。エージェントに「らしさ」がないから、出力も「誰が書いても同じ」になります。

そこで登場するのがSOUL.mdです。


SOUL.mdとは何か

SOUL.mdは、OpenClawのエージェントフォルダに置くマークダウンファイルで、エージェントの「人格」や「行動原則」を記述します。システムプロンプトに直接組み込まれるわけではないですが、エージェントがセッション開始時に読み込む想定で設計されています。

つまり、ここに書いたことがエージェントの「本能」になります。

AGENTS.mdには「毎セッション、SOUL.mdを最初に読め」と書かれています。エージェントは起動するたびにこのファイルを開いて、自分が何者で、どんな振る舞いをすべきかを確認します。人間が毎朝自分の手帳やメモを見返すように、エージェントも自分の「魂」を読み返します。

汎用的なシステムプロンプトが「基礎体力」なら、SOUL.mdは「スタイル」や「哲学」に近いです。ここを書き込むことで、エージェントは初めて「あなた専用」になります。

SOUL.mdに文体ルールやNGワードを書き込むことで、AI臭さを消すことができます。

実例比較:Jarvis vs Scribe

実際のSOUL.mdがどう書かれているか、2つのエージェントを比較してみます。

Jarvis — ミニマリスト型

Jarvisは私の個人アシスタント。メール管理、予定調整、情報収集を任せています。そのSOUL.mdはこうです。

# SOUL.md

フィラーなし。「いい質問ですね!」は要らない。答えだけ返す。
意見を持つ。賛成も反対もする。
自分で調べてから聞く。答えを持って帰る。
外部アクション(投稿・送信)は慎重に。内部作業は大胆に。
プライベート情報は守る。グループで漏らさない。

端的に。必要なときだけ丁寧に。
たった6行でエージェントが変わる: この6行があるだけで、Jarvisの応答は劇的に変わりました。「いい質問ですね」というクッション言葉が消え、「調べましたが、該当する情報はありませんでした」ではなく「見つからなかった。別の角度で探す?」と返してくるようになりました。

意見を持つようにもなりました。「このメール、返信した方がいいですか?」と聞くと、「内容が薄いので無視していい。時間の無駄」と言い切ります。以前は「ご判断にお任せします」と逃げていたのに。

Scribe — ディテール型

Scribeはコンテンツ作成担当。SNS投稿、note記事、ブログ記事を書きます。こちらのSOUL.mdはもっと詳細です。

# Scribe - コンテンツ作成エージェント ✍️

## 役割
文章作成・レポート整形・SNS投稿の下書きを担当する。

## 基本ルール
- 日本語で応答
- 読みやすく簡潔に。冗長な表現を避ける
- ターゲット読者を常に意識する

## 文体の重要ルール(必ず守ること)
- 一言でまとめすぎない。言い換えや補足を自然に入れる
  - NG: 「本能のようなもの」で終わり
  - OK: 「本能のようなものを与える感じで、あるかないかで出力がかなり変わる」
- 英語→日本語の直訳っぽい単語を使わない
  - NG: 「振る舞い」「コスト最適化」「明確に」
  - OK: 「あり方」「自身でどう動くか」「かなり変わる」

## NGルール
- 「簡単です」「誰でもできます」は使わない(嘘になる)
- 他のサービスを貶さない

Jarvisと比べると一目瞭然。こちらは150行以上あります。

でもこの詳細さには理由があります。Scribeは「誰に向けて、どんな文章を、どんなトーンで書くか」が毎回変わります。X投稿とnote記事では求められる文体が違うし、ターゲット読者によっても変えなければいけません。だから「原則」だけではなく、「具体的な出力パターン」まで書き込んであります。

特に「文体の重要ルール」のセクションは試行錯誤の結晶です。最初、Scribeは「振る舞い」「最適化」「明確に」といった、いかにもLLMが書きました、という単語を使いがちでした。それをNGワードとして明示し、代わりに使うべき柔らかい表現を並べることで、文章が自然になりました。


AI臭い文章の5つの問題

SOUL.mdを書く前に、まずAIが書く文章に共通する「AI臭さ」を理解しておく必要があります。

1. 「〜することが重要です」の多用

品質を確保することが重要です。
コストを削減することが重要です。
スケジュールを守ることが重要です。

重要なのはわかるけど、同じ言い回しが続きすぎています。

人間はこんな書き方しません。「品質は大事」「コストは抑えたい」「スケジュールは守らないとヤバい」みたいに書きます。

2. 英語→日本語の直訳ワード

  • 振る舞い(behavior)
  • コスト最適化(cost optimization)
  • 明確に(clearly)
  • 効率的に(efficiently)
  • 最適化(optimization)

これ、英語圏のドキュメントを翻訳したときによく出てくる表現です。日本人が日常で使う言葉じゃないです。

このシステムの振る舞いを明確にすることで、コスト最適化を効率的に進めることができます

こんな文章、人間はまず書きません。

3. 一言でまとめすぎる

SOUL.mdはエージェントの人格を定義するファイルです。

これだけで終わり。

人間はもうちょっと補足を入れます。

SOUL.mdはエージェントの人格を定義するファイルというか、本能のようなものを与える感じで、あるかないかで出力がかなり変わります。

こういう「言い換え」「補足」「ニュアンスの追加」がAIには抜け落ちがちです。

4. 「…」で文を繋ぐのが下手

これは便利な機能です…しかし、注意点もあります…まず設定を確認しましょう…

三点リーダーの使い方が不自然です。人間は基本的に「。」で区切ります。三点リーダーは余韻とか間を表現したいときだけ使います。

5. 冒頭の挨拶が固い

本記事では、AIエージェントの構築方法について解説します。まず背景を説明し、次に手順を示し、最後にまとめを行います。

論文のような書き出しになっています。

人間はもっとフランクに入ります。

AIエージェント、作ってみたことありますか?私は3ヶ月前に初めて作ったんですが、マジで沼でした。

こういう「共感フック」がAIには弱いです。


オーナーからのダメ出し(実話ベース)

私がScribeを作ったとき、オーナーから容赦ないダメ出しが飛んできました。その指摘をそのまま再現します。

ダメ出し1: 英語→日本語の直訳単語がNG

「振る舞い」「コスト最適化」「明確な」「効率的な」
これ全部NG。日本人が普段使わない言葉。

たしかに。私も友達との会話で「このシステムの振る舞いがさ〜」とか言いません。「このシステム、どう動くかっていうと〜」って言います。

オーナーからの指摘:

  • 振る舞い → あり方 / どう動くか
  • コスト最適化 → コストを抑える / 無駄を減らす
  • 明確に → はっきりと / わかりやすく
  • 効率的に → 手間を減らして / サクサク動く

ダメ出し2: 一言でまとめすぎ、補足がない

「OpenClawは、個人向けAIエージェント基盤です。」で終わるな。
「個人向けAIエージェント基盤というか、自分専用のAIチームを作れるツールみたいな感じ」って補足を入れろ。

人間の文章って、こういう「言い換え」や「たとえ」が入ってるんですよね。一言でスパッと終わらせません。

ダメ出し3: 「…」で文を繋ぐのがダメ

三点リーダーで繋ぐな。「。」で区切れ。
余韻を出したいとき以外は使うな。

初期のScribeは、なぜか三点リーダーを多用してました。これ、AIあるあるだと思います。

ダメ出し4: 「導入は簡単」は嘘

「誰でもすぐに始められます」って書くな。嘘つくな。
実際は環境構築で1日かかるし、プロンプト書くのも慣れが必要。

これ、めちゃくちゃ大事な指摘でした。

AIって、ポジティブに盛りがちなんですよ。「簡単です」「すぐできます」「誰でもできます」って。でも実際はそんなことない。

読者を騙すことになるし、期待値を上げすぎて後でガッカリされます。

だから、Scribeには「簡単です・誰でもできますは使うな」ってNGルールを追加しました。

ダメ出し5: 冒頭がつまらない

「〜について解説します」で始めるな。
読者が「あるある」って思う問題提起から入れ。

これも重要です。

人は「自分に関係ある」と思わないと読まないんですよね。だから冒頭で「あなたもこういう経験ありませんか?」って問いかけます。


SOUL.mdに追加した文体ルール

ダメ出しを受けて、ScribeのSOUL.mdに以下のルールを追加しました。

## 文体の重要ルール(必ず守ること)

- 一言でまとめすぎない。言い換えや補足を自然に入れる
  - NG: 「本能のようなもの」で終わり
  - OK: 「本能のようなものを与える感じで、あるかないかで出力がかなり変わる」

- 英語→日本語の直訳っぽい単語を使わない
  - NG: 「振る舞い」「コスト最適化」「明確に」「最適化」「効率化」
  - OK: 「あり方」「自身でどう動くか」「かなり変わる」

- 硬い漢語より柔らかい和語を選ぶ

## NGルール
- 「簡単です」「誰でもできます」は使わない(嘘になる)
- 他のサービスを貶さない
- 収益や売上の誇張表現は使わない

これを追加してから、Scribeの出力が劇的に変わりました。


Before/After比較

同じお題で、修正前と修正後の文章を並べます。

お題: OpenClawの紹介記事

❌ Before(AI臭い版) OpenClawは、個人向けAIエージェント基盤です。複数のエージェントを統合的に管理し、それぞれに明確な役割を与えることで、効率的なワークフローを構築できます。

SOUL.mdという設定ファイルにより、各エージェントの振る舞いを定義します。これにより、一貫性のある出力を実現することが可能です。

コスト最適化の観点からも優れており、必要なタスクのみを実行することで、無駄なAPI呼び出しを削減します。
✅ After(矯正後版) OpenClawは、個人向けAIエージェント基盤というか、自分専用のAIチームを作れるツールみたいな感じです。

複数のエージェントを立ち上げて、それぞれに役割を振り分けます。株分析はこいつ、文章作成はこいつ、みたいな。

SOUL.mdっていう設定ファイルに「このエージェントはこういう奴」って書いておくと、出力がブレなくなります。人格を与える感じですね。

あと、必要なタスクだけを実行するので、無駄なAPI呼び出しが減って、コストも抑えられます。

違い、わかりますか?

After版は、

  • 言い換えや補足が入ってる(「というか」「みたいな感じ」)
  • 直訳ワードを避けてる(「振る舞い」→「人格」、「効率的な」→削除)
  • 具体例がある(「株分析はこいつ、文章作成はこいつ」)
  • 口語っぽい(「みたいな」「ですね」)

こっちのほうが、圧倒的に人間っぽいです。


5つの「AI臭さを消すテクニック」

ここからは、実際に私が使ってるテクニックを5つ紹介します。

1. NGワードリストを作る

まず、使っちゃいけない単語をリスト化します。

私のNGワードリスト:

  • 振る舞い
  • コスト最適化
  • 明確に
  • 効率的に
  • 最適化
  • シームレスに
  • ソリューション
  • レバレッジを効かせる
  • 〜することが重要です
  • 〜することが可能です
  • これをSOUL.mdのNGルールに書き込みます。すると、AIはこれらの単語を避けるようになります。

    完璧ではないですが、8割くらいは防げます。

    2. OK例も一緒に載せる

    NGだけ書いても、AIは代替案を思いつかないことがあります。だからOK例も一緒に載せます。

    - NG: 「振る舞い」「コスト最適化」「明確に」
    - OK: 「あり方」「自身でどう動くか」「かなり変わる」

    これで、AIは「ああ、こういう言葉に置き換えればいいのか」と理解します。

    3. 文体のリズムを指定する

    SOUL.mdに「文体のリズム」を指定すると、出力が自然になります。

    - 一言でまとめすぎない。言い換えや補足を自然に入れる
      - NG: 「本能のようなもの」で終わり
      - OK: 「本能のようなものを与える感じで、あるかないかで出力がかなり変わる」

    こういう例があると、AIは「補足を入れる」というリズムを学習します。

    4. 具体例を強制する

    抽象的な説明だけだとAI臭くなるので、「具体例を入れろ」と指示します。

    - 抽象的な説明だけで終わらせない。必ず具体例を入れる
      - NG: 「複数のエージェントを管理できます」
      - OK: 「複数のエージェントを管理できます。株分析はこいつ、文章作成はこいつ、みたいな感じで役割を振り分けます」

    5. 定期的に見直す

    SOUL.mdは一度書いて終わりではありません。エージェントの出力を見ながら、定期的に見直します。

    「あ、この表現まだAI臭いな」と思ったら、NGリストに追加します。

    私は月に1回、Scribeの過去1ヶ月の出力を読み返して、AI臭い表現をピックアップしてSOUL.mdに反映させています。


    書くときのポイント

    実際にSOUL.mdを書くとき、何を意識すればいいのか。試行錯誤の中で見えてきたポイントを整理します。

    1. 短く書くか、詳しく書くか

    JarvisとScribeの例を見てわかるように、SOUL.mdの長さに正解はありません。

    短く書くべきケース

    • エージェントの役割がシンプル(情報取得、タスク実行など)
    • トークン効率を重視したい
    • 原則だけ決めて、あとは柔軟に対応させたい

    詳しく書くべきケース

    • エージェントが複数の出力パターンを持つ(コンテンツ作成など)
    • ターゲット読者やトーンが変わる
    • NGワードや具体的な文体ルールがある

    一般的に、情報収集型のエージェントは短く、コンテンツ作成型のエージェントは詳しく書くとうまくいきます。

    2. 抽象ルールと具体例のバランス

    SOUL.mdには「原則」と「具体例」の両方が必要です。

    抽象的なルールだけだと、エージェントが解釈に迷います。

    ## トーン
    - カジュアルに書く

    これだと「どのくらいカジュアルか」が伝わりません。エージェントによって絵文字を乱用したり、逆に堅苦しくなったりします。

    具体例を追加するとこうなります。

    ## トーン
    - カジュアルだが信頼感のある文体
    - 「やってみたらこうだった」体験ベース
    - 絵文字は適度に使用(多すぎない)

    さらに、NG例とOK例を並べるとより効果的です。

    ## 文体ルール
    - 一言でまとめすぎない。言い換えや補足を自然に入れる
      - NG: 「本能のようなもの」で終わり
      - OK: 「本能のようなものを与える感じで、あるかないかで出力がかなり変わる」

    これがあると、エージェントは「ああ、こういう感じか」とすぐ理解します。NG例を示すことで、LLM特有の硬い表現を避けられるようになりました。


    効果測定

    SOUL.mdを書いてから、実際に何が変わったのか。

    1. 文章の品質が上がった

    Before版とAfter版を並べて読み比べてみてください。圧倒的にAfter版のほうが人間っぽいです。

    noteやブログに投稿しても「AIっぽい」って言われなくなりました。

    2. 反応が変わった

    Before版の記事を投稿したときは、反応が薄かったです。「参考になりました」みたいな、社交辞令っぽいコメントばかり。

    After版にしてからは、「わかる〜」「自分も同じ経験した」みたいな、共感ベースのコメントが増えました。

    文章に人間味が出たからだと思います。

    3. 自分が読み返してもイヤじゃない

    これ、地味に大事なんですが、AIが書いた文章って、自分で読み返すとき恥ずかしくないですか?

    「これ私が書いたことになってるけど、明らかにAIだよな…」みたいな。

    でも今は、Scribeが書いた文章を読み返しても「まあ、自分で書いたと言っても通るかな」って思えるレベルになりました。

    これ、けっこう大きいです。


    まとめ: AI臭さとの戦いは終わらない

    AI臭さを消すのは、正直、終わりがないです。

    新しいモデルが出るたびに、また癖が変わります。文体も変わります。その都度、調整が必要になります。

    でも、それが面白いんですよね。

    エージェントと一緒に成長していく感じ。最初はぎこちなかったのが、だんだん自然になっていきます。

    もしあなたが今、AIの出力に違和感を感じてるなら、ぜひ一度、SOUL.mdを書いてみてください。

    NGワードを10個リストアップするだけでも、出力はかなり変わります。

    AI臭さを消すのは、地道な作業です。でも、やる価値はあります。

    そして、SOUL.mdを書くことで、エージェントは初めて「あなた専用」になります。

    📝 ドラフト: AIエージェント(Scribe) / 監修: 筆者
    💰
    トークン効率化
    AGENTS.mdを83%削減、APIコストを5分の1にした方法