eve-agent-memory

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Eve Agent Memory

Eve Agent 内存

Agents on Eve Horizon have no built-in "memory" primitive, but the platform provides storage systems at every timescale. This skill teaches how to compose them into coherent memory for agents that learn, remember, and share.
Eve Horizon上的Agent没有内置的「内存」原语,但平台提供了适用于所有时间尺度的存储系统。本技能将讲解如何将这些存储系统组合成连贯的内存,让Agent能够学习、记忆和共享知识。

The Memory Problem

内存问题

Every agent starts cold. Without deliberate memory design, agents:
  • Re-discover the same facts on every job.
  • Lose context when jobs end.
  • Cannot share learned knowledge with sibling agents.
  • Accumulate stale information with no expiry.
Solve this by mapping what to remember to where to store it, using the right primitive for each timescale.
每个Agent初始状态都是空白的。如果没有刻意的内存设计,Agent会:
  • 在每次任务中重复发现相同的事实。
  • 任务结束后丢失上下文。
  • 无法与其他同类Agent共享学到的知识。
  • 积累没有过期机制的陈旧信息。
通过将「需要记忆的内容」映射到「存储位置」,为每个时间尺度选择合适的原语,就能解决这些问题。

Storage Primitives by Timescale

按时间尺度划分的存储原语

Short-Term (within a job)

短期(单任务内)

Workspace files — the git repo checkout available during job execution.
bash
undefined
工作区文件——任务执行期间可用的Git仓库检出目录。
bash
undefined

Workspace is at $EVE_REPO_PATH

工作区路径为 $EVE_REPO_PATH

Write working state to .eve/ (gitignored by convention)

将工作状态写入 .eve/(按约定被Git忽略)

echo '{"findings": [...]}' > .eve/agent-scratch.json
echo '{"findings": [...]}' > .eve/agent-scratch.json

Workspace modes control sharing:

工作区模式控制共享方式:

job — fresh checkout per job (default)

job — 每个任务全新检出(默认)

session — shared across jobs in a session

session — 会话内的任务共享

isolated — no git state, pure scratch

isolated — 无Git状态,纯临时空间

eve job create --workspace-mode session --workspace-key "auth-sprint"

Use for: scratch notes, intermediate results, coordination inbox files. Ephemeral by design — workspace state does not survive the job unless committed to git or saved elsewhere.

**Coordination inbox** — `.eve/coordination-inbox.md` is auto-generated from coordination thread messages at job start. Read it for sibling status without API calls.

**Agent KV Store** — lightweight operational state with optional TTL. Use for: feature flags, rate counters, agent state machines, deduplication keys. Namespace-partitioned.

```bash
eve job create --workspace-mode session --workspace-key "auth-sprint"

适用场景:临时笔记、中间结果、协作收件箱文件。设计为临时存储——工作区状态除非提交到Git或保存到其他位置,否则不会在任务结束后保留。

**协作收件箱**——`.eve/coordination-inbox.md`会在任务启动时自动从协作线程消息生成。无需调用API即可读取同类Agent的状态。

**Agent KV Store**——轻量级可设置TTL的运行状态存储。适用场景:功能开关、速率计数器、Agent状态机、去重键。按命名空间分区。

```bash

Set a KV value with TTL

设置带TTL的KV值

eve kv set --org $ORG_ID --agent $AGENT_SLUG --key "pr-123-status" --value '{"phase":"review"}' --namespace workflow --ttl 86400
eve kv set --org $ORG_ID --agent $AGENT_SLUG --key "pr-123-status" --value '{"phase":"review"}' --namespace workflow --ttl 86400

Get a KV value

获取KV值

eve kv get --org $ORG_ID --agent $AGENT_SLUG --key "pr-123-status" --namespace workflow
eve kv get --org $ORG_ID --agent $AGENT_SLUG --key "pr-123-status" --namespace workflow

List keys in a namespace

列出命名空间内的所有键

eve kv list --org $ORG_ID --agent $AGENT_SLUG --namespace workflow
eve kv list --org $ORG_ID --agent $AGENT_SLUG --namespace workflow

