system2-attention
System 2 attention mechanisms for deliberate, slow reasoning in transformer architectures.
Best use case
system2-attention is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
System 2 attention mechanisms for deliberate, slow reasoning in transformer architectures.
Teams using system2-attention should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/system2-attention/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How system2-attention Compares
| Feature / Agent | system2-attention | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
System 2 attention mechanisms for deliberate, slow reasoning in transformer architectures.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# System 2 Attention Skill: Deliberate Reasoning Validation
**Status**: ✅ Production Ready
**Trit**: -1 (MINUS - validator/constraint)
**Color**: #2626D8 (Blue)
**Principle**: Filter noise via deliberate re-attention
**Frame**: Two-stage attention with explicit reasoning
---
## Overview
**System 2 Attention** (S2A) validates and filters transformer attention by regenerating context deliberately. Standard attention (System 1) is fast but susceptible to sycophancy and irrelevant context. S2A re-attends after explicit reasoning.
1. **Context regeneration**: LLM rewrites context removing irrelevant info
2. **Two-pass attention**: Fast then deliberate
3. **Sycophancy reduction**: Filter opinion-seeking noise
4. **Factual grounding**: Anchor to verified facts
## Core Pattern
```
S2A(x, context):
# System 1: fast pattern matching
context_filtered = LLM("Extract only relevant facts from: {context}")
# System 2: deliberate reasoning on clean context
return LLM(x, context=context_filtered)
```
```python
def system2_attention(query: str, context: str, model) -> str:
# Stage 1: Regenerate context (remove sycophantic/irrelevant)
filter_prompt = f"""Given the context below, extract only the
objective facts relevant to answering questions. Remove opinions,
leading questions, and irrelevant details.
Context: {context}
Relevant facts only:"""
clean_context = model.generate(filter_prompt)
# Stage 2: Answer with filtered context
return model.generate(query, context=clean_context)
```
## Key Concepts
### 1. Context Filtering
```python
class S2AFilter:
def __init__(self, model):
self.model = model
def filter_sycophancy(self, context: str) -> str:
"""Remove opinion-seeking and leading content."""
return self.model.generate(
f"Rewrite removing any opinions or leading questions:\n{context}"
)
def filter_irrelevant(self, context: str, query: str) -> str:
"""Keep only query-relevant facts."""
return self.model.generate(
f"Extract facts from context relevant to: {query}\n\n{context}"
)
```
### 2. Two-Pass Architecture
```python
class System2AttentionLayer:
def __init__(self, base_attention, filter_model):
self.attn = base_attention
self.filter = filter_model
def forward(self, q, k, v, context_mask=None):
# Pass 1: Standard attention (System 1)
attn_weights = self.attn(q, k, v)
# Identify high-entropy (uncertain) positions
entropy = -torch.sum(attn_weights * torch.log(attn_weights + 1e-9), dim=-1)
uncertain = entropy > self.threshold
# Pass 2: Deliberate re-attention on uncertain positions
if uncertain.any():
filtered_kv = self.filter(k, v, uncertain)
attn_weights[uncertain] = self.attn(q[uncertain], filtered_kv)
return attn_weights
```
### 3. Factual Grounding Validator
```python
def validate_factual_grounding(response: str, facts: list[str]) -> float:
"""Score response grounding in verified facts."""
claims = extract_claims(response)
grounded = sum(1 for c in claims if any(entails(f, c) for f in facts))
return grounded / len(claims) if claims else 1.0
```
## Commands
```bash
# Apply S2A filtering
just s2a-filter context.txt query.txt
# Measure sycophancy reduction
just s2a-sycophancy-test model responses/
# Validate factual grounding
just s2a-grounding response.txt facts.txt
```
## Integration with GF(3) Triads
```
system2-attention (-1) ⊗ causal-inference (0) ⊗ gflownet (+1) = 0 ✓ [Deliberate Search]
system2-attention (-1) ⊗ cognitive-superposition (0) ⊗ forward-forward-learning (+1) = 0 ✓ [Local Validation]
```
## Related Skills
- **causal-inference** (0): Coordinate causal reasoning
- **forward-forward-learning** (+1): Generate local learning signals
- **proofgeneral-narya** (-1): Formal verification baseline
---
**Skill Name**: system2-attention
**Type**: Deliberate Reasoning Validator
**Trit**: -1 (MINUS)
**Color**: #2626D8 (Blue)Related Skills
zx-calculus
Coecke's ZX-calculus for quantum circuit reasoning via string diagrams with Z-spiders (green) and X-spiders (red)
zulip-cogen
Zulip Cogen Skill 🐸⚡
zls-integration
zls-integration skill
zig
zig skill
zig-syrup-bci
Multimodal BCI pipeline in Zig: DSI-24 EEG, fNIRS mBLL, eye tracking IVT, LSL sync, EDF read/write, GF(3) conservation
zig-programming
zig-programming skill
zeroth-bot
Zeroth Bot - 3D-printed open-source humanoid robot platform for sim-to-real and RL research. Affordable entry point for humanoid robotics.
xlsx
Comprehensive spreadsheet creation, editing, and analysis with support
wycheproof
Google's Wycheproof test vectors for cryptographic implementation testing.
Writing Hookify Rules
This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
worldmat-tidar
worldmat-tidar
worlding
Gay.jl world_ pattern: persistent composable state builders with GF(3) conservation, Möbius invertibility, and Narya verification