Lesson 79 — Intermediate

Tool Context Management

Har tool call do tarah se context khata hai — definitions (schemas) har call par, results har turn par. Is lesson mein dono kharche control karte hain: dynamic exposure, output filtering aur observation decay.

⏱ 10 min• Intermediate• Long-Context Strategies

Tools ka apna budget

WHAT

Tool definitions aur results ko context budget ke andar rakhna — relevant tools hi expose, bade outputs slim, purane observations hatao.

WHEN

Agent ke paas dher tools ya bade API/search/DB results aate hain — tool loops mein sabse tez bloat yahin hota hai.

WHERE

Tool registry (tags/subsets), result preprocessor (slim/dedupe/paginate) aur observation cleanup har N steps par.

Yeh level ki sabse common mistake: "tools toh free hain." Nahi — schema har call jaata hai aur har result turn mein baithta hai. Dono ka audit karo (L6.1 wala budget yahin lagta hai).

Double cost: Definitions = fixed recurring kharcha; results = variable. Fixing definitions (dynamic exposure) se pehla bada bachat milta hai.

Dynamic tool exposure

Model ko saare tools dene ka matlab har call par poora schema bhejna. Relevant subset hi expose karo:

REGISTRY = {
    "search": Tool(tags={"research"}),
    "sql": Tool(tags={"data"}),
    "email": Tool(tags={"comms"}),
}

def tools_for(task):
    need = set(task.tags)                  # sirf is step ke tools
    return [t for t in REGISTRY.values() if t.tags & need]
Relevant beats exhaustive: 4–6 relevant tools se model ka selection bhi saaf hota hai aur context bhi chhota — dono taraf fayda, isliye yeh best practice hai.

Bade outputs filter karo

def handle(result):
    full = store.put(result)                    # bahar, pura saved
    return {"path": full, "view": result.items[:5],
            "total": len(result.items), "next": result.cursor}
Lazy detail: Full bahar, view andar — model ko detail chahiye toh woh dobara fetch karega (cursor/ID se). Ek call ne window aadha nahi khaana chahiye.

Observation build-up rokna

Lambe loop mein har step ka observation window mein rehta jaata hai — purane stale ho jaate hain, naye kabhi chadh nahi paate. Yeh silent bloat hai.

Attention decay: Old junk window mein baithega toh naye results bhi dhyan se nahi sunte jaate. Cleanup = focus restoration.

Exercise

Question: Tool definitions ke schemas bhi tokens kharche karte hain — haan ya nahi?

Question: Task ke hisaab se tool definitions ka subset dikhana — verb, ek shabd, English?

Question: Bade results ko page-wise rakhna, cursor se agli page — ek shabd, English?

Common mistakes

Desi example: Screwdriver toolbox

Kaam ke hisaab se screwdriver nikalo, poora toolbox nahi. Aur jo nut-bolt bahar nikale, woh wapas dabbe mein — table par nahi chhodte. Agent ka context bhi aisa hi hai:

python
active = tools_for(step)           # sirf zaroori tools exposed
ctx.add(slim(run(step), cap=50))   # result cap ke saath
if step_no % 5 == 0:
    ctx.summarize_observations()   # hafta waali safai
Interview angle — yahan se sawaal aate hain
  • Q: Dynamic tool exposure kaise design karoge? (registry + tags, task se subset, list_tools discovery, use ke baad hataana)
  • Q: Tool results kaise slim karoge? (field slice, top-k, cursor/pagination, external full result, short errors)
  • Q: Observation build-up kaise rokoge? (periodic summarize, per-tool caps, notes offload, raw drop)
  • Q: Tool schema cost kaise measure? (per-section token audit — L6.1 ka audit yahin apply hota hai)
Lesson complete?

Tool budget ab control mein. Agli lesson: jo static context hai usse provider cache se kaise sasta banayein — context caching.

Popular courses: Data Science Course in Lucknow · AI Course in Lucknow · Python Course in Lucknow · Power BI Course · Data Analytics Course