AI Letters #24 · LLM Showdown #15 — Evidence Dashboard
ReAct Agents: Full Benchmark Results
Notebook #15 — Lines of code, built-in tool inventory, loop control, and custom tool cost across SynapseKit 1.4, LangChain 1.2, and LlamaIndex Core 0.14.
Lines of Code — Imports + Setup to a Working Agent
SynapseKit
6
3 imports + 3 functional
LlamaIndex
13
3 imports + 10 functional
LangChain
19
5 imports + 14 functional
* SynapseKit's 6-line count relies on built-in CalculatorTool and DateTimeTool. Task required two tools; SK ships both. LC and LI require tool-definition code.
Lines of Code (stacked)
Imports vs functional lines
Built-in Tool Inventory
Tools available without writing tool code
Loop Control Parameters
What the framework exposes to the caller for controlling and observing the ReAct loop
| Parameter | SynapseKit | LangChain | LlamaIndex |
| max_iterations | Yes | Yes | Yes |
| early stop condition | Yes | Yes | Yes |
| handle_parsing_error | Yes | Yes | Yes |
| verbose (loop logging) | No | Yes | Yes |
| return_intermediate_steps | No | Yes | Yes |
| async support | Yes | Yes | Yes |
| Score (out of 6) | 4 / 6 | 6 / 6 | 6 / 6 |
Custom Tool Definition Cost
Lines to define one new tool (when built-ins don't cover your use case)
Loop Control Score
Parameters exposed for observing and controlling the ReAct loop
Key Findings
Headline Number
SynapseKit's 6-line agent is real — but it only holds when your use case fits its 18 built-in tools. The moment you write a custom tool, LangChain and LlamaIndex cost the same or less.
Production Observability
LangChain and LlamaIndex both score 6/6 on loop control. SynapseKit's missing verbose and return_intermediate_steps are a meaningful liability when you need to debug a misbehaving agent in production.
The Quiet Winner
LlamaIndex at 13 lines with 6/6 loop control is the balanced choice — especially if you're already in the LlamaIndex ecosystem for RAG. Lower built-in tool count (9) is the only real gap.
www.engineersofai.com · AI Letters #24 · LLM Showdown #15