概念 | 定义 | 解决的问题 | 使用建议 |
HarnessAgent
| 基于ReActAgent的工程化封装入口,build()时装配 Hook、内置工具、技能与会话持久化 | "不想从零拼装压缩、记忆、会话、子任务、文件系统" | 业务代码只与HarnessAgent.builder()和agent.call(msg, ctx)打交道 |
workspace
| Agent 的工作目录,承载AGENTS.md、MEMORY.md、skills/、subagents/、会话历史等全部持久化内容 | "人格、知识、记忆、状态放哪、如何持续演化" | 先规划工作区结构再写 prompt;把工作区当作可版本化的资产 |
filesystem
| 文件读写的统一接口,是 Agent 工具层与物理存储之间的抽象层,支持本地磁盘、远端存储、沙箱等多种后端 | "同一套 Agent 逻辑如何在本地、共享存储、沙箱间切换" | 优先从三种声明式模式选型(Local / Remote / Sandbox) |
RuntimeContext
| 单次call()的身份上下文,包含sessionId、userId等,每次调用重新传入,不持久化 | "这一轮是谁、状态读写到哪、多租户如何隔离" | 必须稳定传sessionId;多租户场景必须传userId |
sandbox
| 隔离执行环境,文件操作与命令在沙箱侧运行,每轮对话结束后持久化状态、下轮恢复 | "如何在不信任输入下安全执行工具与脚本,并保持多轮状态连续" | 有代码执行需求时优先启用;根据业务选择隔离粒度 |
memory
| 双层记忆系统:每轮对话后自动提炼写入流水账,后台周期性合并成可注入的长期记忆,配合全文检索 | "长对话不丢事实、上下文不爆、历史可检索" | 开启对话压缩并观察记忆文件变化;旧事实用搜索工具回捞 |