従来の課題
- 一貫性のない動作 - 同じタスクでも毎回異なる結果が出て、信頼性が低い
- プロンプト作成の複雑さ - 専門知識が必要で、変更の影響予測が困難
- 制御と柔軟性のトレードオフ - どちらかを犠牲にせざるを得なかった
Agent SOP が解決する課題
Agent SOP は "Determin-ish-tic"(決定論的っぽい)アプローチで、従来の課題であった制御と柔軟性の最適なバランスを実現するとのこと。
Agent SOP とは
Agent SOP は、AIエージェントに複雑な作業を確実に実行させるための「作業手順書」です。
簡単に言うと:
会社や工場で使われる「業務マニュアル」や「標準作業手順書」と同じ考え方を、AI エージェントに適用したものです。
Markdown で書かれた自然言語の手順書で、AI エージェントが一貫性を持って複雑なタスクを実行できるようにするガイドである。
主な特徴
-
明確な手順とルール
RFC 2119 という標準規格を使って、「絶対にやるべきこと(MUST)」「推奨されること(SHOULD)」「任意でやってもいいこと(MAY)」を明確に区。Git の中身を確認すると一つずつの手順ごとに記載されているようだ。

-
パラメータ化された入力
プロジェクトごとに変わる値を「パラメータ」として受け取れるので、同じ SOP をいろんな場面で再利用可能 -
簡単に作成できる
AI エージェント自身が、フォーマット仕様を読んで新しい SOP を生成可能 -
進捗管理と再開可能性
作業の進捗を記録しながら進めるので、途中で何かエラーが起きても再開しやすい
Agent SOP は他のプラットフォームに依存しない RFC 2119 標準規格という点が大きなポイントかと個人的には感じました。
ただし、このような「作業手順書」は各プラットフォームのカスタムエージェントやサブエージェントでも「絶対にやるべきこと(MUST)」「推奨されること(SHOULD)」「任意でやってもいいこと(MAY)」などを意識して書いているかと思います。
使い慣れたプラットフォームの機能を使えば良いとも思いますので、Agent SOP が必ずしも良いというものではなくあくまで選択肢の候補として考えれば良いと思います。
利用可能な既存の SOP
- codebase-summary - コードベース全体を分析してドキュメント化する手順
- pdd - 複雑な問題解決のための手順
- code-task-generator - 要件からタスクを分解して計画する手順
- code-assist - テスト駆動開発でコードを実装する手順
Agent SOP の作成方法
Agent SOP は AI エージェント自身に作成させることができます。
次のコマンドで Agent SOP の標準フォーマット仕様が表示されます。
strands-agents-sops rule
標準フォーマット仕様のサンプルは次の通りです。(実際にはもっと長いのでコマンドを打って確認してみてください。)
# SOP Name
## Overview
Brief description of what this SOP accomplishes and when to use it.
## Parameters
- **required_param** (required): Description of required input
- **optional_param** (optional, default: value): Description with default
## Steps
### 1. Step Name
Description of what this step accomplishes.
**Constraints:**
- You MUST perform required actions
- You SHOULD follow recommended practices
- You MAY include optional enhancements
## Examples
Concrete usage examples showing input and expected outcomes.
## Troubleshooting
Common issues and their solutions.
各 AI ツールに合わせて適切な場所にルールを配置してあげます。
| ツール | 配置場所 | ファイル名 |
|---|---|---|
| Kiro |
~/.kiro/steering/ または .kiro/steering/
|
agent-sop-format.md |
| Amazon Q Developer | .amazonq/rules/ |
agent-sop-format.md |
| Cursor | .cursor/rules/ |
agent-sop-format.mdc (拡張子に注意) |
| Cline | .clinerules/ |
agent-sop-format.md |
ルールを配置したら、AI エージェントに自然言語で説明して Agent SOP を作成してもらったら完成です。実際には他の各 AI ツールの機能でもそうだと思いますが、動かしながら自身で何十回と作成した Agent SOP を微調整していくこととなると思います。
例:
"会議メモから、アクションアイテム、決定事項、フォローアップタスクを抽出して、担当者と期限を割り当てる Agent SOP を作成してください"
strands-agents で動かしてみる
strands-agents-sops のインストールと strands-agents を使用するため関連パッケージもインストールしておきます。
pip install strands-agents-sops
pip install strands-agents strands-agents-tools
次の通り、strands-agents を作成します。ここでは、Code Assist の SOP を例に作成しています。
from strands import Agent
from strands_tools import editor, shell
from strands_agents_sops import code_assist
agent = Agent(
# code_assist SOP を使用してコードアシスタントエージェントを作成
system_prompt=code_assist,
# エディタとシェルのツールを追加
tools=[editor, shell],
# 使用する言語モデルを指定
model="global.amazon.nova-2-lite-v1:0"
)
agent("code_assist SOP の開始。日本語でやりとりしましょう。")
while(True):
agent(input("\nInput: "))
概ね聞いてきている内容は同じでありますが、RFC 2119 標準規格とはいえ、あくまで Markdown ベースの自然言語指示であり、完全な決定論的ではなく、モデルの性能や解釈に依存するのが現実でしょう。
それでも構造化された指示により、何もない状態と比べて大幅に一貫性の向上を見込まれるのがポイントなのだと思います。
Agent SOP を Claude Skills に変換する
Agent SOP は Claude Skills に変換できます。Claude Skills の具体的な説明はここでは割愛させてきただくので、リンク先の記事を参照してください。
既存の SOP の変換
既存の SOP を Claude Skills に変換するには次のコマンドを実行します。
strands-agents-sops skills
./claude/skills/ 配下を確認すると次の通り 既存の SOP が Claude SKILL に変換されて出来上がっていることが確認できます。

カスタム SOP の変換
土台となる カスタム SOP を作成します。
mkdir my-sops
cat > ./my-sops/custom-workflow.sop.md << 'EOF'
# Custom Workflow
## Overview
My custom workflow for specific tasks.
## Steps
### 1. Custom Step
Do something custom.
EOF
カスタム SOP も含めて Claude Skills に変換するには次のようなコマンドを実行します。
strands-agents-sops skills --sop-paths ./my-sops --output-dir ./skills
カスタム SOP が Claude Skills に変換され、./claude/skills/custom-workflow/SKILL.md が出来上がったことが確認できたと思います。

ClaudeCode を起動し、少々雑ですが SKILL を使うように問いかけてみると、「タスク → モード → ドキュメント → オプション → Submit」というように必要なパラメータの入力がタブごとに出来上がっていることが確認できました。



