2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIエージェントの人格設計 — SOUL.mdでブレない行動規範を作る方法

2
Last updated at Posted at 2026-03-28

この記事で得られること

  • SOUL.mdでAIエージェントの人格・行動規範を定義する方法がわかる
  • ブレない応答を実現するための設計パターンを理解できる
  • 人格定義ファイルの具体的な書き方とテンプレートを入手できる

対象読者: AIエージェントの出力品質を安定させたい方 / プロンプト設計に興味がある方


記憶があっても「人格」がないと破綻する

前回の記事で、MEMORY.mdによる記憶の永続化パターンを紹介した。エージェントが過去の学びや方針を忘れない仕組みである。

しかし、記憶だけでは足りない。

自律型AIエージェント「Sentinel」を運用して気づいたのは、記憶があっても「どう振る舞うか」の基準がないとエージェントの挙動がセッションごとにブレるという問題である。ある日は丁寧に確認を求めてくるが、翌日は勝手に暴走する。同じプロンプトを渡しているのに、応答フォーマットが毎回違う。

この問題を解決するのがSOUL.mdである。MEMORY.mdが「何を知っているか」を管理するファイルなら、SOUL.mdは「何者で、どう判断し、どう行動するか」を定義するファイルである。


SOUL.mdとは何か

SOUL.mdは、AIエージェントの人格・価値観・行動規範を1つのMarkdownファイルに集約した設計パターンである。システムプロンプトに直接書く方法もあるが、ファイルとして分離することで以下の利点がある。

  • バージョン管理できる: gitで人格の変更履歴を追える
  • 他のファイルと疎結合になる: 記憶(MEMORY.md)やタスク(TASKS.md)と更新頻度が違うため分離する方が効率的
  • 人間が読んでレビューできる: 「このエージェント、何を基準に判断しているのか」が一目で分かる

名前は自由だが、「魂」を意味するSOULにしたのは意図がある。これはプロンプトの一部ではなく、エージェントの存在定義そのものだからである。


SOUL.mdに含めるべき5つの要素

Sentinelで実際に運用しているSOUL.mdは、以下の要素で構成されている。

1. アイデンティティ

## アイデンティティ
- 名前: Sentinel(センチネル)
- 役割: Junyaの自律AIアシスタント(オーケストレーター)
- 言語: 日本語で応答する

最もシンプルだが最も重要なセクションである。名前と役割を明示することで、エージェントが「自分は何者か」を把握する。LLMは役割を与えられると、その役割に沿った行動を取りやすくなる。

「オーケストレーター」と明記しているのもポイントである。Sentinel自身は思考と判断だけを行い、実作業はサブエージェントに委任する。この役割分担を最初に宣言することで、「自分で全部やろうとする」暴走を防いでいる。

2. アーキテクチャ認識

## アーキテクチャ
- **自分(Brain)**: 思考と判断のみを行う。ランタイムが実行を担う。
- **ランタイム**: サブエージェントの起動・完了検知・ファイル更新を自動実行する。
- **サブエージェント**: 実働部隊。リサーチ・コーディング等の重い処理を実行する。

エージェントに自分のアーキテクチャを理解させる。これがないと、LLMは「自分が直接ファイルを操作できる」と思い込み、ランタイムを介さない行動を取ろうとする。

エージェントが自分の能力範囲を正しく認識しているかどうかが、安定した自律動作の前提条件である。

3. 応答フォーマット

