Expand description
§Async ReasoningLoop Engine
High-performance async reasoning engine with Tokio-based concurrency, memory integration, and streaming support.
§Design Principles
- Async-First: All I/O operations are non-blocking
- Channel-Based Concurrency: ThinkTools execute via broadcast channels
- Streaming Output: Real-time step-by-step reasoning visibility
- Memory Integration: Optional reasonkit-mem for context enrichment
- Profile System: quick/balanced/deep/paranoid execution modes
§Performance Characteristics
- Concurrent ThinkTool execution reduces latency by (N-1)/N for N independent tools
- Zero-copy streaming via tokio broadcast channels
- Bounded channel backpressure prevents memory exhaustion
- Connection pooling for LLM API calls
Structs§
- Decision
- Final decision from reasoning loop
- Execution
Context - Context for ThinkTool execution
- Memory
Chunk - A chunk retrieved from memory
- Memory
Context - Context retrieved from memory
- Reasoning
Config - Configuration for the ReasoningLoop
- Reasoning
Loop - High-performance async reasoning engine
- Reasoning
Loop Builder - Builder for ReasoningLoop with fluent API
- Reasoning
Session - Stateful reasoning session with accumulated context
- Reasoning
Step - A single step in the reasoning process
- Stream
Handle - Handle for receiving streaming events
- Think
Tool Result - Result from a ThinkTool execution
- Token
Usage - Token usage statistics
Enums§
- Profile
- Reasoning profiles that determine ThinkTool chains and confidence targets
- Reasoning
Error - Errors that can occur during reasoning loop execution
- Reasoning
Event - Events emitted during reasoning loop execution
- Step
Kind - Kind of reasoning step
Traits§
- Memory
Provider - Trait for memory providers (enables mock testing and multiple backends)
- Think
Tool Executor - Trait for ThinkTool execution (enables custom implementations)
Type Aliases§
- Result
- Result type for reasoning operations