Content OS

Learning Agent

Proposed — not built. Tier 1 — buildable now

Back to the agent roster · Marketing OS


What it would do

Watches what the team actually queues, dismisses, publishes and edits, and infers what to surface next. The only proposed agent that makes the others improve with use.

Why an agent

Counting events is deterministic. Inferring a pattern"this team ignores regulatory-announcement stories but queues consumer explainers" — is judgment.

What it needs first

An event log of queue / dismiss / publish / edit actions tied to feed items. Does not exist today; this is the bulk of the work.

One slice of this is now built, and it is the shape to copy. Compliance dismissals on blog drafts are generalised into learned exceptions (lib/compliance-exceptions.ts, services/blogs/blog-compliance-learning.ts) — see the compliance agent technical reference. It already holds the three properties this agent's design notes call for:

  • the learned thing is written into the intelligence layer, not a private store;
  • it is a proposal — written unarmed, and it only reaches the agent's prompt after a human arms it;
  • it annotates, never suppresses — the agent is forbidden from dropping a finding an exception covers.

What it does not yet do is the general case: it is one action (dismiss), on one surface (blog drafts), with no event log behind it — only the resulting rule and a seenCount. A real choice-event log is still the bulk of the work.

Roadmap source

Page 6's three ES loops: learn from what we have done · scan competition · scan category — see roadmap_ref_extracted.md.

Design notes and open questions

  • Filter-bubble risk. If it learns you like topic X you stop being shown Y. Needs an exploration floor — a reserved share of the feed the model does not influence.
  • Adjustments must be proposals a human accepts, never silent reweighting, or the feed drifts and nobody can say why.
  • Writes back into the intelligence layer rather than owning a private store.

Subagents

  • Choice reader — what got queued, dismissed, published, edited
  • Performance reader — what happened after publishing
  • Pattern inferrer — what those choices imply about what to surface next
  • Proposal writer — emits adjustments a human accepts, never silent reweighting
  • Exploration guard — protects a reserved share of the feed the model cannot influence, so the loop cannot close into a filter bubble

Stub spec. Expand to the full overview.md + technical.md split (as the three built agents use) when this moves from proposed to scheduled.

Source: roadmap/marketing-os/agents/proposed/learning-agent/README.md