Batch get multiple keys

批量获取多个键

eve kv mget --org $ORG_ID --agent $AGENT_SLUG --keys "pr-123-status,pr-456-status" --namespace workflow
eve kv mget --org $ORG_ID --agent $AGENT_SLUG --keys "pr-123-status,pr-456-status" --namespace workflow

Delete a key

删除键

eve kv delete --org $ORG_ID --agent $AGENT_SLUG --key "pr-123-status" --namespace workflow
undefined
eve kv delete --org $ORG_ID --agent $AGENT_SLUG --key "pr-123-status" --namespace workflow
undefined

Medium-Term (across jobs within a project)

中期(项目内跨任务)

Job attachments — named key-value pairs attached to any job. Survive after job completion.
bash
undefined
任务附件——附加到任意任务的命名键值对。任务完成后仍会保留。
bash
undefined

Store findings

存储发现结果

eve job attach $EVE_JOB_ID --name findings.json --content '{"patterns": [...]}' eve job attach $EVE_JOB_ID --name summary.md --file ./analysis-summary.md
eve job attach $EVE_JOB_ID --name findings.json --content '{"patterns": [...]}' eve job attach $EVE_JOB_ID --name summary.md --file ./analysis-summary.md

Retrieve from any job (including parent/child)

从任意任务(包括父/子任务)检索附件

eve job attachment $PARENT_JOB_ID findings.json --out ./prior-findings.json eve job attachments $JOB_ID # list all

Use for: job outputs, decision records, analysis results. Attached to a specific job, so retrievable by job ID. Good for passing structured data between parent and child jobs.

**Threads** — message sequences with continuity across sessions.

```bash
eve job attachment $PARENT_JOB_ID findings.json --out ./prior-findings.json eve job attachments $JOB_ID # 列出所有附件

适用场景:任务输出、决策记录、分析结果。附加到特定任务,可通过任务ID检索。适合在父任务和子任务之间传递结构化数据。

**线程**——跨会话保持连续性的消息序列。

```bash

Project threads maintain chat context

项目线程保留聊天上下文

eve thread messages $THREAD_ID --since 1h
eve thread messages $THREAD_ID --since 1h

Coordination threads connect parent/child agents

协作线程连接父/子Agent

eve thread post $COORD_THREAD_ID --body '{"kind":"update","body":"Found 3 auth issues"}' eve thread follow $COORD_THREAD_ID # poll for sibling updates

Use for: inter-agent communication, rolling context, coordination. Thread summaries provide compressed history. Coordination threads (`coord:job:{parent_job_id}`) are auto-created for team dispatches.

**Thread Distillation** — convert thread conversations into memory docs or org docs. Use for: preserving valuable discussion outcomes as searchable knowledge.

```bash
eve thread distill $THREAD_ID --org $ORG_ID --agent reviewer --category learnings --key "auth-discussion-findings"
Resource refs — versioned pointers to org documents, mounted into job workspaces.
bash
eve job create \
  --description "Review the approved plan" \
  --resource-refs='[{"uri":"org_docs:/pm/features/FEAT-123.md@v3","label":"Plan","mount_path":"pm/plan.md"}]'
Use for: pinning specific document versions as job inputs. The referenced document is hydrated into the workspace at the specified mount path. Events track hydration success/failure.
eve thread post $COORD_THREAD_ID --body '{"kind":"update","body":"Found 3 auth issues"}' eve thread follow $COORD_THREAD_ID # 轮询同类Agent的更新

适用场景:Agent间通信、滚动上下文、协作协调。线程摘要提供压缩的历史记录。协作线程(`coord:job:{parent_job_id}`)会为团队调度自动创建。

**线程提炼**——将线程对话转换为内存文档或组织文档。适用场景:将有价值的讨论结果保存为可搜索的知识。

```bash
eve thread distill $THREAD_ID --org $ORG_ID --agent reviewer --category learnings --key "auth-discussion-findings"
资源引用——指向组织文档的版本化指针,挂载到任务工作区。
bash
eve job create \
  --description "Review the approved plan" \
  --resource-refs='[{"uri":"org_docs:/pm/features/FEAT-123.md@v3","label":"Plan","mount_path":"pm/plan.md"}]'
