6.2.4 · HinglishAI Agents & Tool Use

Planning and task decomposition

2,178 words10 min readRead in English

6.2.4 · AI-ML › AI Agents & Tool Use

Task Decomposition Kya Hai?

WHY zaroorat hai iske?

  1. Complexity management: Ek single LM call ki fixed context window hoti hai aur har forward pass mein limited effective reasoning depth hoti hai—jab ki chain-of-thought prompting ek model ko kai steps mein reason karne deta hai, ek agent jo external tools (search, code, APIs) call karta hai woh saari interactions ek pass mein fit nahi kar sakta. Decomposition kaam ko multiple grounded steps mein spread karta hai.
  2. Failure isolation: Agar subtask 3 fail ho, tum scratch se restart nahi karte—bas us branch ko retry karo.
  3. Parallelization: Independent subtasks concurrently run ho sakte hain (jaise, 3 APIs se simultaneously fetch karo).
  4. Interpretability: Plan human-readable hota hai; tum dekh sakte ho kyun agent ne har step liya.

HOW kaise kaam karta hai? Agent teen strategies mein se ek use karta hai:

  • Hierarchical planning: Top-down recursion (goal → subgoals → primitive actions).
  • Forward chaining: Current state se shuru karo, actions apply karo jab tak goal reach na ho.
  • Backward chaining: Goal se shuru karo, backward work karo required preconditions dhundhne ke liye.

Derivation: Kyun Decomposition Search Space Reduce Karta Hai

Problem: Goal aur har step par possible actions diye hain, depth par naive search ki complexity hai.

Insight: Agar hum ko independent subgoals mein decompose karein, jisme har ek depth require karta hai, complexity ban jaati hai:

Derivation:

  1. Decomposition ke bina: Depth tak saare paths explore karo.
  2. Decomposition ke saath:
    • ko paths mein solve karo.
    • ko independently paths mein solve karo.
    • Total: paths.
  3. Ye better kyun hai? ke liye:
    • Naive: paths.
    • Decomposed: paths.

Exponential mein linear ban jaata hai jab subgoals independent hon.

Planning Strategies Detail Mein

1. Hierarchical Task Network (HTN) Planning

HTN planning tasks ko methods ki hierarchy use karke decompose karta hai: har complex task ke multiple refinement rules hote hain.

Algorithm:

function HTN-Plan(task, state):
    if task is primitive:
        return [action(task)]
    else:
        for each method m that decomposes task:
            subtasks = m.decompose(task, state)
            subplans = [HTN-Plan(st, state) for st in subtasks]
            if all subplans succeed:
                return concatenate(subplans)
        return FAIL

Example: Goal: "Coffee banao"

  • Method 1: [Paani ubalo, Beans piso, Brew karo]
  • Method 2 (agar grinder nahi hai): [Paani ubalo, Instant coffee use karo]

Agent state.has_grinder check karta hai aur ek method chunता hai.

Ye step kyun? State check karna ensure karta hai ki plan current resources ke hisaab se feasible hai.

Decomposition (forward chaining):

  1. Earthquake data API ke liye Search karo → USGS API milta hai.
  2. 2023 ka data Fetch karo → HTTP GET request.
  3. JSON Parse karo → magnitude field extract karo.
  4. Histogram Plot karo → matplotlib call karo.
  5. Image user ko Return karo.

Har step ka output agla feed karta hai. Agar step 2 fail ho (API down), retry karo ya CSV fallback switch karo.

2. ReAct: Reasoning + Acting

ReAct thought (kya karna hai ye reasoning) aur action (tool use) ko interleave karta hai.

Pattern:

Thought: Mujhe Tokyo ki current population dhundhni hai.
Action: search("Greater Tokyo Area population 2026")
Observation: ~37 million (Greater Tokyo Area, world's largest metro)
Thought: Ab New York metro area se compare karo.
Action: search("New York metropolitan area population 2026")
Observation: ~19.5 million
Thought: Tokyo ~17.5 million zyada bada hai.
Answer: Greater Tokyo Area (~37M) New York metro area (~19.5M) se roughly 90% bada hai.

"Thought" kyun? Ye next action ko current subgoal mein grounded banata hai, random tool spam nahi. Units ke baare mein note: hamesha specify karo ki tum kaunsi boundary mean kar rahe ho—city proper (Tokyo ~14M) vs. metro area (Greater Tokyo ~37M)—warna comparison meaningless hai.

Plan (backward chaining):

  1. Chahiye: Grammy winner year mein.
  2. paane ke liye: 1989 ka release year.
  3. Action 1: search("1989 Taylor Swift release year") → 2014.
  4. Action 2: search("Grammy Album of the Year 2015") → Beck ka Morning Phase (2015 mein awarded, 2014 albums ke liye).
  5. Answer: Beck.

Ye order kyun? Hum Grammy winner nahi pooch sakte jab tak hum year nahi jaante.

3. LM-Modulo Framework

LLM ki creativity ko external verifiers (solvers, simulators) ke saath combine karta hai.

Loop:

  1. LM ek plan propose karta hai.
  2. Verifier check karta hai (jaise, code run karo, constraints check karo).
  3. Agar valid hai, execute karo. Warna, LM error feedback ke basis par refine karta hai.

Example: Kitchen mein robot actions plan karna.

  • LLM: "Mug uthao, coffee daalo, mug table par rakho."
  • Verifier (physics sim): "Collision! Mug table ke andar hai."
  • LLM (revision): "Mug uthao, table ke upar position par lo, mug niche karo, release karo."

Ye step kyun? Verifier infeasible plans ko real execution se pehle pakadta hai (robots ke liye safety-critical).

Common Mistakes

Example:

  • Bad: "2+2 add karo" → [Input parse karo, Operation identify karo, Addition execute karo, Output format karo]
  • Good: Bas calculate(2+2) call karo.

Example:

  • Goal: "Paper X summarize karo aur paper Y se compare karo."
  • Subtasks:
    • : Paper X fetch karo.
    • : Paper Y fetch karo.
    • : X summarize karo ( par depend karta hai).
    • : Y summarize karo ( par depend karta hai).
    • : Summaries compare karo ( par depend karta hai).
  • Correct order: run karo, phir , phir .

Example:

  • Plan: [Wikipedia search karo, Info extract karo, Source cite karo]
  • Failure: Wikipedia "Page not found" return karta hai.
  • Replan: [Google Scholar search karo, PDF download karo, Info extract karo, Source cite karo]

Active Recall Flashcards

#flashcards/ai-ml

AI agents mein task decomposition kya hai? :: Ek complex goal ko simpler, executable subtasks ke DAG mein todna jisme clear dependencies hon.

Decomposition search complexity kyun reduce karta hai?
Ye ko mein change karta hai independent subproblems of depth solve karke ek depth ki problem ki jagah.
Hierarchical task network (HTN) planning kya hai?
Ek planning strategy jo methods ki hierarchy use karke complex tasks ko current state ke basis par primitive actions mein recursively decompose karti hai.
ReAct pattern kya hai?
Thought (next kya karna hai ye reasoning) aur Action (tools execute karna) ko interleave karna taaki har step current subgoal mein grounded ho.
LLM-Modulo framework kya hai?
Ek loop jisme ek LLM plan propose karta hai, ek external verifier use check karta hai, aur LM feedback ke basis par refine karta hai jab tak plan valid na ho.
Adaptive decomposition kya hai?
Task ko subtasks mein tabhi todna jab zaroorat ho (task ambiguous ho ya pehli koshish fail ho), simple tasks ke liye overhead avoid karna.
Subtasks ke liye dependency graph kyun banana chahiye?
Ye identify karne ke liye ki kaun se subtasks doosron ke outputs par depend karte hain aur dependent tasks ki parallel execution se race conditions ya errors rokne ke liye.
Agent systems mein replanning kya hai?
Plan ko regenerate ya modify karna jab ek subtask fail ho, agent ko give up karne ki jagah alternative methods try karne deta hai.
Planning mein forward chaining kya hai?
Current state se shuru karke actions apply karna jab tak goal reach na ho.
Planning mein backward chaining kya hai?
Goal se shuru karke backward work karna required preconditions aur actions dhundhne ke liye.
Recall Ek 12-Saal-Ke Bacche Ko Samjhao

Socho tum ek bada LEGO castle banana chahte ho, lekin tumne pehle kabhi nahi kiya. Agar tum bas randomly bricks jodna shuru karo, tum atak jaoge ya mess ho jaegi. Uski jagah, tum ek plan banao:

  1. Todo: "Pehle base banaunga, phir diwaaren, phir towers, phir chhat."
  2. Order matters: Tum chhat nahi laga sakte pehle diwaaren hone se! Toh tum sequence mein karte ho.
  3. Chalte chalte check karo: Base banane ke baad, check karo—theek dikh raha hai? Kya ye mazboot hai? Nahi toh, aage badhne se pehle theek karo.
  4. Agar kuch toot jaaye: Maan lo ek tower gir jaata hai. Tum poora castle nahi phenkte! Bas us tower ko rebuild karo.

Yahi AI agents bade tasks ke saath karte hain. Ye inhe steps mein split karte hain, order mein karte hain, apna kaam check karte hain, aur galtiyan theek karte hain. Bina plan ke, AI bas randomly guess karta aur shayad fail ho jaata. Plan ke saath, ye LEGO instructions hone jaisa hai—use exactly pata hai next kya karna hai.

Connections

  • 6.2.01-Tool-augmented-LMs: Task decomposition decide karta hai kab aur kaunse tools call karne hain.
  • 6.2.03-Multi-agent-systems: Har agent ka apna planner ho sakta hai; coordination ke liye team level par planning chahiye.
  • 5.3.02-Chain-of-thought-prompting: CoT single-call multi-step reasoning hai; agent planning external actions ko reasoning ke saath interleave karke add karta hai.
  • 6.2.05-Memory-in-agents: Long-term memory past plans aur outcomes store karta hai future decomposition improve karne ke liye.
  • 8.1.03-Reasoning-under-uncertainty: Plans ko uncertain outcomes account karne chahiye (actions par probability use karo).
  • Classical AI: HTN planning STRIPS (1971) se, means-ends analysis Newell & Simon (1961) se.

Key Takeaway: Planning ek intractable search problem ko ek structured, verifiable process mein transform karta hai. Agent ki intelligence sirf act karne mein nahi hai, balki decide karne mein hai ki next kya karna hai aur recognize karne mein hai ki kab revise karna hai.

Concept Map

mein toda jaata hai

produce karta hai

motivated by

includes

includes

includes

implemented via

top-down

state to goal

goal to preconditions

formalized as

search reduce karta hai

down to

Complex Goal

Task Decomposition

DAG of Subtasks

Kyun Decompose Karein

Complexity Management

Failure Isolation

Parallelization

Planning Strategies

Hierarchical Planning

Forward Chaining

Backward Chaining

HTN Planning

O of n to the d

O of k times n to d over k