kodeagent.orchestrator.Planner#

class kodeagent.orchestrator.Planner(model_name: str, litellm_params: dict | None = None, max_retries: int = 3, usage_tracker: UsageTracker | None = None, tracer_manager: AbstractTracerManager | None = None)[source]#

Given a task, generate and maintain a step-by-step plan to solve it.

Create a planner using the given model.

Parameters:
  • model_name – The name of the LLM to use.

  • litellm_params – LiteLLM parameters.

  • max_retries – Maximum number of retries for LLM calls.

  • usage_tracker – Optional UsageTracker instance to record usage.

  • tracer_manager – Optional AbstractTracerManager for hierarchical tracing.

__init__(model_name: str, litellm_params: dict | None = None, max_retries: int = 3, usage_tracker: UsageTracker | None = None, tracer_manager: AbstractTracerManager | None = None)[source]#

Create a planner using the given model.

Parameters:
  • model_name – The name of the LLM to use.

  • litellm_params – LiteLLM parameters.

  • max_retries – Maximum number of retries for LLM calls.

  • usage_tracker – Optional UsageTracker instance to record usage.

  • tracer_manager – Optional AbstractTracerManager for hierarchical tracing.

Methods

__init__(model_name[, litellm_params, ...])

Create a planner using the given model.

create_plan(task, agent_type[, parent_trace])

Create a plan to solve the given task and store it.

get_formatted_plan([scope])

Convert the agent's plan into a Markdown checklist.

get_steps_done()

Returns the completed steps from the current plan.

get_steps_pending()

Returns the pending steps from the current plan.

reset()

Reset the planner state.

update_plan(thought, observation, task_id[, ...])

Update the plan based on the last thought and observation.