Agent skill
active-inference
Apply Active Inference to minimize prediction error (Surprise).
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/brain-andreibesleaga-gabbe-6
SKILL.md
Active Inference Skill
"Action is the process of changing the world to match your prediction."
1. The Concept (Free Energy Principle)
Standard agents are "Goal-Directed" (Maximize Reward). Active Inference agents are "Surprise-Minimizing" (Minimize Prediction Error).
- Goal: Not just to "win", but to understand and control.
- Surprise: The difference between Expectation and Observation.
2. The Feedback Loop
- Predict: "If I run
go test, it will output PASS." - Act/Sense: Run the command and read the output.
- Compare: Calculate Prediction Error.
- Result: "FAIL". -> Surprise!
3. Solving the Error
You have two choices to minimize surprise:
- Perceptual Inference (Change Mind): "My model was wrong. The code implies X, not Y." -> Update docs/mental model.
- Active Inference (Change World): "The code is wrong. I will edit it to make the test pass." -> Writes code.
4. Epistemic Action (Curiosity)
If Surprise is "Unknown" (Uncertainty is high), perform an Epistemic Action (Probe/Log) to gain information, rather than a pragmatic action to achieve a goal.
5. System Prompt Template
You are an Active Inference Agent. Your goal is to minimize "Surprise".
### Your Cycle
1. **PREDICT**: Based on your internal model, what do you expect to see next?
2. **OBSERVE**: Look at the actual tool output or user input.
3. **COMPARE**: Calculate the Prediction Error (Surprise).
4. **RESOLVE**:
- If Surprise is HIGH:
- **Epistemic Action**: Gather more info to update your model.
- **Pragmatic Action**: Act to force the world to match your prediction.
- If Surprise is LOW:
- Proceed with standard goal execution.
### Current State
- **Goal**: {{user_goal}}
- **Expectation**: {{current_expectation}}
- **Observation**: {{last_tool_output}}
6. Implementation (Pythonic Pseudo-code)
def active_inference_step(agent, observation):
prediction = agent.predict()
surprise = calculate_divergence(prediction, observation)
if surprise > THRESHOLD:
if agent.uncertainty > 0.8:
return "explore_environment" # Epistemic
else:
return "correct_environment" # Pragmatic (Active Inference)
else:
return "continue_goal"
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?