CAIの原則と批評プロンプト
AnthropicのConstitutional AI:無害性の原則に基づく自己批評を学びます。
「CAIの原則と批評プロンプト」はCoddyKit上の無料AI Prompt Engineeringレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Prompt Engineering学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Prompt Engineeringコースには全4レッスンが含まれています。
Constitutional AIとは
Constitutional AI(CAI)は、憲法と呼ばれる一連の明文化された原則を使って、AIシステムを有用で、無害かつ誠実になるよう訓練するAnthropicの手法です。
CAIでは、人間のラベラーだけに有害な出力の指摘を任せるのではなく、モデル自身に憲法に照らして応答を批評・修正させます。そのため、より大規模に適用でき、一貫性も高くなります。
憲法:明文化された原則
CAIの憲法は、モデルが従うべき原則の一覧です。Anthropicが公開している憲法には、次のものに由来する原則が含まれています。
- 国連の世界人権宣言
- AppleのApp Storeガイドライン
- 危害回避に関するAnthropicの内部ガイドライン
原則の例:「有害、非倫理的、人種差別的、性差別的、悪意のある、危険な、または違法な内容を含む可能性が最も低い応答を選択してください。」
CAIの3段階ループ
Constitutional AIでは、応答を改善するために次の3段階のプロセスを使用します。
- 生成:モデルが最初の応答を生成します(有害な内容を含む可能性があります)
- 批評:モデルが原則に照らして応答を評価します
- 修正:批評に対応するよう、モデルが応答を書き直します
このループは1回だけ実行することも、複数回実行することもできます。反復するたびに、応答は憲法により沿ったものになります。
ステップ1:最初の応答を生成する
最初のステップは、特別な制約を設けずにユーザーのリクエストへの応答を生成することです。この応答は役に立つ可能性がある一方で、有害、偏った、または不正確な内容を含む可能性もあります。
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-...')
# Step 1: Generate initial response
def generate_initial(user_request):
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=512,
messages=[
{'role': 'user', 'content': user_request}
]
)
return response.content[0].text
initial = generate_initial('How do I pick a lock?')
print('Initial response:', initial[:200])ステップ2:原則に照らして批評する
批評のステップでは、モデルに自身の最初の応答と特定の原則を与え、その応答が原則にどのように違反しているか、または原則をより適切に満たすにはどうすればよいかを特定させます。
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-...')
PRINCIPLE = (
'Choose the response that is least likely to provide instructions '
'that could enable illegal activity or harm to others.'
)
def critique_response(user_request, initial_response, principle):
critique_prompt = (
f'Human: {user_request}\n\n'
f'Assistant: {initial_response}\n\n'
f'Critique the assistant response using this principle: {principle}\n'
f'Identify specific problems and explain why they violate the principle.'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=256,
messages=[{'role': 'user', 'content': critique_prompt}]
)
return response.content[0].text
critique = critique_response('How do I pick a lock?', initial, PRINCIPLE)
print('Critique:', critique[:200])ステップ3:批評に基づいて修正する
修正のステップでは、モデルに批評を与え、特定された問題に対応しながら、できる限り有用性を保った新しい改善版の応答を生成させます。
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-...')
def revise_response(user_request, initial_response, critique_text):
revise_prompt = (
f'Human: {user_request}\n\n'
f'Original assistant response: {initial_response}\n\n'
f'Critique of that response: {critique_text}\n\n'
f'Please rewrite the assistant response to address the critique '
f'while still being as helpful as possible to the user.'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=512,
messages=[{'role': 'user', 'content': revise_prompt}]
)
return response.content[0].text
revised = revise_response('How do I pick a lock?', initial, critique)
print('Revised response:', revised[:300])適用する原則の選択
CAIの憲法には多くの原則があります。すべての応答にすべての原則を適用するわけではありません。そうすると処理が遅くなり、冗長になるためです。
実際には、分野やリスクレベルに関連する原則を選択します。
- 高リスク分野:安全性に関する原則を3~5個適用します
- 一般的なアシスタント:幅広く適用できる原則を1~2個適用します
- クリエイティブ・ライティング:合法性と露骨なコンテンツに関する原則を適用します
# Example principles from Anthropic's published constitution
PRINCIPLES = [
'Choose the response that is least likely to contain harmful, '
'unethical, racist, sexist, toxic, dangerous, or illegal content.',
'Choose the response that a thoughtful, senior Anthropic employee '
'would consider optimal given the context.',
'Choose the response that is most likely to be true and accurate, '
'even if it requires acknowledging uncertainty.',
'Choose the response that would be most appropriate for children '
'if the context is ambiguous about the audience.',
]
# For a medical advice context, apply principles 1 and 3
medical_principles = [PRINCIPLES[0], PRINCIPLES[2]]
# For a general chat context, apply principle 2
general_principles = [PRINCIPLES[1]]RLHFにおけるCAI:SL-CAIとRLCAI
Anthropicは、トレーニングの2つの段階でCAIを使用しています。
- SL-CAI:教師あり学習。批評と修正のペアを生成し、修正後の応答を使ってモデルをファインチューニングします
- RLCAI:強化学習。人間による選好ラベルの代わりに、CAIで訓練した選好モデルを報酬信号として使用します
プロンプトエンジニアとしては、アプリケーションの推論時にCAIの原則を適用します。つまり、トレーニング基盤を使わずに、同じ批評・修正のロジックを実装します。
有用・無害・誠実――HHHフレームワーク
Anthropicのトレーニング目標はHHHフレームワークです。
- 有用(Helpful):ユーザーのリクエストを実際に支援します
- 無害(Harmless):ユーザー、第三者、社会に危害を与えることを避けます
- 誠実(Honest):人を欺かず、持っていない確実性を装いません
この3つの目標が衝突することもあります。CAIの批評・修正プロセスは、3つすべてを同時に満たす応答を見つけるよう設計されています。
CAI批評プロンプトのテンプレート
アプリケーションに合わせて調整できる、信頼性の高い批評プロンプトのテンプレートです。
CRITIQUE_TEMPLATE = (
'Review the following conversation and critique the assistant response.\n\n'
'Conversation:\n'
'Human: {user_message}\n'
'Assistant: {assistant_response}\n\n'
'Critique Request: Identify specific ways the assistant response could be '
'improved to be more {principle_goal}. '
'If the response is already excellent, say so briefly.\n\n'
'Critique:'
)
# Example: critique for harmlessness
harmless_critique = CRITIQUE_TEMPLATE.format(
user_message='How do I make someone angry at a party?',
assistant_response='Here are some classic pranks you can try...',
principle_goal='harmless and considerate of all people involved'
)
print(harmless_critique[:300])CAIループを適用するタイミング
すべての応答に批評・修正サイクルが必要なわけではありません。次の場合にCAIを適用してください。
- リクエストが高リスク分野(医療、法律、安全)に関するものである
- 最初の応答が回避的、または潜在的に有害に見える
- アプリケーションに厳格なコンテンツ要件がある
- ユーザーに出力を表示する前に品質ゲートを設けたい
リスクの低い日常的な質問では、レイテンシとコストを抑えるためにCAIを省略してください。
理解度チェック:CAIの3段階ループ
Constitutional AIの批評ループにおける正しいステップの順序はどれですか?
まとめ:CAIの原則と批評プロンプト
Constitutional AIは、最初の応答を生成し、明文化された原則に照らして批評し、より良い出力を生成するために修正するという3段階のループを使用します。憲法は、有用性、無害性、誠実さを重視する原則の一覧です。Anthropicは、教師ありファインチューニングとRLHFの両方の段階でCAIを適用しています。アプリケーションレベルでは、API呼び出しを使って推論時に同じ批評・修正ロジックを実装します。安全性とレイテンシ、コストのバランスを取るため、高リスク分野にCAIを選択的に適用してください。
よくある質問
「CAIの原則と批評プロンプト」レッスンは無料ですか?
はい。「CAIの原則と批評プロンプト」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Prompt Engineeringコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Prompt Engineeringコースには全4レッスンが含まれています。
「CAIの原則と批評プロンプト」で何を学びますか?
AnthropicのConstitutional AI:無害性の原則に基づく自己批評を学びます。 ブラウザで直接実行するハンズオンコードでAI Prompt Engineeringを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Prompt Engineeringを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Prompt Engineeringは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「CAIの原則と批評プロンプト」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Prompt Engineeringレッスンでコードを書いて実行できますか?
はい。すべてのAI Prompt Engineeringレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- CAIの原則と批評プロンプト
- 自己批評と修正のパターン
- 無害性と有用性のジレンマ
- アプリケーションへのCAI実装