первыйБитБИТ.АГЕНТЫ/туториал

ReAct-паттерн

Reasoning + Acting

ReAct (Yao et al., 2022) — это паттерн, в котором агент чередует рассуждение (Reasoning)и действие (Acting). На каждом шаге агент:

  1. Thought: размышляет, что нужно сделать
  2. Action: выполняет действие (вызов инструмента, запрос)
  3. Observation: получает результат действия
  4. Повторяет, пока не готов ответить

Код агента

react-agent.ts
// ReAct: Reasoning + Acting
// Каждый шаг: Thought → Action → Observation

class ReActAgent {
  async run(question: string) {
    let done = false
    const context = []

    while (!done) {
      // 1. Reasoning
      const thought = await this.think(context, question)
      context.push({ role: "assistant", content: thought })

      // 2. Acting
      const action = await this.act(context)
      context.push({ role: "assistant", content: action })

      // 3. Observation
      const observation = await this.observe(action)
      context.push({ role: "tool", content: observation })

      if (this.isFinalAnswer(observation)) {
        done = true
      }
    }
  }
}

Визуальный цикл ReAct

Нажмите пример, затем «Запустить ReAct» — каждый шаг цикла отобразится наглядно. Калькулятор выполняется без LLM, прямо в браузере.

Карандаш 15₽, ручка 37₽. Нужно посчитать общую стоимость.

Демо: ReAct-агент с LLM

Задайте вопрос — агент покажет свои мысли и действия по шагам.

ReAct-агент

System prompt для LLM

Этот промпт заставляет модель работать по методологии ReAct:

Ты — агент, работающий по методологии ReAct (Reasoning + Acting).

Для каждого шага:
1. Thought — объясни, что ты делаешь и почему
2. Action — выбери действие, сделай вычисление или запрос
3. Observation — получи результат

После нескольких итераций дай Final Answer.

Формат ответа:
🧠 Thought: ...
⚡ Action: ...
👁️ Observation: ...
🏁 Final Answer: ...

Отвечай кратко и по делу.