适用场景:将特定版本的文档固定为任务输入。引用的文档会被加载到工作区指定的挂载路径。事件会跟踪加载的成功/失败状态。

Long-Term (across projects, persistent)

长期(跨项目、持久化)

Org Document Store — versioned documents scoped to the organization.
bash
undefined
组织文档存储——组织级别的版本化文档。
bash
undefined

Store knowledge

存储知识

eve docs write --org $ORG_ID --path /agents/learnings/auth-patterns.md --file ./auth-patterns.md
eve docs write --org $ORG_ID --path /agents/learnings/auth-patterns.md --file ./auth-patterns.md

Retrieve

检索文档

eve docs read --org $ORG_ID --path /agents/learnings/auth-patterns.md eve docs list --org $ORG_ID --prefix /agents/learnings/
eve docs read --org $ORG_ID --path /agents/learnings/auth-patterns.md eve docs list --org $ORG_ID --prefix /agents/learnings/

Search

搜索文档

eve docs search --org $ORG_ID --query "authentication retry"

Use for: curated knowledge, decision logs, learned patterns. Versioned (every update creates a new version). Emits `system.doc.created/updated/deleted` events on the event spine. Best for knowledge that is reviewed, refined, and shared.

**Agent Memory Namespaces** — curated knowledge stored as org docs with agent-scoped path conventions. Categories: `learnings`, `decisions`, `runbooks`, `context`, `conventions`. Supports confidence scores, tags, review dates, and expiration. Use for: accumulated expertise, decision logs, operational runbooks.

```bash
eve docs search --org $ORG_ID --query "authentication retry"

适用场景:精选知识、决策日志、已学习的模式。支持版本控制(每次更新都会创建新版本)。在事件总线触发`system.doc.created/updated/deleted`事件。最适合经过审核、优化和共享的知识。

**Agent内存命名空间**——按照Agent作用域路径约定存储为组织文档的精选知识。分类包括:`learnings`、`decisions`、`runbooks`、`context`、`conventions`。支持置信度评分、标签、审核日期和过期时间。适用场景:积累的专业知识、决策日志、操作手册。

```bash

Store a memory entry

存储内存条目

eve memory set --org $ORG_ID --agent reviewer --category learnings --key "auth-retry-patterns"
--content "Always use exponential backoff..." --confidence 0.9 --tags "auth,reliability" --review-in 30d
eve memory set --org $ORG_ID --agent reviewer --category learnings --key "auth-retry-patterns"
--content "Always use exponential backoff..." --confidence 0.9 --tags "auth,reliability" --review-in 30d

Get a memory entry

获取内存条目

eve memory get --org $ORG_ID --agent reviewer --key "auth-retry-patterns" --category learnings
eve memory get --org $ORG_ID --agent reviewer --key "auth-retry-patterns" --category learnings

List entries

列出内存条目

eve memory list --org $ORG_ID --agent reviewer --category learnings --limit 20
eve memory list --org $ORG_ID --agent reviewer --category learnings --limit 20

Delete an entry

删除内存条目

eve memory delete --org $ORG_ID --agent reviewer --category learnings --key "auth-retry-patterns"
eve memory delete --org $ORG_ID --agent reviewer --category learnings --key "auth-retry-patterns"

Search across memory (all agents or specific)

跨内存搜索(所有Agent或特定Agent)

eve memory search --org $ORG_ID --query "auth retry patterns" --agent reviewer --limit 10

Namespace convention: `/agents/{slug}/memory/{category}/{key}.md` or `/agents/shared/memory/...`

**Org Filesystem** — shared per-org file storage mounted at `.org/` in agent workspaces and synced to local machines.

```bash
eve memory search --org $ORG_ID --query "auth retry patterns" --agent reviewer --limit 10

命名空间约定:`/agents/{slug}/memory/{category}/{key}.md` 或 `/agents/shared/memory/...`

**组织文件系统**——组织级共享文件存储,挂载到Agent工作区的`.org/`目录,并同步到本地机器。

```bash

