SpyBara
Go Premium

agent-sdk/todo-tracking.md 2026-05-04 22:58 UTC to 2026-05-05 23:00 UTC

This page contains 189 additions and 0 deletions.

2026
Tue 5 23:00 Mon 18 23:59

Elenchi Todo

Traccia e visualizza i todo utilizzando Claude Agent SDK per una gestione organizzata delle attività

Il tracciamento dei todo fornisce un modo strutturato per gestire le attività e visualizzare i progressi agli utenti. Claude Agent SDK include funzionalità todo integrate che aiutano a organizzare flussi di lavoro complessi e mantengono gli utenti informati sulla progressione delle attività.

Ciclo di vita dei Todo

I todo seguono un ciclo di vita prevedibile:

  1. Creati come pending quando le attività vengono identificate
  2. Attivati a in_progress quando il lavoro inizia
  3. Completati quando l'attività termina con successo
  4. Rimossi quando tutte le attività in un gruppo sono completate

Quando vengono utilizzati i Todo

L'SDK crea automaticamente todo per:

  • Attività complesse multi-step che richiedono 3 o più azioni distinte
  • Elenchi di attività forniti dall'utente quando vengono menzionati più elementi
  • Operazioni non banali che traggono beneficio dal tracciamento dei progressi
  • Richieste esplicite quando gli utenti chiedono l'organizzazione dei todo

Esempi

Monitoraggio dei cambiamenti dei Todo

import { query } from "@anthropic-ai/claude-agent-sdk";

for await (const message of query({
prompt: "Optimize my React app performance and track progress with todos",
options: { maxTurns: 15 }
})) {
// Todo updates are reflected in the message stream
if (message.type === "assistant") {
for (const block of message.message.content) {
if (block.type === "tool_use" && block.name === "TodoWrite") {
const todos = block.input.todos;

console.log("Todo Status Update:");
todos.forEach((todo, index) => {
const status =
todo.status === "completed" ? "✅" : todo.status === "in_progress" ? "🔧" : "❌";
console.log(`${index + 1}. ${status} ${todo.content}`);
});
}
}
}
}

Visualizzazione dei progressi in tempo reale

import { query } from "@anthropic-ai/claude-agent-sdk";

class TodoTracker {
private todos: any[] = [];

displayProgress() {
if (this.todos.length === 0) return;

const completed = this.todos.filter((t) => t.status === "completed").length;
const inProgress = this.todos.filter((t) => t.status === "in_progress").length;
const total = this.todos.length;

console.log(`\nProgress: ${completed}/${total} completed`);
console.log(`Currently working on: ${inProgress} task(s)\n`);

this.todos.forEach((todo, index) => {
const icon =
todo.status === "completed" ? "✅" : todo.status === "in_progress" ? "🔧" : "❌";
const text = todo.status === "in_progress" ? todo.activeForm : todo.content;
console.log(`${index + 1}. ${icon} ${text}`);
});
}

async trackQuery(prompt: string) {
for await (const message of query({
prompt,
options: { maxTurns: 20 }
})) {
if (message.type === "assistant") {
for (const block of message.message.content) {
if (block.type === "tool_use" && block.name === "TodoWrite") {
this.todos = block.input.todos;
this.displayProgress();
}
}
}
}
}
}

// Usage
const tracker = new TodoTracker();
await tracker.trackQuery("Build a complete authentication system with todos");

Documentazione correlata