AI Letters #24  ·  LLM Showdown #15

ReAct Loop Explorer

Select a framework to see how much of the Thought → Action → Observation loop it exposes. Click each loop step for details.

Step 1
Thought
The LLM reasons about the current state: what it knows, what it needs, which tool to call next. This is pure model output — a string starting with "Thought:"
Visibility in SynapseKit
Not streamed by default
No verbose log output
Step 2
Action
The LLM selects a tool and specifies the input. The framework parses this from the model output and dispatches the tool call.
Visibility in SynapseKit
Tool dispatch not logged
Tool arguments not accessible
Step 3
Observation
The tool returns a result. The framework injects this as "Observation:" into the next LLM context, continuing the loop.
Visibility in SynapseKit
Tool return value not surfaced
No intermediate steps object
Step 4
Final Answer
The LLM determines the loop is complete and outputs the final answer. The framework returns this to the caller.
Visibility in SynapseKit
Final answer always returned
No trace attached to answer
SynapseKit — Full Agent Setup (6 lines)
from synapsekit import ReActAgent, CalculatorTool, DateTimeTool
from synapsekit.llm import LLMConfig
from synapsekit.llm.openai import OpenAILLM

llm   = OpenAILLM(LLMConfig(model="gpt-4o-mini", api_key=KEY, provider="openai"))
agent = ReActAgent(llm=llm, tools=[CalculatorTool(), DateTimeTool()], max_iterations=10)
answer = await agent.run("What is 2 ** 10, and what day of the week is today?")

# No verbose. No intermediate steps. Final answer only.
ParameterSynapseKitLangChainLlamaIndex
max_iterationsYesYesYes
early stop conditionYesYesYes
handle_parsing_errorYesYesYes
verbose (loop logging)NoYesYes
return_intermediate_stepsNoYesYes (response.sources)
async supportYesYesYes
Loop control score4 / 66 / 66 / 6
www.engineersofai.com  ·  AI Letters #24  ·  LLM Showdown #15