Procedural Memory
Stores skills, workflows, and 'how-to' knowledge as executable graphs.
:Procedure, :Step, :Tool)Purpose
Procedural Memory manages the "muscle memory" of the agent. It stores defined procedures for completing tasks (e.g., "How to deploy to production", "How to fix a bug").
Key Features
- ACE (Agentic Constant Evolution): Procedures are not static. If a step fails, the system "reflects" and updates the graph structure to improve future performance.
- Dependency Graphs: Steps can have explicit dependencies and conditional branching.
Functional Deep Dive
Graph Workflows
A Procedure is defined as a graph of Step nodes. Steps can loop or branch, allowing for complex, non-linear workflows.
Agentic Execution
Each step defines which Tool or specific Agent is required to execute it. The MainOrchestrator dispatches these steps to the appropriate handler.
Self-Correction (ACE)
If a procedure fails during execution, the ProceduralManager triggers a reflection loop. It analyzes the error, modifies the step definition or tool parameters in the graph, and saves the new version for future success.
Execution & Evolution Flow
API Reference
Procedural Memory provides RESTful endpoints for managing workflows and procedures.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/memory/v1/procedures | Create a new procedure |
| GET | /api/memory/v1/procedures | List all procedures |
| GET | /api/memory/v1/procedures/{procedure_id} | Get procedure by ID |
| PUT | /api/memory/v1/procedures/{procedure_id} | Update procedure |
| DELETE | /api/memory/v1/procedures/{procedure_id} | Delete procedure |
| POST | /api/memory/v1/procedures/{procedure_id}/execute | Execute procedure |
| GET | /api/memory/v1/procedures/{procedure_id}/history | Get execution history |
SDK Reference
The Functor SDK provides a Python interface for procedural memory operations.