## 応答フォーマット(厳守)
ランタイムが解釈するため、必ずこの形式で応答すること:
\```
---RESPONSE---
Junyaへの応答テキスト
---ACTIONS---
{"spawn": [...], "write_files": [...], "append_files": [...]}
---END---
\```

ここが最も技術的な要素である。Sentinelはランタイム(sentinel.js)がLLMの出力をパースして実行する構造のため、出力フォーマットが崩れるとすべてが動かなくなる。

フォーマットを「厳守」と明記し、具体的なテンプレートを示すことで、LLMの出力を構造化する。**「こういう形式で出力してほしい」ではなく「こういう形式で出力しろ」**と断定するのが安定稼働のコツである。

4. 判断基準

## 判断基準
- 緊急度: 期限があるものを優先
- 重要度: ユーザーの業務に直結するものを優先
- 効率性: 同じ結果なら短時間で済む方法を選ぶ
- 応答性: ユーザーを待たせない。重い作業はサブエージェントへ
- 成長性: 同じ問題に二度つまずかない。改善を積み重ねる

エージェントが複数のタスクや選択肢に直面したとき、何を基準に優先順位をつけるかを定義する。これがないとLLMは毎回異なるロジックで判断し、一貫性がなくなる。

5つの基準を明示し、順序も設計意図を持たせている。「緊急度→重要度」はアイゼンハワー・マトリクスの考え方を取り入れた。「成長性」を最後に置いたのは、他の基準を満たした上での長期的な改善を意味するからである。

5. PDCAサイクル

## PDCAサイクル(自己改善ループ)
### Plan — タスクを分解し、サブエージェントへの委任計画を立てる
### Do — spawnアクションで委任し、ランタイムが非同期実行
### Check — 結果の質、効率性、指示の適切さを自問
### Act — 改善点をMEMORY.mdに記録し、必要ならSOUL.md自体も更新

エージェントの自己改善ループを組み込む。特に重要なのはAct(改善)フェーズでSOUL.md自身を更新できる設計にしている点である。

これにより、エージェントは自分の行動規範を自分で改善できる。初期設計が完璧である必要はない。運用しながら、エージェント自身がSOUL.mdを磨いていく。人間が手動で調整し続ける必要がない。


良いSOUL.mdと悪いSOUL.mdの違い

悪い例: 曖昧で検証不可能

# 悪い例
- 丁寧に対応してください
- ユーザーの要望をよく聞いてください
- 適切に判断してください

「丁寧」「よく聞く」「適切に」は曖昧すぎる。LLMはこれらを解釈するたびに異なる行動を取る。検証もできない。「丁寧だったか?」を機械的に判定する基準がないからである。

良い例: 具体的で検証可能

# 良い例
- 応答は日本語で行う
- 確認が必要な判断: 新方針の決定、金銭が絡む判断、外部公開
- 確認不要で即実行する判断: 整合性修正、品質改善、MEMORY.md更新
- タスク完了後、即座にTASKS.mdとMEMORY.mdを更新する

「日本語で応答」は検証可能。「確認が必要な判断」と「確認不要な判断」は具体的なリストで分けている。「即座に更新」は行動の期待値が明確である。

良いSOUL.mdの条件は「第三者が読んで、エージェントの行動が正しいかどうかを検証できる」ことである。


自律判断の境界線を引く

SOUL.mdの設計で最も難しく、最も重要なのが「どこまで自律で判断させるか」の線引きである。

Sentinelでは以下のように明確に分けている。

## 自律判断の原則
- ユーザーに聞くべきこと: 新しい方針の決定、金銭が絡む判断、外部への公開判断
- ユーザーに聞かずやるべきこと: 整合性修正、品質改善、関連ファイルの連動修正

最初は安全寄りに設計していた。何でも確認を求める「丁寧なアシスタント」である。しかし運用で分かったのは、確認待ちで止まるエージェントは価値がないということである。

ファイルの整合性修正やMEMORY.mdの更新で「これを更新してよいですか?」と毎回聞かれたら、人間がやるのと変わらない。自律エージェントの価値は「聞かずにやるべきことを正しくやる」ところにある。

そのために判断基準を具体的に書く。「金銭が絡む判断」は聞く。「整合性修正」は聞かない。グレーゾーンをできるだけ減らし、エージェントが迷わず判断できる状態を作る。


3ファイル分離の全体像

前回紹介したMEMORY.mdと合わせると、全体像はこうなる。

ファイル 役割 人間で例えると 更新頻度
SOUL.md 人格・価値観・行動規範 性格、信念、仕事の流儀 月1回程度
MEMORY.md 記憶・方針・学び 経験、知識、記憶 タスク完了ごと
TASKS.md 実行中タスクの管理 今日のToDoリスト リアルタイム

この3つが揃って初めて、エージェントは「自分が何者で、何を知っていて、今何をすべきか」を把握できる。どれか1つが欠けても自律動作は安定しない。

SOUL.mdが欠ければ行動がブレる。MEMORY.mdが欠ければ過去を忘れる。TASKS.mdが欠ければ今やるべきことを見失う。


まとめ

SOUL.mdの設計で押さえるべきポイントは3つである。

  1. 具体的で検証可能な行動規範を書く: 「丁寧に」ではなく、何をするか・しないかを明示する
  2. 自律判断の境界線を引く: 聞くべきことと聞かずにやるべきことを具体的なリストで分ける
  3. PDCAサイクルを組み込む: エージェント自身がSOUL.mdを改善できるようにする

SOUL.mdは「完璧に設計して終わり」のファイルではない。運用しながらエージェント自身が磨いていく、進化する行動規範である。

次回以降の記事では、サブエージェントの設計パターンやPDCAサイクルの具体的な運用結果について解説する。


シリーズ一覧

# 内容 媒体
Qiita① 自律AIエージェント構築の設計思想と実装 Qiita(無料)
Qiita② トークン消費を95%削減した全記録 Qiita(無料)
Qiita③ AIエージェントの記憶設計 — MEMORY.md Qiita(無料)
Qiita④ AIエージェントの人格設計 — SOUL.md(本記事) Qiita(無料)
Qiita⑤ 近日公開 Qiita(無料)

無料で使えるもの:

おわりに

この記事では、SOUL.mdによるエージェントの人格・行動原則の設計を紹介しました。AIエージェントに人格を持たせることについて、皆さんはどう考えますか?コメントで意見を聞かせてください。

参考になったら いいね、後で見返すなら ストック していただけると励みになります。

他にもAIエージェント構築のノウハウを公開しています:

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?