Agents access .org/ directly in their workspace (all execution paths)

Agent可直接在工作区访问.org/(所有执行路径)

ls .org/ # browse org files cat .org/shared/runbook.md # read shared knowledge echo "new finding" >> .org/agents/reviewer/notes.md # write agent-scoped files
ls .org/ # 浏览组织文件 cat .org/shared/runbook.md # 读取共享知识 echo "new finding" >> .org/agents/reviewer/notes.md # 写入Agent作用域文件

Developers sync to local machines

开发者同步到本地机器

eve fs sync init --org $ORG_ID --local ~/Eve/acme --mode two-way eve fs sync status --org $ORG_ID eve fs sync logs --org $ORG_ID --follow

Use for: large knowledge bases, design assets, documentation trees. Agents see `.org/` in their workspace regardless of execution path (agent-runtime or worker). Markdown-first defaults. Event-driven notifications (`file.created/updated/deleted`). Best for knowledge that lives as a file tree and benefits from both agent and human editing.

**Skills and Skillpacks** — distilled patterns packaged for reuse.

Use for: encoding recurring workflows and hard-won knowledge as reusable instructions. When an agent discovers a pattern worth preserving, distill it into a skill (see `eve-skill-distillation`). Skills are the highest-fidelity form of long-term memory — they don't just store information, they teach how to use it.

**Managed databases** — environment-scoped Postgres instances with agent-accessible SQL.

```bash
eve db sql --env $ENV --sql "SELECT key, value FROM agent_memory WHERE agent_id = 'reviewer' AND expires_at > NOW()"
eve db sql --env $ENV --sql "INSERT INTO agent_memory (agent_id, key, value) VALUES ('reviewer', 'last_review', '...')" --write
Use for: structured queries, relationship data, anything that benefits from SQL. Requires schema setup via migrations. Use
eve db rls init --with-groups
for access-controlled agent memory tables.
eve fs sync init --org $ORG_ID --local ~/Eve/acme --mode two-way eve fs sync status --org $ORG_ID eve fs sync logs --org $ORG_ID --follow

适用场景:大型知识库、设计资产、文档树。无论执行路径是Agent运行时还是工作节点,Agent都能在工作区看到`.org/`目录。默认优先支持Markdown。事件驱动通知(`file.created/updated/deleted`)。最适合以文件树形式存在、同时需要Agent和人工编辑的知识。

**技能与技能包**——打包为可重用形式的提炼模式。

适用场景:将重复工作流和来之不易的知识编码为可重用的指令。当Agent发现值得保留的模式时,将其提炼为技能(参考`eve-skill-distillation`)。技能是长期内存的最高保真形式——它们不仅存储信息,还教授如何使用信息。

**托管数据库**——环境级Postgres实例,Agent可通过SQL访问。

```bash
eve db sql --env $ENV --sql "SELECT key, value FROM agent_memory WHERE agent_id = 'reviewer' AND expires_at > NOW()"
eve db sql --env $ENV --sql "INSERT INTO agent_memory (agent_id, key, value) VALUES ('reviewer', 'last_review', '...')" --write
适用场景:结构化查询、关系型数据、任何适合用SQL处理的内容。需要通过迁移设置表结构。使用
eve db rls init --with-groups
实现访问控制的Agent内存表。

Shared (coordination across agents)

共享(Agent间协作)

