Memory, Feedback, Adaptation, Capability: Stop Calling All of It ‘Learning’
An incident review opens with: “the agent learned that customers prefer shorter replies.” Nobody can say whether that means a stored preference, a thumbs-up signal, a silent prompt rewrite, or a capability score that changed routing. Four different mutations. One vague verb. The auditor leaves with a shrug and a finding.
If you cannot name what changed, you cannot govern it. HUMΛN’s HumanOS orchestration canon keeps four terms distinct—memory, feedback, adaptation, capability update—so operators can refuse the smear of “it just learned.”
Vocabulary is governance
| Term | Means |
|---|---|
| Memory | What you can retrieve later — scoped, policy-bounded storage. |
| Feedback | Signals from outcomes — thumbs-up, rejections, operator notes — append-only evidence. |
| Adaptation | Behavior change driven by memory + feedback under rules (proposals, approval, apply). |
| Capability update | What the system believes about quality / routing — evidenced, not vibes. |
Collapsing these into “learning” is how teams ship ungoverned systems. It is also how Monday’s postmortem fails: you cannot roll back what you never named.
Where the API reflects the split
HumanOS exposes the seams explicitly:
- Feedback (evidence):
POST /v1/humanos/feedback/eventswith a registeredpayload_type; list withGET /v1/humanos/feedback/events(cursor pagination). - Adaptation (governed):
POST /v1/humanos/learning/proposals→ lifecycle viaPATCH /v1/humanos/learning/proposals/:proposal_id→POST …/apply(writeshumanos_tuning_actionswhen approved). - Inspectability:
GET /v1/humanos/policy/effectiveexposes the mergedlearningenvelope—what is allowed before you mutate.
Capability Graph stays the place where quality claims must be evidenced. Feedback can inform a capability update; it does not silently rewrite a node.
SDK entry points (same paths)
@human/client-sdk:
await client.humanos.recordFeedbackEvent({
payload_type: 'accepted',
scope: 'user',
});
await client.humanos.listLearningProposals({ status: 'draft' });
@human/sdk: use client.humanosLearning (recordFeedbackEvent, createLearningProposal, …).
Scroll-stopper: If everything is “learning,” nothing is auditable—and nothing is safe to undo.
So that…
…you can record a signal without changing behavior, propose an adaptation without smuggling it into memory, and update a capability only when evidence exists. Refuse vendors who sell “self-learning agents” without naming which of the four they mean.
Go deeper
- Product: Capability Graph, HumanOS
- Docs: Capability Graph concepts, HumanOS concepts
- Community: Agents should learn—but not like this, Learning belongs in the OS, Rollback and tuning
Series: Part 2 of 6 — Learning & Adaptation · Part 3 — Why the OS should own it
Learning & Adaptation — Part 2 of 6