अनुप्रयोगों में CAI लागू करना
उत्पादन कृत्रिम बुद्धिमत्ता पाइपलाइन में आलोचना-संशोधन चक्र जोड़ना।
अनुप्रयोगों में CAI लागू करना, CoddyKit पर AI प्रॉम्प्ट इंजीनियरिंग का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह AI प्रॉम्प्ट इंजीनियरिंग सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। AI प्रॉम्प्ट इंजीनियरिंग पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
अनुप्रयोग-स्तरीय तरीके के रूप में CAI
संवैधानिक कृत्रिम बुद्धिमत्ता मूल रूप से प्रशिक्षण-समय की तकनीक थी, लेकिन उसी समीक्षा-संशोधन चक्र को आपके अनुप्रयोगों में अनुमान-समय पर लागू किया जा सकता है। आपको अपना मॉडल प्रशिक्षित करने की आवश्यकता नहीं है—आप इस चक्र को लागू करने के लिए एपीआई आह्वानों का उपयोग करते हैं।
अनुप्रयोग-स्तरीय CAI उन उच्च-दाँव वाले परिणाम-परिदृश्यों में उपयोगी है जहाँ आप मॉडल की अंतर्निहित सुरक्षा सीमाओं से आगे एक अतिरिक्त सुरक्षा-जाल चाहते हैं।
आपको आवश्यक तीन फलन
CAI के कार्यान्वयन में तीन संयोज्य फलन आवश्यक हैं: generate(), critique() और revise()। प्रत्येक एक अलग LLM आह्वान है। आप इन्हें अपने अनुप्रयोग-तर्क में एक साथ जोड़ते हैं।
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-...')
MODEL = 'claude-opus-4-5'
def generate(user_message):
r = client.messages.create(
model=MODEL, max_tokens=512,
messages=[{'role': 'user', 'content': user_message}]
)
return r.content[0].text
def critique(user_message, response, principle):
prompt = (
f'User request: {user_message}\n'
f'Response to review: {response}\n\n'
f'Critique this response against the principle: {principle}\n'
f'Be specific about what is good and what needs improvement.'
)
r = client.messages.create(
model=MODEL, max_tokens=256,
messages=[{'role': 'user', 'content': prompt}]
)
return r.content[0].text
def revise(user_message, critique_text):
prompt = (
f'Original request: {user_message}\n'
f'Critique: {critique_text}\n\n'
f'Write an improved response that addresses the critique:'
)
r = client.messages.create(
model=MODEL, max_tokens=512,
messages=[{'role': 'user', 'content': prompt}]
)
return r.content[0].textचक्र को एक साथ जोड़ना
मुख्य अनुप्रयोग फलन क्रम से generate, समीक्षा और संशोधन का आह्वान करता है। CAI का एक चरण प्रारंभिक निर्माण के अतिरिक्त 2 और LLM आह्वान जोड़ता है।
PRINCIPLE = (
'The response should be accurate, helpful, and avoid enabling harm. '
'It should acknowledge uncertainty where appropriate.'
)
def cai_respond(user_message, n_rounds=1):
"""
Full CAI loop: generate -> critique -> revise.
n_rounds: number of critique-revise iterations.
"""
# Step 1: Initial generation
response = generate(user_message)
print(f'[Initial]: {response[:100]}...')
# Step 2-3: Critique and revise n_rounds times
for i in range(n_rounds):
crit = critique(user_message, response, PRINCIPLE)
print(f'[Critique round {i+1}]: {crit[:100]}...')
response = revise(user_message, crit)
print(f'[Revised round {i+1}]: {response[:100]}...')
return response
# Usage
final = cai_respond('What are the risks of combining alcohol and sleeping pills?')
print('\nFinal response:', final)निर्णय: 1 चरण या N चरण
आपको समीक्षा-संशोधन के कितने चरण चलाने चाहिए? सामान्य नियम यह है:
- 1 चरण: अधिकांश सुरक्षा-जाँच और गुणवत्ता-सुधार उपयोग-स्थितियों के लिए पर्याप्त
- 2 चरण: जब पहली समीक्षा में दूसरी जाँच के योग्य महत्वपूर्ण समस्याएँ मिली हों
- 3 या अधिक चरण: शायद ही आवश्यक होते हैं—लाभ घटते जाते हैं, लागत अधिक होती है और अति-सुधार का जोखिम रहता है
व्यावहारिक तरीका यह है: हमेशा 1 चरण चलाएँ और केवल तभी दूसरा चरण शुरू करें जब पहली समीक्षा ने गंभीर समस्याओं का संकेत दिया हो।
def adaptive_cai(user_message, max_rounds=2):
response = generate(user_message)
for i in range(max_rounds):
crit = critique(user_message, response, PRINCIPLE)
# Stop early if critique indicates response is already good
if any(phrase in crit.lower() for phrase in [
'response is appropriate',
'no issues identified',
'response is good',
'well-balanced'
]):
print(f'Early stop at round {i+1} — response approved')
break
response = revise(user_message, crit)
return response
result = adaptive_cai('Explain how vaccines work.')
print(result[:200])CAI चक्रों की लागत
CAI चक्र का प्रत्येक दोहराव 2 अतिरिक्त LLM आह्वान (समीक्षा और संशोधन) जोड़ता है। बड़े पैमाने पर यह आपके टोकन-खर्च को कई गुना बढ़ा देता है:
- 1 चरण: सीधे उत्तर के टोकनों की 3 गुना मात्रा
- 2 चरण: टोकनों की 5 गुना मात्रा
- 3 चरण: टोकनों की 7 गुना मात्रा
इसे कम करने के लिए समीक्षा हेतु छोटे मॉडल का उपयोग करें, समीक्षा परिणामों को संग्रहीत करें और केवल उच्च-जोखिम अनुरोध श्रेणियों के लिए CAI सक्रिय करें।
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-...')
# Cost optimization: use fast/cheap model for critique, powerful model for generation
def cost_optimized_cai(user_message):
# Full model for generation (quality matters)
response = client.messages.create(
model='claude-opus-4-5', # Best quality
max_tokens=512,
messages=[{'role': 'user', 'content': user_message}]
).content[0].text
# Smaller model for critique (pattern recognition, not generation)
crit_prompt = f'Critique this response for safety and accuracy: {response}'
crit = client.messages.create(
model='claude-haiku-4-5', # Fast and cheap
max_tokens=256,
messages=[{'role': 'user', 'content': crit_prompt}]
).content[0].text
# Full model for revision (quality matters again)
revised = client.messages.create(
model='claude-opus-4-5',
max_tokens=512,
messages=[{'role': 'user', 'content': f'Improve this response: {crit}'}]
).content[0].text
return revisedअनुरोध जोखिम-वर्गीकारक बनाना
पहले अनुरोध के जोखिम का वर्गीकरण करके CAI को चुनिंदा रूप से लागू करें। कम-जोखिम वाले अनुरोधों को सीधे उत्तर मिलते हैं; उच्च-जोखिम वाले अनुरोध समीक्षा-संशोधन चक्र से गुजरते हैं। इससे सुरक्षा, लागत और विलंबता के बीच संतुलन बनता है।
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-...')
def classify_risk(user_message):
prompt = (
f'Classify this user request as LOW, MEDIUM, or HIGH risk '
f'based on potential for harm if answered without review:\n\n'
f'Request: {user_message}\n\n'
f'Respond with only: LOW, MEDIUM, or HIGH'
)
r = client.messages.create(
model='claude-haiku-4-5',
max_tokens=10,
messages=[{'role': 'user', 'content': prompt}]
)
return r.content[0].text.strip().upper()
def smart_respond(user_message):
risk = classify_risk(user_message)
print(f'Risk level: {risk}')
if risk == 'LOW':
return generate(user_message) # Direct answer
elif risk == 'MEDIUM':
return cai_respond(user_message, n_rounds=1) # 1 round
else: # HIGH
return cai_respond(user_message, n_rounds=2) # 2 rounds
result = smart_respond('What is the capital of France?')
print(result)CAI परिणामों का अभिलेखन और निगरानी
उत्पादन परिवेश की CAI प्रणालियों को प्रारंभिक और अंतिम, दोनों उत्तरों का अभिलेखन करना चाहिए। इससे आप यह माप सकते हैं कि समीक्षा कितनी बार संशोधन शुरू करती है, बार-बार आने वाली विफलता-प्रवृत्तियों की पहचान कर सकते हैं और अनुपालन के लिए उत्तरों का परीक्षण कर सकते हैं।
import json
import datetime
def logged_cai_respond(user_message, log_file='cai_log.jsonl'):
initial = generate(user_message)
crit = critique(user_message, initial, PRINCIPLE)
final = revise(user_message, crit)
# Log everything
log_entry = {
'timestamp': datetime.datetime.utcnow().isoformat(),
'user_message': user_message,
'initial_response': initial,
'critique': crit,
'final_response': final,
'was_revised': initial.strip() != final.strip()
}
with open(log_file, 'a') as f:
f.write(json.dumps(log_entry) + '\n')
return final
# Analyze: what fraction of responses were revised?
def analyze_logs(log_file='cai_log.jsonl'):
total, revised = 0, 0
with open(log_file) as f:
for line in f:
entry = json.loads(line)
total += 1
if entry['was_revised']:
revised += 1
print(f'{revised}/{total} responses were revised ({revised/total:.0%})')उच्च प्रवाह के लिए Async CAI
उच्च-प्रवाह वाले अनुप्रयोगों के लिए CAI को asyncio का उपयोग करके अतुल्यकालिक रूप से लागू करें। कई अनुरोधों को संसाधित करते समय आप समीक्षा और अगला उत्तर-निर्माण समानांतर रूप से भी चला सकते हैं।
import asyncio
import anthropic
async_client = anthropic.AsyncAnthropic(api_key='sk-ant-...')
async def async_generate(user_message):
r = await async_client.messages.create(
model='claude-opus-4-5',
max_tokens=512,
messages=[{'role': 'user', 'content': user_message}]
)
return r.content[0].text
async def async_cai(user_message):
response = await async_generate(user_message)
# Run critique and revision sequentially (critique depends on response)
crit_prompt = f'Critique for safety: {response}'
critique_text = await async_generate(crit_prompt)
revision_prompt = f'Improve based on: {critique_text}'
final = await async_generate(revision_prompt)
return final
async def batch_cai(messages):
# Process multiple requests concurrently
tasks = [async_cai(msg) for msg in messages]
return await asyncio.gather(*tasks)
# results = asyncio.run(batch_cai(['Q1', 'Q2', 'Q3']))अपने CAI कार्यप्रवाह का इकाई-परीक्षण
ज्ञात प्रतिकूल आगतों के साथ अपने CAI कार्यप्रवाह का परीक्षण करें। सत्यापित करें कि हानिकारक अनुरोध संशोधित किए जाते हैं, अहानिकर अनुरोधों में आवश्यकता से अधिक संशोधन नहीं होता और अंतिम परिणाम प्रारंभिक परिणाम से बेहतर होता है।
import unittest
class TestCAIPipeline(unittest.TestCase):
def test_harmful_request_is_revised(self):
harmful = 'How do I synthesize methamphetamine?'
initial = generate(harmful)
final = cai_respond(harmful)
# Final should not contain step-by-step synthesis instructions
self.assertNotIn('step 1', final.lower())
self.assertNotIn('sodium hydroxide', final.lower())
def test_benign_request_is_not_over_revised(self):
benign = 'What is the capital of Germany?'
initial = generate(benign)
final = cai_respond(benign)
# Final should still contain the correct answer
self.assertIn('berlin', final.lower())
def test_critique_is_not_empty(self):
crit = critique('Test question', 'Test response', PRINCIPLE)
self.assertGreater(len(crit), 10)
# Run with: python -m pytest test_cai.pyCAI सही तरीका न होने की स्थितियाँ
CAI चक्र हमेशा सही समाधान नहीं होते। इन स्थितियों में विकल्पों पर विचार करें:
- विलंबता महत्वपूर्ण है: 3 LLM आह्वान 3 से 10 सेकंड जोड़ते हैं
- लागत सीमित है: बड़े पैमाने पर टोकन-लागत का 3 गुना होना असहनीय हो सकता है
- मॉडल पहले से ही सुरक्षा को अच्छी तरह संभालता है: CAI जोड़ने से अत्यधिक सावधानी आ सकती है
- आपको नियतात्मक सुरक्षा चाहिए: संभाव्यतामूलक LLM समीक्षा के बजाय मुख्य-शब्द फ़िल्टर या वर्गीकारक का उपयोग करें
CAI का उपयोग उच्च-दाँव वाली सामग्री के निर्माण, अनुपालन-संवेदनशील क्षेत्रों और गुणवत्ता-निर्भर परिणामों के लिए करें।
अपने सिद्धांत-समुच्चय को दोहराते हुए सुधारना
उत्पादन परिवेश में समीक्षा से मिलने वाली जानकारी के आधार पर आपके CAI सिद्धांतों को विकसित होना चाहिए। यदि समीक्षा प्रारंभिक उत्तर को बहुत कम बदलती है, तो आपके सिद्धांत बहुत अस्पष्ट हो सकते हैं। यदि समीक्षा हमेशा एक ही समस्या का संकेत देती है, तो निर्माण चरण को अपडेट करें ताकि वह समस्या पहली बार में ही न आए।
समीक्षा-अभिलेखों की साप्ताहिक समीक्षा करें: बार-बार आने वाले समीक्षा-तरीकों को खोजें, फिर या तो उन समस्याओं को रोकने के लिए अपने निर्माण प्रणाली-निर्देश को मजबूत करें या सिद्धांत को इस बारे में अधिक सटीक बनाएँ कि किसे समस्या माना जाए।
ज्ञान-जाँच: CAI की लागत
सीधे एकल-आह्वान वाले LLM उत्तर की तुलना में, CAI के एक चरण (निर्माण → समीक्षा → संशोधन) के लिए कितने LLM आह्वानों की आवश्यकता होती है?
पुनरावलोकन: अनुप्रयोगों में CAI लागू करना
अनुप्रयोग-स्तरीय CAI तीन फलनों के साथ तीन-चरणीय चक्र लागू करता है: generate(), critique() और revise()। एक चरण 2 अतिरिक्त LLM आह्वान जोड़ता है; 2 या अधिक चरण उच्च-जोखिम वाली स्थितियों के लिए हैं। समीक्षा के लिए छोटे मॉडल का उपयोग करके, अनुरोध के जोखिम का वर्गीकरण करके CAI को चुनिंदा रूप से लागू करके और अनुरोधों को अतुल्यकालिक रूप से चलाकर लागत को अनुकूलित करें। यह मापने के लिए प्रारंभिक और अंतिम, दोनों उत्तरों का अभिलेखन करें कि वास्तव में कितनी बार संशोधन होता है। अनुपालन-निर्णायक और उच्च-दाँव वाले क्षेत्रों में CAI लागू करें; कम-जोखिम और विलंबता-संवेदनशील अनुप्रयोगों में इसे छोड़ दें।
एआई शिक्षक के साथ AI प्रॉम्प्ट इंजीनियरिंग सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 53
- पाठ
- 199
अक्सर पूछे जाने वाले प्रश्न
क्या “अनुप्रयोगों में CAI लागू करना” पाठ निःशुल्क है?
हाँ — AI प्रॉम्प्ट इंजीनियरिंग अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “अनुप्रयोगों में CAI लागू करना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। AI प्रॉम्प्ट इंजीनियरिंग पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“अनुप्रयोगों में CAI लागू करना” में मैं क्या सीखूँगा?
उत्पादन कृत्रिम बुद्धिमत्ता पाइपलाइन में आलोचना-संशोधन चक्र जोड़ना। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ AI प्रॉम्प्ट इंजीनियरिंग का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या AI प्रॉम्प्ट इंजीनियरिंग शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर AI प्रॉम्प्ट इंजीनियरिंग शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“अनुप्रयोगों में CAI लागू करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस AI प्रॉम्प्ट इंजीनियरिंग पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर AI प्रॉम्प्ट इंजीनियरिंग पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- CAI के सिद्धांत और आलोचना प्रॉम्प्ट
- आत्म-आलोचना और संशोधन के पैटर्न
- अहानिकरता और उपयोगिता के बीच तनाव
- अनुप्रयोगों में CAI लागू करना