Update q1-cumin-memory/cumin-memory-module.md
هذا الالتزام موجود في:
@@ -1,10 +1,14 @@
|
|||||||
# Q1 — Design a Memory Module for the Cumin Agent
|
# Cumin Agent — Interview Questions
|
||||||
|
|
||||||
|
👉 **Before you start:** sign up and explore our Cumin agent at [os.solidpoint.ai](https://os.solidpoint.ai).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Q1 — Design a Memory Module for the Cumin Agent
|
||||||
|
|
||||||
⏱ **Budget: ~15 minutes** · Weight: 30%
|
⏱ **Budget: ~15 minutes** · Weight: 30%
|
||||||
|
|
||||||
## Context
|
### Context
|
||||||
|
|
||||||
We build agents like **Cumin** — the AI agent that runs inside a compute sandbox. Today Cumin's runtime looks like this:
|
|
||||||
|
|
||||||
| Primitive | Purpose |
|
| Primitive | Purpose |
|
||||||
|---|---|
|
|---|---|
|
||||||
@@ -16,7 +20,7 @@ We build agents like **Cumin** — the AI agent that runs inside a compute sandb
|
|||||||
|
|
||||||
**The gap:** Cumin has no real memory. Between turns it has to re-read its workspace files and skills from scratch. It forgets past conversations, past decisions, and past failures. There is no way to recall *"what did I learn last time I did this?"*
|
**The gap:** Cumin has no real memory. Between turns it has to re-read its workspace files and skills from scratch. It forgets past conversations, past decisions, and past failures. There is no way to recall *"what did I learn last time I did this?"*
|
||||||
|
|
||||||
## Your task
|
### Your task
|
||||||
|
|
||||||
Design a **memory module** for Cumin. Be concrete — we want to see storage choices, retrieval logic, and pseudocode, not hand-waving. Cover:
|
Design a **memory module** for Cumin. Be concrete — we want to see storage choices, retrieval logic, and pseudocode, not hand-waving. Cover:
|
||||||
|
|
||||||
@@ -28,7 +32,7 @@ Design a **memory module** for Cumin. Be concrete — we want to see storage cho
|
|||||||
6. **Agent-loop integration** — pseudocode showing where memory is read/written during a normal turn.
|
6. **Agent-loop integration** — pseudocode showing where memory is read/written during a normal turn.
|
||||||
7. **Failure modes & mitigations** — memory poisoning, staleness, context overflow, leakage between users, etc.
|
7. **Failure modes & mitigations** — memory poisoning, staleness, context overflow, leakage between users, etc.
|
||||||
|
|
||||||
## Deliverable
|
### Deliverable
|
||||||
|
|
||||||
Fill in the template below. Pseudocode blocks should be runnable-in-spirit (correct Python-ish, not perfect).
|
Fill in the template below. Pseudocode blocks should be runnable-in-spirit (correct Python-ish, not perfect).
|
||||||
|
|
||||||
@@ -36,52 +40,25 @@ Fill in the template below. Pseudocode blocks should be runnable-in-spirit (corr
|
|||||||
|
|
||||||
## ANSWER — Cumin Memory Module
|
## ANSWER — Cumin Memory Module
|
||||||
|
|
||||||
### 1. Memory taxonomy
|
|
||||||
|
|
||||||
| Type | What it stores | Example | Approx. size | Retention / TTL |
|
|
||||||
|---|---|---|---|---|
|
|
||||||
| Working | | | | |
|
|
||||||
| Episodic | | | | |
|
|
||||||
| Semantic | | | | |
|
|
||||||
| Procedural | | | | |
|
|
||||||
|
|
||||||
### 2. Storage backends (map to Ghaymah where possible)
|
---
|
||||||
|
|
||||||
| Memory type | Backend | Ghaymah product | Why this choice |
|
## Q2 — General Product Feedback
|
||||||
|---|---|---|---|
|
|
||||||
| Working | | | |
|
|
||||||
| Episodic | | | |
|
|
||||||
| Semantic | | | |
|
|
||||||
| Procedural | | | |
|
|
||||||
|
|
||||||
### 3. Write policy
|
⏱ **Budget: ~10 minutes** · Weight: 15%
|
||||||
|
|
||||||
> _When and what does Cumin write? e.g. after every turn? on task completion? on error?_
|
Now that you've explored Cumin at [os.solidpoint.ai](https://os.solidpoint.ai), give us your honest, concrete feedback.
|
||||||
|
|
||||||
### 4. Read / retrieval policy
|
### Your task
|
||||||
|
|
||||||
> _How does Cumin decide what to recall? Give a ranking/scoring approach._
|
1. **What works well** — what would make you keep using it?
|
||||||
|
2. **What's broken or confusing** — bugs, UX friction, missing features.
|
||||||
|
3. **What's missing** — the one capability that would most change how you use it.
|
||||||
|
4. **Positioning** — who is this *really* for, and how should we talk about it?
|
||||||
|
|
||||||
### 5. Memory API (pseudocode)
|
### Deliverable
|
||||||
|
|
||||||
```python
|
Free-form, but be specific. Reference actual moments from using the product where possible.
|
||||||
# write your pseudocode here
|
|
||||||
```
|
|
||||||
|
|
||||||
### 6. Agent-loop integration (pseudocode)
|
> _Write your feedback here_
|
||||||
|
|
||||||
```python
|
|
||||||
# show a single Cumin turn: recall -> act -> write
|
|
||||||
```
|
|
||||||
|
|
||||||
### 7. Failure modes & mitigations
|
|
||||||
|
|
||||||
| Failure mode | Mitigation |
|
|
||||||
|---|---|
|
|
||||||
| | |
|
|
||||||
| | |
|
|
||||||
| | |
|
|
||||||
|
|
||||||
### 8. (Bonus) Compaction
|
|
||||||
|
|
||||||
> _Over time, episodic memory grows unbounded. How do you summarize/compact it?_
|
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم