पाठ 3 / 25
Loop को शुरू से बनाएँ
Anthropic Python SDK और step limit के साथ न्यूनतम agent loop लिखें।
पचास पंक्तियाँ, कोई framework नहीं
हर framework का मूल एक loop है: model बुलाएँ, उसने tools माँगे तो चलाकर नतीजे जोड़ें, और तब तक दोहराएँ जब तक वह सादे text में उत्तर न दे। इसे एक बार ख़ुद लिखने से दिखता है कि frameworks क्या स्वचालित करते हैं।
न्यूनतम agent loop
TOOLS schema सूची है और run_tool आपके Python functions तक पहुँचाता है। range(10) की सीमा अनंत loop रोकती है। अपने provider के docs से मौजूदा model ID उपयोग करें।
import anthropic
client = anthropic.Anthropic()
messages = [{"role": "user", "content": "Weather in Pune?"}]
for _ in range(10): # step limit
resp = client.messages.create(
model="claude-sonnet-5-5", max_tokens=1024,
tools=TOOLS, messages=messages)
messages.append({"role": "assistant", "content": resp.content})
if resp.stop_reason != "tool_use":
break # final answer
results = [
{"type": "tool_result", "tool_use_id": b.id,
"content": run_tool(b.name, b.input)}
for b in resp.content if b.type == "tool_use"
]
messages.append({"role": "user", "content": results})
print(resp.content[0].text)हमेशा सीमा रखें
Step limit के बिना भ्रमित model हमेशा tools बुलाता रह सकता है। पहले ही संस्करण से steps, समय और पैसे की सीमाएँ जोड़ें।
त्वरित जाँच: उदाहरण का loop सफलता पर कब रुकता है?
- जब stop_reason "tool_use" न हो
- ठीक एक call के बाद
- कभी नहीं
- जब user tab बंद करे
Answer
जब stop_reason "tool_use" न हो — जो उत्तर tool अनुरोध नहीं है वही model का अंतिम उत्तर है।