- Architecture comparison (OpenClaw daemon vs AgentCore serverless) - Component compatibility analysis - Fargate analysis - AgentCore rebuild plan (Telegram, zero always-on compute) - Memory strategy: AgentCore Memory + factbase as structured KB - Serverless relay patterns per channel - All open questions resolved - OpenClaw feature delta March→May 2026 - Build phases and cost estimates
111 lines
6.5 KiB
Markdown
111 lines
6.5 KiB
Markdown
# OpenClaw Feature Delta: March 2026 → May 2026
|
|
|
|
*Covers releases 2026.3.7 through 2026.5.3 (current)*
|
|
*Research baseline was 2026.3.2*
|
|
|
|
---
|
|
|
|
## Features That Change the AgentCore Comparison
|
|
|
|
### 🔴 New features we'd need to replicate — not trivial
|
|
|
|
**Agents/Commitments** (2026.4.29)
|
|
New opt-in system where the agent infers follow-up commitments from conversations and delivers them via heartbeat. Config: `commitments.enabled`, `commitments.maxPerDay`. Commitments are extracted in a background sub-agent, stored with due times, and surfaced at the next appropriate heartbeat.
|
|
|
|
This is NEW OpenClaw behavior that our AgentCore build doesn't account for. We'd need:
|
|
- A "commitment extractor" pass after each conversation (similar to long-term memory extraction)
|
|
- Storage for commitments with due times (DynamoDB)
|
|
- Heartbeat Lambda checks due commitments and delivers them
|
|
|
|
**Memory → People Wiki** (2026.4.29)
|
|
OpenClaw's memory system has grown significantly: canonical people aliases, person cards, relationship graphs, privacy/provenance reports, evidence-kind drilldown. This is well beyond what we analyzed as "MEMORY.md replacement." The agent now has a structured knowledge graph about people and relationships.
|
|
|
|
AgentCore Memory's built-in strategies (SUMMARIZATION, USER_PREFERENCE, SEMANTIC) don't have a direct equivalent. This is a gap — OpenClaw's memory is now substantially more sophisticated.
|
|
|
|
**REM Dreaming** (2026.4.29)
|
|
Referenced in the `doctor.memory.remHarness` RPC — OpenClaw now has a "REM" background consolidation pass that synthesizes and reorganizes memories asynchronously. Similar to our planned "self-managed memory strategy" but built-in and richer.
|
|
|
|
No direct AgentCore Memory equivalent. Would need custom Lambda + BatchCreateMemoryRecords.
|
|
|
|
**Active Memory / Partial Recall** (2026.4.29)
|
|
- Per-conversation `allowedChatIds`/`deniedChatIds` filters for memory recall
|
|
- Returns partial recall results on timeout instead of failing closed
|
|
|
|
AgentCore Memory doesn't have conversation-scoped recall filters. Retrieving memories without a filter would return everything, not just conversation-relevant context.
|
|
|
|
---
|
|
|
|
### 🟡 Design decisions our build should incorporate
|
|
|
|
**Streaming Progress Drafts** (2026.5.3)
|
|
`streaming.mode: "progress"` — live draft messages across all channels (Discord, Telegram, Matrix, Slack, Teams) that update in-place as the agent processes. In Telegram, this means an editing message that shows progress without spamming new messages.
|
|
|
|
**Directly relevant to our Telegram build.** Instead of the "typing indicator" hack (which expires in 5s), we can send an initial "thinking..." message and edit it in-place with progress, then finalize. Much cleaner UX. We should implement this from day one.
|
|
|
|
**`sessions_yield`** (2026.3.12)
|
|
New tool: orchestrators can end the current turn immediately and carry a hidden payload into the next session turn. Enables cleaner multi-agent hand-offs.
|
|
|
|
For our AgentCore build: this would be handled differently (sub-agent via A2A), but the pattern is worth knowing.
|
|
|
|
**Queue Mode: steer is now default** (2026.4.29)
|
|
Active-run queueing now defaults to `steer` with 500ms debounce. This means multiple rapid messages don't queue sequentially — later messages "steer" the current run. The SQS batching approach we designed (bundle all queued messages at once) is aligned with this.
|
|
|
|
**`/steer` command** (2026.5.3)
|
|
Explicit steering of active session runs without starting a new turn when idle. Our architecture handles this naturally through SQS FIFO batching.
|
|
|
|
**ACP: resumeSessionId** (2026.3.11)
|
|
`sessions_spawn` with `runtime: "acp"` can now resume existing sessions. Relevant if the AgentCore build eventually spawns coding agents.
|
|
|
|
---
|
|
|
|
### 🟢 Improvements to existing features (no gap impact)
|
|
|
|
**Multimodal memory indexing** (2026.3.11)
|
|
Image and audio indexing for memory search with Gemini embedding. OpenClaw-only feature (uses local embedding + Gemini). AgentCore Memory handles multimodal separately via AgentCore Browser/Code Interpreter context.
|
|
|
|
**Dashboard v2** (2026.3.12)
|
|
Control UI overhaul: modular overview, chat, config, agent, and session views, command palette, mobile bottom tabs. Not relevant to AgentCore build (we won't have the OpenClaw Control UI).
|
|
|
|
**SQLite plugin state store** (2026.4.29)
|
|
Restart-safe keyed registries with TTL for plugins. Analogous to DynamoDB in our AgentCore build.
|
|
|
|
**Bedrock Opus 4.7 thinking** (2026.4.29)
|
|
Now available. Update model selection in the build plan — Opus 4.7 with thinking is an option.
|
|
|
|
**Telegram improvements** (2026.3.12, 2026.4.29, 2026.5.3)
|
|
- Model picker via inline buttons
|
|
- Chunking improvements
|
|
- Proxy/webhook/polling resilience
|
|
These are bug fixes in OpenClaw's Telegram channel; our build avoids these by using the simpler Telegram Bot API directly.
|
|
|
|
---
|
|
|
|
## Updated Gap Assessment
|
|
|
|
| Feature | OpenClaw (now) | AgentCore Build Plan | Gap |
|
|
|---|---|---|---|
|
|
| Streaming progress | ✅ Live draft edits | ❌ Not planned | Add Telegram edit-in-place |
|
|
| Commitments | ✅ Background extraction + heartbeat | ❌ Not designed | Medium effort to add |
|
|
| People wiki | ✅ Structured knowledge graph | ❌ Flat memories only | Significant gap |
|
|
| REM dreaming | ✅ Background consolidation | ❌ Built-in strategies only | Partial via built-ins |
|
|
| Memory filters | ✅ Per-conversation recall | ❌ Global retrieval | Small gap |
|
|
| Multimodal memory | ✅ Images + audio | ❌ N/A | Lower priority |
|
|
| Queue/steer default | ✅ Built-in | ✅ SQS FIFO batching | Equivalent |
|
|
| sessions_yield | ✅ Built-in | ✅ A2A equivalent | Equivalent |
|
|
|
|
---
|
|
|
|
## Recommendations for Build Plan Updates
|
|
|
|
1. **Add streaming progress to Phase 1** — don't defer this. In Telegram: send initial "⏳ thinking..." message, edit it with progress updates, replace with final answer. Better UX than typing indicator. OpenClaw ships this by default now.
|
|
|
|
2. **Add commitments to Phase 3 scope** — extract from conversations, store in DynamoDB with due_at, check in heartbeat Lambda, deliver if overdue. Simple but valuable.
|
|
|
|
3. **Acknowledge the memory gap** — OpenClaw's memory is now a full people-knowledge-graph system. AgentCore Memory's built-in strategies (SUMMARIZATION, USER_PREFERENCE, SEMANTIC) cover the basics but not the people wiki or REM dreaming depth. This is a real differentiation. The AgentCore build starts simpler — that's OK for a personal assistant, but worth calling out.
|
|
|
|
4. **Update model options** — Bedrock Opus 4.7 with thinking is now available. Consider for complex tasks.
|
|
|
|
---
|
|
|
|
*Updated 2026-05-04. Covers delta from v2026.3.2 → v2026.5.3.*
|