# Tool Results छाँटना — Agent Loops, Stop Conditions और Token Budgets

Source: https://www.geekswithgeeks.com/hi/agent-loops/ctx-clip-results

> लंबे tool outputs को सुरक्षित आकार तक काटें और model को बताएँ कि क्या हटाया गया।

## आम दोषी बड़े outputs

एक लापरवाह tool result, जैसे 50,000 पंक्तियों की log फ़ाइल, बाक़ी पूरी बातचीत से ज़्यादा tokens ले सकता है, और फिर वह **हर आगामी बारी में दोबारा भेजा जाता है**। नतीजों को सीमा तक काटें और बताएँ, ताकि model संकरा दृश्य माँगना जाने।

## सिर्फ़ ज़रूरी रखें

छाँटें, सार बनाएँ और बाहर रखें ताकि इतिहास उपयोगी रहे पर हमेशा बढ़ता न जाए।

![तीन उपाय: नतीजे छाँटें, पुरानी बारियों का सार, बाहर रखें।](assets/figures/agent-loops/section-4-map.svg) — चित्र 4.1 — छाँटें, सार बनाएँ और बाहर रखें।

## Clip helper

यह जैसा दिखाया गया वैसा ही चला: output के अंत में एक नोट है जो बताता है कितने अक्षर हटाए गए।

```python
def clip(text, limit=200):
    if len(text) <= limit:
        return text
    return text[:limit] + f"\n...[truncated {len(text) - limit} chars]"

print(clip("x" * 250, 200)[-30:])
```

Output:

```
xxxxxx
...[truncated 50 chars]
```

## Tools को pagination सिखाएँ

Clip करने से बेहतर है ऐसा tool जो पहला पन्ना लौटाए और ज़्यादा माँगने का तरीक़ा दे, जैसे `offset` और `limit` parameters, ताकि model सिर्फ़ उतना खींचे जितना चाहिए।

**Quiz:** एक विशाल tool result इतना महँगा क्यों है?

- [x] वह हर आगामी बारी में दोबारा भेजा जाता है
- [ ] बड़े results encrypt होते हैं
- [ ] यह keyboard धीमा करता है
- [ ] वह सिर्फ़ एक बार बिल होता है

*Answer:* वह हर आगामी बारी में दोबारा भेजा जाता है. इतिहास हर बारी दोबारा भेजा जाता है, इसलिए बड़ा result हटाए जाने तक tokens ख़र्च कराता रहता है।
