# `Jido.AI.Reasoning.AlgorithmOfThoughts.Strategy`
[🔗](https://github.com/agentjido/jido_ai/blob/v2.4.0/lib/jido_ai/reasoning/algorithm_of_thoughts/strategy.ex#L1)

Algorithm-of-Thoughts (AoT) execution strategy for Jido agents.

This strategy performs one-pass algorithmic reasoning with in-context search
exemplars and extracts a structured AoT result.

# `config`

```elixir
@type config() :: %{
  model: String.t(),
  profile: profile(),
  search_style: search_style(),
  temperature: float(),
  max_tokens: pos_integer(),
  examples: [String.t()],
  require_explicit_answer: boolean(),
  llm_timeout_ms: pos_integer() | nil
}
```

# `profile`

```elixir
@type profile() :: :short | :standard | :long
```

# `search_style`

```elixir
@type search_style() :: :dfs | :bfs
```

# `get_result`

```elixir
@spec get_result(Jido.Agent.t()) :: map() | nil
```

Returns the last AoT result from strategy state.

# `llm_partial_action`

```elixir
@spec llm_partial_action() :: :aot_llm_partial
```

Returns the action atom for handling LLM partial deltas.

# `llm_result_action`

```elixir
@spec llm_result_action() :: :aot_llm_result
```

Returns the action atom for handling LLM results.

# `request_error_action`

```elixir
@spec request_error_action() :: :aot_request_error
```

Returns the action atom for handling request lifecycle rejections.

# `start_action`

```elixir
@spec start_action() :: :aot_start
```

Returns the action atom for starting AoT exploration.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