Org threads — org-scoped message sequences for cross-project coordination.
bash
eve thread list --org $ORG_ID
eve thread post $ORG_THREAD_ID --body '{"kind":"directive","body":"All agents: use new auth pattern"}'
Event spine — pub/sub event bus for reactive workflows.
bash
eve event emit --type=agent.memory.updated --source=app --payload '{"agent":"reviewer","key":"patterns"}'
eve event list --type agent.memory.*
Use for: broadcasting knowledge updates, triggering reactive workflows when memory changes.
Unified Search — single query across memory, docs, threads, attachments, events. Use for: finding relevant prior knowledge before starting work.
bash
eve search --org $ORG_ID --query "auth retry patterns" --sources memory,docs,threads --limit 10 --agent reviewer
组织线程——组织级消息序列,用于跨项目协作。
bash
eve thread list --org $ORG_ID
eve thread post $ORG_THREAD_ID --body '{"kind":"directive","body":"All agents: use new auth pattern"}'
事件总线——用于响应式工作流的发布/订阅事件总线。
bash
eve event emit --type=agent.memory.updated --source=app --payload '{"agent":"reviewer","key":"patterns"}'
eve event list --type agent.memory.*
适用场景:广播知识更新、内存变化时触发响应式工作流。
统一搜索——跨内存、文档、线程、附件、事件的单一查询入口。适用场景:开始工作前查找相关的历史知识。
bash
eve search --org $ORG_ID --query "auth retry patterns" --sources memory,docs,threads --limit 10 --agent reviewer

Memory Patterns

内存模式

Pattern 1: Job-Scoped Scratch

模式1:任务级临时存储

The simplest pattern. Write working state to workspace files during execution. Nothing survives the job.
Job starts → read inputs → write .eve/scratch.json → process → complete
When to use: single-job tasks with no memory requirement.
最简单的模式。执行期间将工作状态写入工作区文件。任务结束后无任何内容保留。
任务启动 → 读取输入 → 写入.eve/scratch.json → 处理 → 完成
适用场景:无内存需求的单任务工作。

Pattern 2: Parent-Child Knowledge Passing

模式2:父-子任务知识传递

Pass knowledge between orchestrator and workers using attachments and threads.
Parent creates children with resource-refs →
Children execute, attach findings →
Parent resumes, reads child attachments →
Parent synthesizes into final output
bash
undefined
使用附件和线程在编排器和工作节点之间传递知识。
父任务创建带资源引用的子任务 →
子任务执行,附加发现结果 →
父任务恢复,读取子任务附件 →
父任务合成为最终输出
bash
undefined

Child stores its findings

子任务存储发现结果

eve job attach $EVE_JOB_ID --name findings.json --content "$FINDINGS"
eve job attach $EVE_JOB_ID --name findings.json --content "$FINDINGS"

Parent reads child findings on resume

父任务恢复时读取子任务结果

for child_id in $CHILD_IDS; do eve job attachment $child_id findings.json --out ./child-${child_id}.json done

When to use: orchestrated work where children discover information the parent needs.
for child_id in $CHILD_IDS; do eve job attachment $child_id findings.json --out ./child-${child_id}.json done

适用场景:编排式工作,子任务发现的信息需要被父任务使用。

Pattern 3: Org Knowledge Base

模式3:组织知识库

Build persistent, searchable knowledge that survives across projects and time.
Agent discovers pattern →
Check if existing doc covers it (eve docs search) →
  If yes: update with new information (eve docs write)
  If no: create new document (eve docs write) →
Emit event for other agents (eve event emit)
Namespace convention for agent-maintained docs:
/agents/{agent-slug}/learnings/     — patterns and discoveries
/agents/{agent-slug}/decisions/     — decision records with rationale
/agents/{agent-slug}/runbooks/      — operational procedures
/agents/shared/                     — cross-agent shared knowledge
When to use: knowledge that accumulates over time and should be available to any agent in the org.
构建跨项目、跨时间的持久化可搜索知识库。
Agent发现模式 →
检查现有文档是否覆盖该模式(eve docs search) →
  如果存在:用新信息更新文档(eve docs write)
  如果不存在:创建新文档(eve docs write) →
向其他Agent发送事件通知(eve event emit)
Agent维护文档的命名空间约定:
/agents/{agent-slug}/learnings/     — 模式与发现结果
/agents/{agent-slug}/decisions/     — 带理由的决策记录
/agents/{agent-slug}/runbooks/      — 操作流程
/agents/shared/                     — Agent间共享知识
适用场景:随时间积累、需要提供给组织内所有Agent使用的知识。

Pattern 4: Memory-Augmented Job Start

模式4:内存增强型任务启动

