LLM Agents Need a Cognitive Grammar, Not Just More Tools

Most agent systems today are built around tools, prompts, memory, routing, graphs, and orchestration.

That is useful, but I think something important is still missing.

The reasoning patterns that actually determine agent behavior often remain buried inside prompts, callbacks, tool loops, framework-specific nodes, or application glue.

An agent may evaluate evidence, surface uncertainty, compare options, update memory, forecast consequences, or decide whether an action should proceed.

But where does that reasoning live?

Can it be reused?

Can it be tested?

Can it be traced?

Can another agent execute the same reasoning pattern in a different opportunity?

That is the problem I am trying to address with ORCA.

From more tools to a cognitive grammar

Tools are operations. They retrieve a document, call an API, write a file, send a message, query a database, or trigger a workflow.

But many of the most important parts of agent behavior are not operations in that sense.

They are reasoning patterns.

For example:

  • evaluate evidence;
  • identify uncertainty;
  • compare alternatives;
  • detect missing information;
  • classify risk;
  • reconcile memory;
  • forecast consequences;
  • decide whether an action should proceed.

These patterns may use tools. They may call models. They may involve deterministic code, rules, retrieval, policies, or human approval.

But they are not just tools.

They are reusable cognitive structures.

That is why I think LLM agents need something like a cognitive grammar: a way to express not only what operations an agent can call, but how selected reasoning processes are composed, executed, inspected, and governed.

COGITs: bounded cognitive acts

In ORCA, I call the basic unit a COGIT.

A COGIT is a bounded executable cognitive act with a defined purpose, inputs, outputs, validation expectations, and trace semantics. It has by definition enough granularity to be executed without excesive risk and high enough cognitie level to capture a reusable cognitive process.

Examples:

  • extract uncertainty from a request;
  • classify the risk level of an action;
  • detect evidence gaps;
  • compare options against criteria;
  • update memory context;
  • forecast consequences;
  • select a continuation decision.

A COGIT is not necessarily an LLM prompt. It can be implemented with an LLM, deterministic code, a rules engine, an external API, or a hybrid backend.

The important point is that the cognitive contract remains stable even if the backend changes.

SYLLOGs: executable cognitive compositions

Many useful reasoning processes are not single steps.

For example, “make a decision” may involve:

  1. normalizing the request;
  2. generating options;
  3. evaluating tradeoffs;
  4. surfacing uncertainty;
  5. scoring options;
  6. justifying the recommendation;
  7. validating the output.

“Think before acting” may involve:

  1. modeling the candidate action;
  2. identifying affected entities;
  3. extracting constraints;
  4. surfacing uncertainty;
  5. assessing risk;
  6. forecasting consequences;
  7. generating safer alternatives;
  8. selecting whether to proceed, revise, escalate, or block.

These are not just prompts.

They are structured reasoning paths. In ORCA, I call these compositions SYLLOGs.

A SYLLOG is an executable composition of COGITs. If COGITs are bounded cognitive acts, SYLLOGs are cognitive programs.

Why this is not about hidden chain-of-thought

The goal is not to expose the model’s hidden mind. The goal is to require the agent system to execute certain cognitive procedures when they matter. That distinction is important.

We usually cannot access the true internal reasoning process of a model. We can ask for a rationale, but that rationale is another generated artifact, not a reliable trace of the cognition that produced an action.

ORCA takes a different approach, and the difference is architectural.

Instead of trying to recover the model’s hidden chain of thought, it defines external cognitive procedures that the agent system can require, validate, and trace.

The trace is not:

What did the model secretly think?

The trace is:

What cognitive procedure did the agent system require before producing this decision or allowing this action path to continue?

Why not just use graph nodes?

Of course, these patterns can be implemented as nodes in an existing graph framework.

That is not the interesting question. The interesting question is whether the reasoning pattern has a portable cognitive contract independent of the graph that happens to execute it.

Without that contract, the pattern remains application glue.

With that contract, it can become a reusable artifact.

A framework graph may describe execution.

A cognitive grammar describes reusable reasoning.

Those two things can work together, but they are not the same abstraction.

A concrete example: Action Preflight

One concrete SYLLOG is Action Preflight.

The idea is that an LLM agent should not move directly from:

I intend to do X

to:

I executed X

There should be a cognitive path in between.

Before an agent sends a message, calls an API, edits a file, accesses private data, triggers a workflow, or delegates work, the system should be able to require a structured pre-action reasoning path.

Action Preflight attempts to make the candidate action explicit:

candidate action
→ action model
→ affected entities
→ constraints
→ uncertainty
→ risk
→ plausible consequences
→ safer alternatives
→ continuation decision

