पाठ 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 का अंतिम उत्तर है।