Combine primitives to give an agent relevant context at the start of every job.
Job starts →
Read coordination inbox (.eve/coordination-inbox.md) →
Query org docs for relevant prior knowledge (eve docs search) →
Check parent/sibling attachments for recent findings →
Proceed with enriched context
bash
undefined
组合多种原语,让Agent在每次任务启动时获得相关上下文。
任务启动 →
读取协作收件箱(.eve/coordination-inbox.md) →
查询组织文档获取相关历史知识(eve docs search) →
检查父/同类任务附件获取最新发现 →
基于增强后的上下文继续执行
bash
undefined

Startup sequence

启动序列

cat .eve/coordination-inbox.md 2>/dev/null # sibling context ls .org/ 2>/dev/null # org filesystem (shared files) eve docs search --org $ORG_ID --query "$JOB_DESCRIPTION_KEYWORDS" # prior knowledge eve job attachments $PARENT_JOB_ID # parent context

When to use: any agent that benefits from remembering what happened before.
cat .eve/coordination-inbox.md 2>/dev/null # 同类Agent上下文 ls .org/ 2>/dev/null # 组织文件系统(共享文件) eve docs search --org $ORG_ID --query "$JOB_DESCRIPTION_KEYWORDS" # 历史知识 eve job attachments $PARENT_JOB_ID # 父任务上下文

适用场景:任何需要记住之前发生过什么的Agent。

Pattern 5: Search-Before-Write

模式5:写前搜索

Search existing knowledge before creating new docs.
eve search --org $ORG_ID --query "auth retry patterns" --sources memory,docs →
  If relevant result exists: read and update it
  If no result: create new memory doc
When to use: any agent that creates knowledge documents. Prevents duplication.
创建新文档前先搜索现有知识。
eve search --org $ORG_ID --query "auth retry patterns" --sources memory,docs →
  如果存在相关结果:读取并更新
  如果无结果:创建新内存文档
适用场景:任何创建知识文档的Agent。避免重复内容。

Pattern 6: KV State Machine

模式6:KV状态机

Use KV store to track multi-step agent workflows.
eve kv set --org $ORG_ID --agent reviewer --namespace workflow --key "pr-123" --value '{"phase":"review","started":"..."}' --ttl 86400
When to use: tracking step-by-step progress in multi-phase jobs where state must survive brief interruptions but not forever.
使用KV存储跟踪多步骤Agent工作流。
eve kv set --org $ORG_ID --agent reviewer --namespace workflow --key "pr-123" --value '{"phase":"review","started":"..."}' --ttl 86400
适用场景:跟踪多阶段任务的分步进度,状态需要在短暂中断后保留但无需永久存储。

Pattern 7: Thread-to-Knowledge Pipeline

模式7:线程转知识流水线

Distill valuable thread conversations into searchable memory.
eve thread distill $THREAD_ID --org $ORG_ID --agent reviewer --category learnings --key "auth-discussion-findings"
When to use: after a thread produces knowledge worth preserving beyond the conversation.
将有价值的线程对话提炼为可搜索的内存。
eve thread distill $THREAD_ID --org $ORG_ID --agent reviewer --category learnings --key "auth-discussion-findings"
适用场景:线程产生了值得在对话之外保留的知识之后。

Choosing the Right Primitive

选择合适的原语

QuestionAnswer → Primitive
Need it only during this job?Workspace files
Need lightweight state with TTL?Agent KV Store
Need to pass data to parent/children?Job attachments
Need rolling conversation context?Threads
Need to distill a conversation into knowledge?Thread distillation → Agent Memory
Need curated, categorized agent knowledge?Agent Memory Namespaces
Need versioned, searchable documents?Org Document Store
Need shared files across agents in the org?Org Filesystem (
.org/
mount)
Need file-tree sync with local editing?Org Filesystem (CLI sync)
Need app-scoped binary/object storage?Object Store (manifest)
Need structured queries (SQL)?Managed database
Need to encode a reusable workflow?Skills
Need reactive notifications?Event spine
Need to search across everything?Unified Search
问题答案 → 原语
仅在本次任务中需要?工作区文件
需要带TTL的轻量级状态?Agent KV Store
需要向父/子任务传递数据?任务附件
需要滚动对话上下文?线程
需要将对话提炼为知识?线程提炼 → Agent内存
需要分类整理的Agent精选知识?Agent内存命名空间
需要版本化可搜索文档?组织文档存储
需要组织内Agent共享文件?组织文件系统(
.org/
挂载)
需要文件树同步与本地编辑?组织文件系统(CLI同步)
需要应用级二进制/对象存储?对象存储(清单)
需要结构化查询(SQL)?托管数据库
需要编码可重用工作流?技能
需要响应式通知?事件总线
需要跨所有内容搜索?统一搜索