Great post. The distinction between “tools” and “reusable reasoning patterns” (COGITs/SYLLOGs) is crucial for moving from hacked-together agents to reliable industrial systems.
However, there is a fundamental layer often overlooked in purely architectural or symbolic approaches: the internal dynamic stability of the model during the execution of these patterns.
As an independent researcher working on the dynamic observability of LLMs, I see a direct convergence with your approach. You define the logical structure; my work focuses on validating the physical stability of that structure’s execution.

  1. The Problem of the “Executive Black Box”
    You state: “We usually cannot access the true internal reasoning process of a model… ORCA defines external cognitive procedures.”
    This is correct. ORCA defines the WHAT (the structure of reasoning: evaluate, compare, decide).
    But who validates the HOW (the cognitive state of the model while executing these steps)?
    An agent can perfectly execute a “Action Preflight” SYLLOG according to your grammar, but if the underlying model enters a regime of geometric instability during the “forecast consequences” step, the result will be a confident hallucination or semantic drift, even if the logical structure is respected.
    My research demonstrates that this instability is not random noise, but a predictable dynamic regime characterized by high trajectory curvature and entropy shifts (Four Dynamical Regimes, V19/V20).
  2. Complementarity: Grammar vs. Dynamics
    My work on LIMEN (Liminal Internal Metric for Emergent Navigation) and VBE (Validation Before Execution) brings the layer of dynamic validation missing from purely symbolic approaches:
    ORCA (Cognitive Grammar): Externalizes and structures reasoning into reusable blocks (COGITs). This is the logical skeleton.
    LIMEN/VBE (Dynamic Observability): Measures in real-time the coherence of the model’s internal trajectory. This acts as a stability monitor, detecting when the model’s internal state diverges from a stable path, regardless of the prompt structure (Dynamic-Layer Controllability, V21).
    The Analogy:
    ORCA is the GPS tracing the ideal route (the reasoning plan).
    LIMEN/VBE is the stability control system that detects if the car (the model) is skidding, even if it’s following the mapped route.
  3. Towards a Dynamically Auditable “Cognitive Contract”
    You mention the “Cognitive Contract”. For it to be truly robust, it must include a dynamic dimension:
    Structure (ORCA): The agent must pass through steps A → B → C.
    Stability (LIMEN): At each step, the model’s internal trajectory must remain within stable dynamic bounds (low curvature, consistent entropy).
    Proof (Checkpoints): Each transition is logged with its stability metrics, creating an auditable trail of cognitive health (Conditional Dynamic Signatures, V22).
    If step B generates a high instability score, the system shouldn’t just “trace” the error; it must block execution before the action is committed.
    Conclusion
    “Cognitive Grammar” is essential for reusability.
    “Dynamic Observability” is essential for safety.
    They do not oppose each other; they complement each other. A mature industrial agent will need a grammar to structure its thought (ORCA) and a dynamic monitor to guarantee its operational stability (LIMEN/VBE).

Thanks, this is a very interesting framing.

I agree with the distinction between the logical structure of cognition and the quality or stability of the model execution underneath it.

The way I think about ORCA is not as a claim that structure alone is sufficient. ORCA externalizes the reasoning procedure: what cognitive acts must happen, in what order, with what inputs, outputs, contracts, validation points, and traces. But each COGIT still needs an execution backend, and that backend can fail in different ways: hallucination, semantic drift, overconfidence, instability, weak grounding, or inconsistent interpretation of the contract.

So yes, there is a meaningful difference between:

  1. Did the agent execute the required cognitive path?
  2. Was each step executed reliably by the underlying model/backend?

ORCA is mostly focused on the first problem, while creating explicit places where the second problem can be tested, validated, or blocked under a limited scope where the second problems gets less complicated.

Where I would be slightly careful is in calling ORCA “purely symbolic.” The COGIT/SYLLOG layer is structural, but it is not meant to assume symbolic execution only. A COGIT can be backed by an LLM, deterministic code, retrieval, a rules engine, a classifier, a verification model, a policy check, or some hybrid mechanism. In that sense, a dynamic stability monitor could itself become part of the runtime validation layer.

For example, a consequence-forecasting COGIT could produce its normal structured output, while an additional validator evaluates whether the execution was stable enough to trust. If the stability signal is bad, the SYLLOG should not blindly continue. It could re-run, switch backend, reduce scope, request clarification, escalate to a human, or block the action path.

So I like your GPS / stability-control analogy. I would phrase the relationship as:

ORCA defines the cognitive route and the checkpoints.
A dynamic observability layer could evaluate whether the model is still executing each segment in a trustworthy regime.

That would fit very naturally with the idea of cognitive contracts. A mature contract should probably include not only input/output schema and semantic validation, but also execution-quality signals: confidence, uncertainty, grounding, consistency, drift, and, where available, model-dynamic stability.

The key architectural point for me is that these signals become useful because the cognitive process has been segmented. If the whole task is one large prompt, it is hard to know where instability matters or what to do with it. If the process is decomposed into bounded COGITs, then stability can be checked at meaningful transition points.

So yes, I see the two ideas as complementary:

  • ORCA: makes selected reasoning procedures explicit, reusable, and traceable.
  • LIMEN/VBE-style monitoring: could provide execution-health signals for the model/backend running those procedures.

The combination would be stronger than either alone: structured cognition plus runtime evidence that the execution of each cognitive step remained within acceptable bounds.

lets try a test

do you have a repo i can check?