Decomposizione gerarchica delle attività
Obiettivo di alto livello -> sotto-obiettivi -> sotto-sotto-obiettivi: l’unico modo in cui le persone, e gli agenti, affrontano attività complesse
Decomposizione gerarchica delle attività è una lezione AI Agents gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AI Agents, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AI Agents include 4 lezioni in totale.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
Quando le attività diventano grandi
"Eseguire il refactoring del modulo di autenticazione" è un'attività troppo grande per un solo prompt. L'agente deve suddividerla in parti più piccole e gestibili.
La decomposizione gerarchica delle attività (HTD) è il metodo con cui esseri umani e agenti affrontano questo problema.
La gerarchia
- Obiettivo — l'obiettivo di alto livello
- Sotto-obiettivi — le fasi principali
- Attività — i passaggi concreti
- Azioni — le singole chiamate agli strumenti
Example Decomposition
Goal: Refactor authentication module to use OAuth.
Sub-goal 1: Set up OAuth dependencies
Task: Add dependency to requirements.txt
Task: Configure OAuth client
Sub-goal 2: Replace existing auth flow
Task: Replace login endpoint
Task: Replace session middleware
Task: Update tests
Sub-goal 3: Migration and rollout
Task: Write migration script
Task: Update documentationLLM-Driven Decomposition
DECOMPOSE_PROMPT = '''
Decompose this goal into 3-6 sub-goals. For each sub-goal, list 2-5 concrete tasks.
Return JSON: {sub_goals: [{name, tasks: [str]}]}
Goal: {goal}
'''Decomposizione ricorsiva
Se un'attività è ancora troppo grande, la scomponga ulteriormente. Si fermi quando un'attività può essere completata in un singolo passaggio dell'LLM (circa 3-5 chiamate agli strumenti).
Quando smettere di decomporre
Regole pratiche:
- La descrizione dell'attività entra in una sola frase
- L'attività ha criteri di accettazione chiari
- L'attività riguarda un numero ridotto di file
- L'attività è verificabile con un test specifico
Strutture ad albero
Rappresenti la decomposizione come un albero. Ogni nodo è un'attività con: descrizione, stato (in attesa/in esecuzione/completata/fallita), figli:
@dataclass
class TaskNode:
description: str
status: Literal['pending', 'running', 'done', 'failed']
children: list['TaskNode']
result: str | None = NoneEseguire in profondità
Percorra l'albero in profondità. Completi ogni foglia prima di proseguire:
def execute(node):
if node.children:
for child in node.children:
execute(child)
else:
node.status = 'running'
try:
node.result = run_leaf(node)
node.status = 'done'
except Exception as e:
node.status = 'failed'Aggregare i risultati
Dopo il completamento dei figli, aggreghi i risultati nel nodo padre:
def aggregate(parent):
summaries = [c.result for c in parent.children if c.status == 'done']
parent.result = llm.invoke(f'Summarise these sub-task results: {summaries}').contentMostrare l'albero agli utenti
Per gli agenti a esecuzione prolungata, mostri agli utenti l'albero con aggiornamenti di stato in tempo reale. Fiducia e trasparenza:
[x] Add OAuth dependency
[x] Configure OAuth client
[~] Replace login endpoint <-- in progress
[ ] Replace session middleware
[ ] Update testsConsentire la modifica dell'albero
Gli utenti esperti potrebbero voler saltare, aggiungere o riordinare le attività. Supporti la modifica manuale dell'albero del piano.
Ripianificare in caso di errore
Se una sotto-attività fallisce ripetutamente, torni al nodo padre e la scomponga nuovamente:
if failed_count(node) > 2:
parent = node.parent
parent.children = llm_replan(parent, failure_context=node.last_error)Costo della decomposizione
Ogni decomposizione richiede una chiamata all'LLM. La memorizzazione nella cache aiuta: stesso obiettivo -> stessa decomposizione iniziale.
Quando smettere di suddividere
Quando dovrebbe l'agente smettere di decomporre le attività?
Riepilogo
Obiettivi -> sotto-obiettivi -> attività -> azioni. Costruisca un albero, esegua in profondità, aggreghi i risultati e ripianifichi in caso di errore. È il pattern standard per le attività a lungo orizzonte.
Domande Frequenti
La lezione «Decomposizione gerarchica delle attività» è gratuita?
Sì — il testo completo di «Decomposizione gerarchica delle attività» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AI Agents, passa a CoddyKit PRO. Il corso AI Agents include 4 lezioni in totale.
Cosa imparerò in «Decomposizione gerarchica delle attività»?
Obiettivo di alto livello -> sotto-obiettivi -> sotto-sotto-obiettivi: l’unico modo in cui le persone, e gli agenti, affrontano attività complesse Eserciti AI Agents con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare AI Agents?
Non è richiesta alcuna esperienza precedente. AI Agents su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Decomposizione gerarchica delle attività»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione AI Agents?
Sì. Ogni lezione AI Agents include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Decomposizione gerarchica delle attività
- Stack degli obiettivi e backtracking
- Modelli del mondo e lookahead
- Cicli di riflessione e autocritica