-
-

OpenSSA: Small Specialist Agents

-
-

Enabling Efficient, Domain-Specific Planning and Reasoning for AI

-

OpenSSA is an open-source framework for creating efficient, domain-specific agents (SSAs) that solve complex problems by incorporating advanced Planning and Reasoning capabilities. Read more about our study here

-

SSAs tackle multi-step problems that require planning and reasoning beyond traditional language models. They apply OODA for deliberative reasoning (OODAR) and iterative, hierarchical task planning (HTP). This “System-2 Intelligence” breaks down complex tasks into manageable steps. SSAs make informed decisions based on domain-specific knowledge. With OpenSSA, create agents that process, generate, and reason about information. This makes them more effective and efficient in solving real-world challenges.

-
-
-

Planning and Reasoning with HTP and OODAR

-

SSAs with advanced P&R can be built by configurating Plan Creation, Plan Execution and Background Knowledge

-
-

Plan Creation: Auto vs. Expert-Guided/Specified

-
    -
  • Auto plans are created by using LLMs

  • -
  • Expert-Guided/Specified are created with the guidance from domain-specific experts.

  • -
-
-
-

Plan Execution: Static vs. Dynamic

-
    -
  • Static plan: each step of the plan is executed sequentially without deviation from the initial setup. The final answer is composed by aggregating the outcomes of these sequential steps.

  • -
  • Dynamic planning: each step is initially executed as in static planning, but the outputs are continually assessed bythe LLM. If a particular outcome is deemed inadequate, the plan triggers a recursive solving mechanism via OODAR to perform an initial pass.

  • -
-
-
-

Background Knowledge: Generic/None vs. Salient Domain Highlights (“Cheat Sheet”)

-

TBD

-
-
-
-
-

Hierarchical Task Planning (HTP)

-
-

Why HTP?

-
    -
  • HTP makes complex task more solvable by breaking it down into sub-plans.

  • -
-
-
-

How is HTP designed in OpenSSA?

-
    -
  • HTP has 2 main components:

    -
      -
    • Plan Creation: create sub-plans by either going broader (more sub-plans) or deeper (more sub-tasks)

    • -
    • Plan Execution: (i) integrate multiple sub- and side-results into a combined conclusion; and (ii) roll up such conclusion to super/upper-nodes

    • -
    -
  • -
-
-
-
-

OODA-based Reasoning (OODAR)

-

The Observe-Orient-Decide-Act (OODA) loop is a well-established iterative reasoning framework emphasizing continuous adaptation and decision-making in complex environments. The OODA loop consists of four main stages:

-
    -
  1. Observe: Gather information about the environment and the problem at hand;

  2. -
  3. Orient: Analyze the collected information, update the understanding of the situation, and generate potential solutions or actions;

  4. -
  5. Decide: Evaluate the potential solutions or actions and select the most appropriate one based on the current understanding; and

  6. -
  7. Act: Execute the selected solution or action and monitor its impact on the environment.

  8. -
-

The iterative nature of the OODA loop allows for continuous refinement and adaptation based on the feedback received from the environment. By repeatedly cycling through these four stages, an agent can progressively improve its understanding of the problem, generate more relevant solutions, and make better decisions.

-

TODO: add examples of task broken down into OODA steps

-
-

Key Features

-
    -
  • Small: Create lightweight, resource-efficient AI agents through model compression techniques

  • -
  • Specialist: Enhance agent performance with domain-specific facts, rules, heuristics, and fine-tuning for deterministic, accurate results

  • -
  • Agents: Enable goal-oriented, multi-step problem-solving for complex tasks via systematic HTP planning and OODAR reasoning

  • -
  • Integration-Ready: Works seamlessly with popular AI frameworks and tools for easy adoption

  • -
  • Extensible Architecture: Easily integrate new models and domains to expand capabilities

  • -
  • Versatile Applications: Build AI agents for industrial field service, customer support, recommendations, research, and more

  • -
-
-
-

Example Use Cases

-
-

Boost RAG Performance with Reasoning

-

OpenSSA significantly boosts the accuracy of Retrieval-Augmented Generation (RAG) systems. It fine-tunes the embedding or completion model with domain-specific knowledge. It also adds the ability to reason about queries and underlying documents. This powerful combination lifts RAG performance by significant margins, overcoming the limitations of generic language models.

-
+
+

OpenSSA: Small Specialist Agents for Problem-Solving

+

OpenSSA is an agentic AI framework for solving complex problems in real-world industry domains, +overcoming the limitations of LLMs and RAG in such settings.

+
+

Level-2 Intelligence with Planning, Reasoning, domain-specific Knowledge and diverse Informational Resources

+

OpenSSA agents, built with powerful Hierarchical Task Planning (HTP) and Observe-Orient-Decide-Act Reasoning (OODAR), +go far beyond the Level-1 pattern-matching intelligence performed by LLMs and RAG, and achieve superior outcomes +in complex multi-faceted, multi-step tasks. See our comparative study.

+

Agents can also be armed with domain-specific Knowledge, connected to diverse Informational Resources +(files, databases, web sources, etc.), and/or be guided by specialized industry experts +to maximize the accuracy and comprehensiveness in their planning, reasoning and deliberative/iterative problem-solving.

+
+
+

Open and Extensible Architecture

+

We are committed to promoting and supporting open development in generative AI, +and hence OpenSSA would strive to integrate with a diverse array of LLM backends, especially open-source LLMs. +If you would like a certain LLM to be supported, please suggest through a GitHub issue, or, even better, submit a PR.

+

Additionally, OpenSSA’s key Planning, Reasoning, Knowledge and Resource interfaces +are designed with customizability and extensibility as first-class concerns, +in order to enable developers to effectively solve problems in their specific industries and specialized domains.

+
+
+

Small and Resource-Efficient Agents for Practical Real-World Deployment

+

Specialized, Level-2 intelligence allows OpenSSA agents to work well in many applications +with significantly smaller component models, thereby greatly economizing computing resources.

-

Getting Started

-
    -
  1. Install OpenSSA: pip install openssa (Python 3.12)

  2. -
  3. Explore the examples/ directory

  4. -
  5. Start building your own Small Specialist Agents

  6. -
-

Detailed tutorials and guides are available in our Documentation.

+

Getting Started

+

Installation: pip install openssa (Python 3.12 only). +For bleeding-edge latest capabilities: pip install https://github.com/aitomatic/openssa/archive/main.zip.

+

Explore the examples/ directory and developer guides and tutorials on our documentation site.

-
-

Roadmap

-
    -
  • Llama3 being default model

  • -
  • Other types of planning beyond HTP being integrated

  • -
  • Custom reasoners

  • -
  • Facts, rules, heuristics as proper data structures (not just a knowledge text block)

  • -
  • Custom resources (web search, sensors, feeds)

  • -
+
+

API Documentation

-

Contributing

+

Contributing

We welcome contributions from the community!

  • Join the discussion on our Community Forum

  • -
  • Explore the contrib/ directory for ongoing work and open issues

  • Submit pull requests for bug fixes, enhancements, or new features

For more information, see our Contribution Guide.

-