Update Operations
The SkillManager communicates changes to the skillbook through update operations. Each operation is a structured instruction to modify the skillbook in a specific way.
Operation Types
| Type | Description | Required Fields |
|---|---|---|
ADD | Create a new skill | section, content |
UPDATE | Modify an existing skill's content | skill_id, content |
TAG | Record a skill as helpful, harmful, or neutral | skill_id, tag |
REMOVE | Delete a skill from the skillbook | skill_id |
Examples
ADD
Adds a new strategy learned from experience:
{
"type": "ADD",
"section": "Math Strategies",
"content": "Break complex problems into smaller steps before computing"
}
UPDATE
Refines an existing strategy:
{
"type": "UPDATE",
"skill_id": "math-00001",
"content": "Break complex problems into smaller steps. Verify each step before proceeding."
}
TAG
Records whether a strategy helped or hurt:
{
"type": "TAG",
"skill_id": "math-00001",
"tag": "helpful"
}
Tags are one of: helpful, harmful, neutral.
REMOVE
Prunes a strategy that is consistently harmful:
{
"type": "REMOVE",
"skill_id": "math-00003"
}
Update Batches
The SkillManager emits operations as an UpdateBatch — one or more operations applied atomically:
from ace import UpdateOperation, UpdateBatch
batch = UpdateBatch(operations=[
UpdateOperation(type="ADD", section="Debugging", content="Log inputs before errors"),
UpdateOperation(type="TAG", skill_id="debug-00001", tag="helpful"),
])
skillbook.apply_update(batch)
In batch reflection mode, ADD and UPDATE operations may also include
reflection_index to indicate which reflection in the input tuple primarily
produced the operation.
When an operation is synthesized from multiple reflections, it may instead use
reflection_indices to list all contributing reflections. This lets downstream
provenance attach multiple trace sources to one learned skill.
How Updates Flow
Agent cites skill_ids --> Reflector tags them --> SkillManager emits ADD/UPDATE/REMOVE
- The Agent cites skill IDs it used in its reasoning
- The Reflector classifies each cited skill as helpful/harmful/neutral (TAG operations)
- The SkillManager may also ADD new strategies or UPDATE/REMOVE existing ones based on the reflection
What to Read Next
- The Skillbook — where operations are applied
- Three Roles — which role emits which operations