For a task that needs several actions, ChatPharo proposes a plan and you validate each step before anything is executed.
You: "Add logging to the importer"
-> model calls propose_plan(title, steps)
-> "Validate plan" dialog: one check box per step + a feedback field
-> model receives each step as approved / rejected, and your feedback
-> model executes approved steps only, reporting with update_plan_step
-> Task Manager shows the progress live
ChatPharoPlanTools, package AI-ChatPharo-Plan)| Tool | Purpose |
|---|---|
propose_plan |
Submit title and steps. Blocks until you validate. Answers the status of each step, your feedback and an instruction for the model. |
update_plan_step |
Report in_progress, done or failed on an approved step. A rejected step cannot be started. |
get_plan |
Read a plan back. |
A step you leave undecided, and every step of a dialog you close without validating, is rejected.
Toolbar Tasks, or ChatPharoTaskManagerPresenter new open. Plans on the left with their progress, steps on the right with status and notes. It listens to ChatPharoPlanBoard, the object that keeps the plans of the image.
Settings → Application → Plans and tasks. When inactive, proposed plans are approved automatically and only serve as a progress display.
The confirmation dialog of a mutating tool has a reason field. What you type there is sent to the model with the refusal (reason in the tool result), so it adapts instead of retrying.