laconic  by smhanov

Agentic research orchestrator for efficient LLM-powered exploration

Created 3 months ago
250 stars

Top 100.0% on SourcePulse

GitHubView on GitHub
Project Summary

An agentic research orchestrator for Go, Laconic addresses the challenge of prompt overflow in LLM agents by implementing state compression techniques. This makes agents practical for free search and low-cost, small-context window LLMs (4k/8k tokens). It benefits users by enabling cost-effective, efficient LLM-powered research and complex query answering.

How It Works

Laconic offers two core strategies for state compression and knowledge accumulation. The Scratchpad strategy employs a linear loop: Planner -> Search -> Synthesizer -> Finalizer. It compresses state by overwriting a free-text knowledge summary at each iteration, bounding prompt size. This is ideal for simple questions and minimal LLM calls. The Graph Reader strategy builds a notebook of atomic facts by traversing a dynamically constructed graph of search queries. It supports multi-hop reasoning and deep page reading via an optional FetchProvider, making it suitable for complex research where answer quality is paramount, though it incurs higher LLM costs.

Quick Start & Requirements

  • Installation: go get github.com/smhanov/laconic
  • Prerequisites: Go development environment. Requires implementing LLMProvider adapters (e.g., for OpenAI, Ollama, Anthropic, Gemini via llmhub) and configuring SearchProvider (DuckDuckGo, Brave, Tavily). An optional FetchProvider can be integrated for full-page reading.
  • Resources: Minimal dependencies (stdlib only). Example implementations are available in examples/basic/ and examples/research/.
  • Documentation: Detailed architecture and prompt design are available in docs/architecture.md and docs/prompts.md.

Highlighted Details

  • Dual Strategies: Scratchpad for efficiency and Graph Reader for depth.
  • Cost Management: Automatic LLM and search cost tracking.
  • Knowledge Persistence: Supports follow-up questions via Result.Knowledge carry-over.
  • Model Agnosticism: Integrates with any LLM or search provider via interfaces.
  • Dual-Model Support: Allows distinct models for planning and synthesis/finalization.
  • Pluggable System: Custom strategies can be registered.

Maintenance & Community

No specific details regarding maintainers, community channels (e.g., Discord, Slack), or active sponsorships were found in the provided README.

Licensing & Compatibility

  • License: MIT.
  • Compatibility: The MIT license is highly permissive, allowing for commercial use and integration into closed-source projects without significant restrictions.

Limitations & Caveats

The Graph Reader strategy is more LLM-intensive and benefits from larger context windows (16k+ tokens recommended), whereas Scratchpad is optimized for smaller contexts (4k-8k tokens) and fewer LLM calls. The FetchProvider is optional but crucial for the Graph Reader's deep-reading capabilities.

Health Check
Last Commit

3 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
14 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.