核心原理
上下文工程
Downcity 如何让 Agent 上下文保持明确、可落盘、可检查
上下文工程
Downcity 把“上下文”拆成可组合、可落盘的几层数据:
PROFILE.md/SOUL.mddowncity.json配置.downcity/agents/<agentId>/sessions/<sessionId>/messages/messages.jsonl会话历史.downcity/memory/MEMORY.md长期记忆.downcity/memory/daily/<YYYY-MM-DD>.md每日增量记忆.downcity/agents/<agentId>/sessions/<sessionId>/memory/working.md会话工作记忆(可选)
为什么这样设计
- 历史记录可审计,不依赖隐式内存。
- 超长对话可 compact,保留最近消息与摘要。
- 各
sessionId相互隔离,减少串话。 - 记忆召回通过
memory.search -> memory.get按预算检索,不再整文件注入。
实践建议
PROFILE.md写清楚边界、目标、风格。- 用
sessionId区分不同渠道/用户/业务流。 - 定期查看
.downcity/logs/<date>.jsonl与任务 run 目录。