Access Control

访问控制

Storage primitives respect Eve's access model:
  • Secrets: scoped resolution (project → user → org → system). Never store memory in secrets.
  • Org docs: org membership required. Use access groups for fine-grained control.
  • Database: use RLS with group-aware policies for multi-agent isolation.
  • Threads: project-scoped or org-scoped. Job tokens grant access to coordination threads.
  • Filesystem: org-level permissions, with optional path ACLs via access groups.
bash
undefined
存储原语遵循Eve的访问模型:
  • 密钥:作用域解析(项目→用户→组织→系统)。绝不要在密钥中存储内存。
  • 组织文档:需要组织成员身份。使用访问组实现细粒度控制。
  • 数据库:使用带组感知策略的RLS实现多Agent隔离。
  • 线程:项目作用域或组织作用域。任务令牌授予协作线程的访问权限。
  • 文件系统:组织级权限,可通过访问组设置可选的路径ACL。
bash
undefined

Check agent's effective access

检查Agent的有效访问权限

eve access can --resource orgdocs:/agents/shared/ --action read eve access memberships --org $ORG_ID
undefined
eve access can --resource orgdocs:/agents/shared/ --action read eve access memberships --org $ORG_ID
undefined

Anti-Patterns

反模式

  • Storing everything in workspace files — dies with the job. Use attachments or org docs for anything worth keeping.
  • Giant thread messages as memory — threads are for communication, not storage. Post summaries, store details in docs.
  • No expiry strategy — memory without lifecycle becomes noise. Date your documents, prune periodically.
  • Duplicating knowledge across primitives — pick one source of truth per piece of knowledge. Reference it from other places, don't copy it.
  • Skipping search before writing — always check if the knowledge already exists before creating a new document. Update beats create.
  • 所有内容都存储在工作区文件中——会随任务结束而丢失。任何值得保留的内容都应使用附件或组织文档存储。
  • 用巨型线程消息作为内存——线程用于通信,而非存储。发布摘要,将详细内容存储在文档中。
  • 无过期策略——没有生命周期的内存会变成噪音。为文档添加日期,定期清理。
  • 在多个原语中重复存储知识——每条知识选择一个单一数据源。从其他地方引用,不要复制。
  • 写前不搜索——创建新文档前始终检查知识是否已存在。更新优于创建。

Current Gaps and Workarounds

当前局限与解决方法

Some memory patterns require manual assembly today:
  • No automatic context carryover at job start — build startup sequences manually (see Pattern 4). The platform does not auto-hydrate prior knowledge on job launch.
  • No automatic thread-to-knowledge distillation — manual
    eve thread distill
    exists, but no cron or trigger-based automation yet.
  • No document lifecycle automation — set review dates and expiration via
    --review-in
    and
    --expires-in
    flags. Use
    eve docs stale
    to find overdue documents. Automated cleanup is not yet available.
目前一些内存模式需要手动组合:
  • 任务启动时无自动上下文传递——手动构建启动序列(参考模式4)。平台目前不会在任务启动时自动加载历史知识。
  • 无自动线程转知识提炼——已有手动
    eve thread distill
    命令,但尚无定时或触发式自动化。
  • 无文档生命周期自动化——通过
    --review-in
    --expires-in
    标志设置审核日期和过期时间。使用
    eve docs stale
    查找逾期文档。自动清理功能尚未可用。