Skip to content
Robert J. Hartung III edited this page Dec 3, 2025 · 1 revision

Rational Agent: A Defeasible Reasoning System for Practical Deliberation

Overview

This repository contains Rational Agent, a research-oriented system for defeasible practical reasoning. The system is motivated by and grounded in Philosopher John Pollock’s theory of rationality and defeasible justification, with the explicit goal of operationalizing non-monotonic reasoning in computational agents.

Unlike contemporary “reasoning LLM” approaches, Rational Agent does not treat language models as autonomous reasoners. Instead, it assigns them a strictly subordinate role as generators of candidate reasons, defeaters, and informational hypotheses. All inferential authority is vested in an explicit normative reasoning engine that evaluates, defeats, reinstates, and revises beliefs according to defeasible principles.

The system is intended as an experimental platform for research in rational agency, epistemology-informed AI, and explainable decision support, rather than as a production planning or advisory tool.

Defeasible Reasoning and Normative Commitments

Reasoning in this system is fundamentally defeasible. Conclusions are justified provisionally and remain subject to revision in light of additional information or superior counter-considerations. The underlying epistemic model distinguishes between prima facie reasons and all-things-considered warrant, following Pollock’s analysis of justification.

A central feature of the system is its explicit treatment of defeat. Rebutting defeaters attack the truth of a conclusion, while undercutting defeaters attack the reliability or applicability of a reason supporting that conclusion. These distinctions are not merely representational; they play a functional role in determining reinstatement and overall warrant.

Importantly, the system does not rely on probabilistic confidence or Bayesian updating. Justification is represented structurally, not numerically, and is evaluated by examining the defeat relationships among reasons rather than by aggregating likelihoods.

Argument Graph Representation

All reasoning processes are represented within an explicit argument graph. Nodes in this graph correspond to claims, reasons, or premises. Directed edges encode defeat relations between nodes, annotated by defeat type (rebutting or undercutting).

Node status is computed dynamically, yielding states such as undefeated or defeated, depending on the current configuration of attacks and counter-attacks. Because defeat relations can themselves be defeated, the graph naturally supports reinstatement chains and cyclic structures. As a result, reasoning is intentionally non-terminating in principle, reflecting Pollock’s view that rational deliberation does not converge to a final, immutable belief state.

The Normative Defeasible Engine

At the core of the system is the Normative Defeasible Engine (NDE). The NDE is responsible for maintaining the argument graph, propagating defeat status, resolving reinstatement, and determining which claims are currently warranted.

Crucially, the NDE is entirely symbolic and deterministic. It does not invoke language models, retrieval systems, or external heuristics. Its behavior is constrained solely by the formal structure of the argument graph and the normative rules governing defeasible reasoning. This design ensures that all conclusions and revisions are explainable in terms of explicit reasons and defeats.

The NDE also tracks epistemic interests, which represent questions or propositions whose resolution is of practical or theoretical importance to the agent. Interests may remain unresolved indefinitely if the available reasons fail to yield sufficient warrant.

Epistemic Interests and Interest-Relative Reasoning

Epistemic interests play a central role in guiding inquiry. An interest corresponds to a proposition whose warrant the system seeks to determine, such as whether a particular plan is practically feasible.

Interests are not automatically resolved. Instead, they persist until supported by undefeated reasons or rendered indefensible by undefeated defeaters. This reflects Pollock’s notion of interest-relative rationality, according to which rational inquiry is shaped not only by available evidence but also by the questions currently at issue.

Agents in the system may generate sub-interests, particularly when missing information is identified as relevant to resolving a primary interest.

Agents and the Role of Language Models

The system employs a set of agents that operate external to the normative core. These agents do not perform inference and do not determine warrant. Their function is to explore the space of possible reasons, defeaters, and relevant information.

Support agents propose candidate reasons that might support existing claims. Defeater hunter agents search for rebutting defeaters, while undercutter agents search for reasons that undermine the reliability of other reasons. An information-seeking agent identifies gaps in knowledge and, when configured, retrieves external documents that may bear on unresolved interests.

Language models are used exclusively within these agents as generators of hypotheses or explanatory text. Every output produced by an LLM is treated as defeasible input to the argument graph and is subject to subsequent defeat and revision. The system therefore avoids conflating linguistic fluency with inferential correctness.

Retrieval and External Information

The system optionally integrates document retrieval through ChromaDB and LangChain. Retrieved documents are embedded and searched using vector similarity, and relevant excerpts are provided to agents as contextual material.

Importantly, retrieved content is never treated as authoritative by itself. Document-based information is attached as metadata to proposed reasons or defeaters and is fully subject to normative evaluation by the NDE. This ensures that external information enhances, rather than replaces, defeasible reasoning.

All source information used in this way can be preserved in explanations and persisted for later auditing or analysis.

Plan Evaluation as Practical Reasoning

A central use case of the system is the evaluation of user-proposed plans. A plan is represented as a claim asserting its practical feasibility. An epistemic interest is then created concerning that claim, and agents explore the space of possible supporting reasons and defeaters.

The system does not output a binary judgment of success or failure. Instead, it returns a defeasible verdict indicating whether the plan is currently undefeated, along with an explicit explanation identifying the reasons, defeaters, and reinstatement chains that led to that verdict. As new information is introduced, the evaluation may change.

In this respect, the system implements a form of practical rational scrutiny rather than advice or prediction.

Explanations and Transparency

Explanations are a first-class output of the system. For any claim, the system can produce both a human-readable explanation and a structured, machine-readable representation detailing the argument graph, defeat relations, and source metadata.

These explanations are derived directly from the normative reasoning process rather than post-hoc rationalization. As a result, they are suitable for inspection, auditing, and downstream analysis, including UI visualization or longitudinal studies of belief revision.

Persistence and Reproducibility

The system supports persistence of argument graphs, epistemic interests, events, and explanations using JSON or SQLite backends. Persistence is designed to be orthogonal to reasoning; stored data can be replayed or reanalyzed without altering the normative logic.

This design supports reproducible experiments and systematic evaluation of reasoning behavior over time.

Scope and Non-Goals

Rational Agent is not intended to function as an autonomous planner, a probabilistic decision engine, or an end-user advisory system. It does not optimize utility, learn policies, or replace human judgment.

Its purpose is to provide an explicit, inspectable framework for studying and implementing defeasible rational deliberation in computational systems. (At least for now)

Current Status and Research Trajectory

The project currently implements a fully functional defeasible reasoning core, an extensible agent architecture, document-grounded defeater generation, structured explanations, and automated tests for key behaviors. It is best described as a research prototype under active development.

Future work includes stability-sensitive warrant, systematic risk extraction from defeaters, multi-plan comparison, and formal evaluation of rational sensitivity to defeaters and undercutters.

References

  • Pollock, J. L. (1995). Cognitive Carpentry: A Blueprint for How to Build a Person. MIT Press.
  • Pollock, J. L. (1987). Defeasible Reasoning. Cognitive Science, 11(4), 481–518.
  • Pollock, J. L. (2001). Defeasible Reasoning with Variable Degrees of Justification. Artificial Intelligence, 133(1-2), 233–282.

License

This project is released under the Apache License, Version 2.0.