背景什么是「Harness」在 AI Agent 开发中Harness马具/套件是一个承上启下的概念。业界目前有两个极具启发性的定义公式定义Agent Model Harness。模型提供推理而 Harness 提供落地执行的实体。硬件类比Model 是 CPU计算核心Context 是内存瞬时寻址而 Harness 则是操作系统资源调度与环境隔离。没有 Harness 的 Agent 就像一个漂浮在大脑中的灵魂——虽然能思考但无法稳定地感知物理世界、无法受控地操作工具更无法在复杂的长程任务中保持状态。框架所属生态Harness 模块名底层框架要求AgentScope Java阿里巴巴 / AgentScope AIagentscope-harnessJDK 17独立运行Solon AI无耳科技 / OpenSolonsolon-ai-harnessJDK 8可嵌入任意框架二、架构设计对比2.1 agentscope-harness单体式「全副武装」运行时AgentScope 的 Harness 模块定位非常清晰——一个功能完备的智能体增强运行时。核心类HarnessAgent实现了Agent和StateModule双接口通过委托模式包装底层的ReActAgent。模块结构9 大子系统io.agentscope.harness.agent/ ├── filesystem/ # 文件系统抽象本地/远程/沙箱三种模式 ├── hook/ # 生命周期钩子8 内置 Hook ├── memory/ # 记忆管理刷盘、压缩、合并 ├── sandbox/ # 沙箱运行环境Docker 隔离 ├── session/ # 会话持久化 ├── store/ # 命名空间存储 ├── subagent/ # 子智能体编排 ├── tool/ # 内置工具集文件/Shell/记忆 └── workspace/ # 工作区管理设计哲学「大而全开箱即用」。HarnessAgent 的 Builder 模式暴露了 30 配置项从文件系统到子智能体编排从记忆压缩到沙箱管理一应俱全。开发者可以用最少的代码构建一个生产级的智能体。HarnessAgent agent HarnessAgent.builder() .name(MyAgent) .model(openai:gpt-5.5) // 字符串模型 ID .workspace(/path/to/workspace) // 工作区路径 .enablePlan() // 启用计划本 .compaction(CompactionConfig.builder().triggerMessages(20).build()) .filesystem(SandboxFilesystemSpec.builder() // 沙箱文件系统 .client(dockerClient).build()) .subagent(SubagentSpec.builder() // 子智能体 .name(researcher).build()) .build();2.2 solon-ai-harness引擎式「克制而有力」运行时Solon 的 Harness 模块同样是一个完整自包含的智能体编排与执行引擎核心类HarnessEngine以 Builder 模式构建整合了主代理、子代理、技能池、MCP 网关、REST API、HITL 安全审计等全套能力。模块结构与依赖包能力全图solon-ai-harness 核心模块 │ ├── HarnessEngine.java # 马具引擎核心Builder 模式组装主代理/子代理 ├── HarnessProperties.java # 统一配置属性models/tools/skillPools/mcpServers... ├── HarnessExtension.java # 扩展接口自由定制代理行为 ├── agent/ │ ├── AgentDefinition.java # 代理定义支持 Markdown YAML Frontmatter 解析 │ ├── AgentFactory.java # 代理工厂权限矩阵 工具装配 │ ├── AgentManager.java # 代理管理器注册/加载/扫描 agents 目录 │ ├── TaskSkill.java # 子代理技能task/multitask 工具 │ └── GenerateTool.java # 动态代理生成工具 ├── code/ │ └── CodeSkill.java # 代码工程规约技能技术栈识别 ├── hitl/ │ └── HitlStrategy.java # 人工介入策略bash 安全审计规则 └── permission/ └── ToolPermission.java # 工具权限枚举18 细粒度权限 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Maven 依赖包及其提供的能力 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┌─ solon-libSolon 基础运行时 │ └── 依赖注入、配置、AOP 等核心能力 │ ├─ solon-ai-agent传递引入 solon-ai-core │ ├── ReActAgent / SimpleAgent / TeamAgent推理-行动代理体系 │ ├── ChatModel / ChatConfigLLM 调用核心接口 │ ├── ToolMapping / Param工具声明注解 │ ├── Skill / AbsSkill技能抽象体系 │ ├── SummarizationInterceptor上下文摘要拦截器 │ └── AgentSession 会话管理 │ ├─ solon-ai-skill-cli终端操作技能包 │ ├── TerminalSkillbash, read, write, edit, glob, grep, ls │ └── ExpertSkillskill 技能调用、技能发现 │ ├─ solon-ai-skill-web联网技能包 │ ├── WebsearchTool联网搜索 │ ├── WebfetchTool网页内容抓取 │ └── CodeSearchTool代码仓库搜索 │ ├─ solon-ai-skill-lsp语言服务协议技能包 │ ├── LspManagerLSP 服务器生命周期管理 │ └── LspSkill代码诊断、符号导航等 IDE 级能力 │ ├─ solon-ai-skill-restapiREST API 技能包 │ └── RestApiSkill解析 OpenAPI 文档动态生成 REST 调用工具 │ ├─ solon-ai-skill-toolgateway工具网关技能包 │ └── ToolGatewaySkillMCP Server 能力桥接为 Agent 工具 │ └─ solon-serialization-snack4JSON 序列化 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 可选扩展模块按需引入不内嵌于 harness ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┌─ solon-ai-skill-memory长期记忆 心智模型 ← 重点 │ ├── MemSkill5 大核心操作提取/搜索/召回/巩固/修剪 │ ├── RedisClient KV 存储 Lucene 语义索引 │ ├── 基于重要性的动态 TTL 过期策略 │ └── 心智模型自动注入作为 Agent 前意识 │ ├─ solon-ai-skill-diff文本差异对比 ├─ solon-ai-skill-luceneLucene 搜索技能 ├─ solon-ai-skill-mail / pdf / data / file / ...更多生态技能 └─ HarnessExtension SPI 插件~/.soloncode/extensions/ 目录设计哲学「克制而有力」。不追求一个大而全的 Builder 类堆砌 30 配置项而是通过HarnessProperties统一配置 HarnessEngine核心编排 各专能模块协作的方式保持每个类的职责单一。依赖包按能力域清晰拆分cli / web / lsp / restapi / toolgateway / memory开发者可按需引入。同时通过HarnessExtension扩展点和CommandRegistry命令注册表提供极强的可定制性。// 配置属性 HarnessProperties props new HarnessProperties(.solon/); props.addTools(ToolPermission.TOOL_ALL_FULL); props.setWorkspace(/path/to/workspace); props.setSandboxMode(true); props.setHitlEnabled(true); // 构建引擎 HarnessEngine engine HarnessEngine.of(props) .sessionProvider(sessionProvider) .build(); // 使用主代理 engine.prompt(分析当前项目的技术栈) .session(session) .options(o - { o.toolContextPut(HarnessEngine.ATTR_CWD, /path/to/project); }) .call();2.3 架构哲学对比维度agentscope-harnesssolon-ai-harness设计理念单体式增强运行时单一 Builder 类引擎式编排框架Properties Engine 模块协作最低 JDK17使用 sealed class、record 等新语法8兼容性更广覆盖信创国产化场景核心抽象HarnessAgent30 Builder 配置项HarnessEngine引擎核心HarnessProperties配置文件系统内置 3 种模式本地/远程/沙箱本地文件系统 沙箱模式sandboxMode 开关响应式基于 Project ReactorMono/Flux基于 Project Reactorstream() 流式输出学习曲线较陡30 Builder 配置项中等配置驱动 清晰的模块边界核心依赖agentscope-coresolon-ai-agent、solon-ai-skill-* 系列模块三、核心功能深度对比3.1 工作区管理Workspaceagentscope-harness的工作区管理极为丰富自动加载AGENTS.md、MEMORY.md、KNOWLEDGE.md等上下文文件支持自定义额外上下文文件如SOUL.md、PREFERENCE.mdWorkspaceManager统一管理文件系统的所有读写操作Token 预算控制maxContextTokens默认 8000三种文件系统后端本地、远程、Docker 沙箱solon-ai-harness的工作区管理有完整的目录结构约定{harnessHome}/ ├── sessions/ # 会话存储支持 FileAgentSession 持久化 ├── skills/ # 技能定义Markdown 格式 ├── agents/ # 子代理定义Markdown YAML Frontmatter ├── memory/ # 主代理记忆 ├── commands/ # 自定义命令 ├── download/ # 下载缓存 └── channels/ # 连接通道配置加载有明确的优先级链资源文件 → 工作区配置 → 用户目录配置 → 程序旁边配置系统提示词通过AGENTS.md文件定义支持工作区和用户目录两级配置会话支持FileAgentSession持久化可在~/.soloncode/sessions/下跨会话恢复3.2 安全机制Sandbox HITLagentscope-harness在沙箱方面投入巨大完整的 Docker 沙箱生命周期管理SandboxManager、SandboxLifecycleHook分布式沙箱支持SandboxDistributedOptions跨实例的状态恢复基于 Redis 的执行守卫RedisSandboxExecutionGuard工作区快照SandboxSnapshotSpec支持归档提取和恢复solon-ai-harness采用了「沙箱模式 HITL 安全审计」的双重安全策略沙箱模式sandboxMode终端操作在受限模式下运行禁止绝对路径、系统目录删除、网络配置修改等危险操作HITL 人工介入HitlStrategy对 bash 命令进行多层安全审计——命令注入防御拦截反引号、$(...)、设备重定向系统级安全拦截 sudo/chown/chmod/kill/reboot路径边界禁止../回溯和敏感目录访问包管理变更拦截install/remove/commit网络行为拦截curl/wget/ssh管道安全限制只允许只读工具链文件操作拦截递归删除 rm -rf 和文件移动 mv通过HITLInterceptor拦截器实现可在引擎构建时自定义拦截规则3.3 上下文摘要与会话管理Context Engineeringagentscope-harness的记忆系统是一大亮点三层记忆架构短期记忆 长期记忆 工作区记忆MEMORY.md自动刷盘MemoryFlushHook在模型调用前后自动将记忆持久化到工作区智能压缩CompactionHook在上下文溢出时自动触发对话压缩紧急恢复上下文溢出时自动降低阈值强制压缩并重试工具结果驱逐ToolResultEvictionHook将超大工具输出卸载到文件系统solon-ai-harness的上下文工程体系同样完善SummarizationInterceptor摘要拦截器当 Token 接近上限时自动触发摘要压缩采用CompositeSummarizationStrategy组合策略KeyInfoExtractionStrategy提取关键信息去水HierarchicalSummarizationStrategy分层滚动更新摘要可配置summaryWindowSize默认 30和summaryWindowToken默认 30000支持独立的摘要模型summaryModel可使用更便宜的模型执行摘要任务AgentSessionProvider会话持久化接口支持自定义实现内置InMemoryAgentSession内存会话内置FileAgentSession文件持久化会话支持断点续传sessionWindowSize默认 8控制短期工作记忆窗口大小autoRethink自我反思Agent 在达到步数上限时可自动反思并扩展此外solon-ai-harness 还可通过引入solon-ai-skill-memory模块获得长期记忆与心智模型能力形成短期摘要 长期心智的双层记忆架构。详见第 3.8 节。3.4 子智能体编排Subagentagentscope-harness的子智能体系统非常成熟声明式子智能体通过subagents/*.md文件定义叶子节点保护子智能体不能递归生成子智能体后台执行和会话持久化模型覆盖子智能体可独立指定模型solon-ai-harness的子智能体编排同样功能完备TaskSkill内置task和multitask两个工具task委派单一任务给专项子代理串行执行multitask并行执行多个互不依赖的子任务AgentDefinition支持 Markdown YAML Frontmatter 格式定义子代理--- name: code_reviewer description: 代码审查专家 tools: - read - grep - bash maxTurns: 10 --- 你是一个资深的代码审查专家...AgentManager代理管理器支持多级代理池全局~/.soloncode/agents/ 本地{workspace}/.soloncode/agents/GenerateTool运行时动态创建子代理并持久化到文件AgentFactory根据AgentDefinition自动构建ReActAgent独立配置工具权限和步数子代理支持独立的工具权限隔离上下文隔离3.5 工具体系Toolsagentscope-harness的内置工具文件操作工具读/写/搜索Shell 执行工具记忆搜索/获取工具会话搜索工具solon-ai-harness拥有极为丰富的工具体系18 细粒度权限控制权限说明read读取文件完整内容write写入文件完整内容edit修改文件内容含 readwriteeditbash运行 Shell 命令glob使用模式匹配查找文件grep基于正则表达式的全文检索ls/list列出目录内容webfetch抓取网页内容websearch互联网搜索codesearch代码仓库搜索skill调用预定义的专家技能模块code编码指导模块todo任务清单管理mcpMCP 服务工具restapiREST API 工具task调度子代理generate动态创建子代理hitl人工介入拦截lspLSP 语言服务协议集成*全部公开工具**全部工具含私有此外还具备CliSkillProvider技能池管理器支持多级技能池global、local、skills、skillhubCodeSkill代码工程规约技能自动识别技术栈Maven/Node生成构建与测试指令LspSkillLSP 语言服务协议集成支持代码诊断、类型信息等 IDE 级别的能力ToolGatewaySkillMCP 网关动态加载 MCP Server 工具RestApiSkill将 REST API 作为 Agent 工具调用CommandRegistry自定义命令注册表3.6 生命周期与拦截器agentscope-harness内置 8 个生产级钩子HooksHook功能AgentTraceHook智能体推理和工具执行的链路追踪CompactionHook对话上下文自动压缩MemoryFlushHook记忆自动刷盘MemoryMaintenanceHook记忆维护和合并SandboxLifecycleHook沙箱生命周期管理SessionPersistenceHook会话自动持久化SubagentsHook子智能体编排调度ToolResultEvictionHook工具结果自动驱逐WorkspaceContextHook工作区上下文注入所有钩子都可以通过disable*()方法独立禁用。solon-ai-harness采用「内置拦截器 自由扩展」双层架构SummarizationInterceptor上下文摘要拦截器基于组合策略自动压缩HITLInterceptor人工介入拦截器对高危工具调用进行安全审计拦截器可在引擎构建时通过 Builder 注入自定义实现HarnessExtension 扩展点通过addExtension()自由扩展引擎行为详见第 3.9 节3.7 协议支持协议agentscope-harnesssolon-ai-harnessMCP工具集成✅ 通过 agentscope-core✅ToolGatewaySkillMCP 网关ACPAgent 协作协议❌ 未内置✅ 支持 stdio/WebSocket 传输REST API 集成❌ 未内置✅RestApiSkillLSP语言服务协议❌ 未内置✅LspSkillLspManagerA2A多智能体协作✅ agentscope-extensions-nacos-a2a通过 ACP 协议实现OpenTelemetry✅ 可插拔 Tracer SPI✅ 通过 Solon 可观测插件3.8 长期记忆与心智模型solon-ai-skill-memory前面提到 agentscope-harness 拥有令人印象深刻的三层记忆架构。solon-ai-harness 虽然没有将记忆模块内嵌为必须依赖但通过可选引入solon-ai-skill-memoryorg.noear:solon-ai-skill-memoryv3.9.5提供了另一种更具启发性的记忆范式——心智模型Mental Model。核心设计理念不是简单地「存储和检索」而是模拟人类认知过程让 Agent 拥有「提取 → 搜索 → 召回 → 巩固 → 修剪」的完整认知循环。五大核心操作通过 ToolMapping 暴露为 Agent 工具操作方法名说明提取mem_extract将事实、偏好或进度存入心智模型。若同名 Key 已存在返回旧记录触发认知对比反思语义搜索mem_search通过自然语言描述在心智模型中寻找相关记忆碎片精确召回mem_recall通过 Key 获取该认知条目的完整细节认知巩固mem_consolidate将多个低层事实碎片整合为高层偏好模型importance 自动设为 10永久存储认知修剪mem_prune删除错误、重复或过时的认知基于重要性的动态 TTL 过期策略重要性评分importanceTTL说明≥ 10永久存储-1生命周期关键点5 ~ 930 天核心规约、行为偏好1 ~ 47 天琐碎事实、临时细节两层存储架构层级技术职责KV 存储RedisClient主存储结构化记忆数据基于 importance 的 TTL 物理过期语义索引Lucene或向量数据库多租户隔离的语义检索支持模糊/自然语言搜索心智模型自动注入这是最精妙的设计。MemSkill覆写了AbsSkill.getInstruction(Prompt)方法在每次对话开始前自动注入高价值热记忆作为 Agent 的前意识——不需要 Agent 主动调用工具检索心智模型已经在它的潜意识中了。// 集成示例solon-ai-skill-memory 为可选依赖 MemSearchProvider memSearch new MemSearchProviderLuceneImpl(); MemSkill memSkill new MemSkill(redisClient, memSearch); // 通过 HarnessExtension 注入到引擎 props.addExtension((agentName, builder) - { builder.defaultSkillAdd(memSkill); });对比 agentscope-harness 的记忆系统维度agentscope-harnesssolon-ai-skill-memory架构方式内嵌必须依赖可选引入按需加载存储后端文件系统MEMORY.md 可选长期记忆Redis Lucene 双层记忆生命周期刷盘 压缩 合并提取 搜索 召回 巩固 修剪过期策略无自动过期基于重要性的动态 TTL认知模型无有心智模型 自动注入前意识多租户无有userId 隔离3.9 自由扩展addExtension 机制如果说 agentscope-harness 的扩展方式是「在 Builder 中预设所有选项」那么 solon-ai-harness 的addExtension则提供了编程式的无限扩展可能。HarnessExtension 接口定义v3.10.4PreviewPreview(3.10) public interface HarnessExtension { /** * 配置代理 * param agentName 当前代理名称主代理为 __main__ * param agentBuilder ReActAgent.Builder 实例可自由定制 */ void configure(String agentName, ReActAgent.Builder agentBuilder); }这个接口极为简洁——只有一个方法。但正是这种简洁赋予了它无限的组合可能。三种注册方式// 方式一编程式注册最直接 HarnessProperties props new HarnessProperties(.solon/); props.addExtension((agentName, builder) - { // 添加自定义工具 builder.defaultToolAdd(myCustomTool); // 添加自定义技能 builder.defaultSkillAdd(mySkill); // 添加生命周期拦截器 builder.defaultInterceptorAdd(new ReActInterceptor() { Override public void onAgentStart(ReActTrace trace) { System.out.println(任务要开始了...); } Override public void onReason(ReActTrace trace, AssistantMessage message) { System.out.println(又思考了...); } Override public ChatResponse interceptCall(ChatRequest req, CallChain chain) throws IOException { System.out.println(要调用工具了...); return chain.doIntercept(req); } }); }); // 方式二YAML 配置声明 // config.yml: // soloncode: // extensions: // - com.example.MyExtension // 方式三Solon SPI 自动装配推荐即插即用 // 1. 实现 HarnessExtension 接口 // 2. 创建 Plugin 类注册到 Solon 容器 // 3. 在 META-INF/solon/ 下声明 SPI // 4. JAR 包放入 ~/.soloncode/extensions/ 目录通过 Extension 可操作的 Agent Builder 能力方法能力defaultToolAdd(Tool)添加自定义工具defaultSkillAdd(Skill)添加自定义技能defaultInterceptorAdd(ReActInterceptor)添加生命周期拦截器systemPrompt(Function)设置/覆盖系统提示词maxSteps(int)设置最大推理步数autoRethink(boolean)启用/禁用自我反思sessionWindowSize(int)设置会话窗口大小defaultToolContextPut(String, Object)注入工具上下文变量关键设计细节每个代理创建时包括主代理和所有子代理所有注册的 Extension 都会被逐一调用。这意味着你可以为所有代理统一注入日志/审计拦截器为特定代理注入专项工具动态调整不同代理的行为参数与 agentscope-harness 的对比维度agentscope-harnesssolon-ai-harness扩展方式Builder 预设选项 Hook SPIHarnessExtension 接口 SPI 自动装配扩展粒度Agent 级别代理级 全局级按 agentName 区分工具注入构建时固定运行时动态第三方插件需手动集成JAR 包放入 extensions/ 即插即用四、模型管理与多模型支持agentscope-harness通过字符串模型 ID 指定模型如openai:gpt-5.5子智能体可独立指定模型solon-ai-harness的模型管理更加灵活HarnessProperties支持配置多个ChatConfigListChatConfig models支持运行时动态切换主模型engine.switchMainModel(gpt-5.5)通过getModelOrMain(name)方法按名称获取模型支持独立的摘要模型summaryModel可用更便宜的模型执行摘要任务模型支持重试配置modelRetries、API 重试apiRetries、MCP 重试mcpRetries支持UserAgent统一配置五、开发者体验对比5.1 上手难度agentscope-harness优势一个 Builder 搞定所有配置文档齐全挑战30 配置项的选择困难概念较多IsolationScope、NamespaceFactory 等适合需要快速搭建复杂 Agent 的团队阿里云生态用户solon-ai-harness优势配置驱动HarnessPropertiesAPI 直觉化engine.prompt(...).call()挑战需了解 Solon 框架基础概念适合需要定制化 Agent 的团队企业级开发场景5.2 部署与兼容性维度agentscope-harnesssolon-ai-harnessJDK 版本17强制8 ~ 25全兼容GraalVM 原生镜像支持支持Solon 原生支持信创国产化需适配天然支持国产框架启动速度一般Reactor 依赖链极快Solon 内核 0.3m内存占用中等低Solon 节省 50%代码体积大9 大子系统中等引擎式精简5.3 实战验证agentscope-harness阿里巴巴内部大规模使用经过 AgentScope 生态的实战打磨。solon-ai-harness已在SolonCode CLI项目中经过了三个月的深度打磨与实战验证。SolonCode CLI 完全基于solon-ai-harness构建是框架能力的最佳实战证明——支持 CLI 交互、Web 界面、ACP 协议三种运行模式。六、代码风格对比同一场景的不同写法场景创建一个带工作区、会话和安全的智能体agentscope-harness 写法HarnessAgent agent HarnessAgent.builder() .name(CodeReviewer) .model(openai:gpt-5.5) .sysPrompt(你是一个代码审查专家。) .workspace(/project/code-review) .compaction(CompactionConfig.builder() .triggerMessages(20).build()) .longTermMemory(redisLongTermMemory) .longTermMemoryMode(LongTermMemoryMode.BOTH) .enablePlan() .build(); Msg response agent.call( Msg.userMsg(请审查这个 PR), RuntimeContext.builder() .sessionId(review-001) .userId(user-123) .build() ).block();solon-ai-harness 写法// 1. 配置属性 HarnessProperties props new HarnessProperties(.solon/); props.addTools(ToolPermission.TOOL_READ, ToolPermission.TOOL_GREP, ToolPermission.TOOL_BASH); props.setWorkspace(/project/code-review); props.setSystemPrompt(你是一个代码审查专家。); props.setSessionWindowSize(8); props.setSummaryWindowSize(30); props.setSandboxMode(true); props.setHitlEnabled(true); props.addModel(ChatConfig.of(openai:gpt-5.5).build()); // 2. 会话提供者 AgentSessionProvider sessionProvider sessionId - new FileAgentSession(sessionId, /project/.solon/sessions/ sessionId); // 3. 构建引擎 HarnessEngine engine HarnessEngine.of(props) .sessionProvider(sessionProvider) .build(); // 4. 执行任务 AgentSession session engine.getSession(review-001); engine.getMainAgent().prompt(请审查这个 PR) .session(session) .call();场景动态创建一个代码审查子代理agentscope-harness 写法// 通过配置在 subagents/ 目录下定义或通过 Builder 添加 HarnessAgent agent HarnessAgent.builder() .subagent(SubagentSpec.builder() .name(code_reviewer) .model(openai:gpt-4o-mini) .build()) .build();solon-ai-harness 写法// 方式一代码动态创建 AgentDefinition definition new AgentDefinition(); definition.setSystemPrompt(你是一个代码审查专家。); definition.getMetadata().addTools(ToolPermission.TOOL_READ, ToolPermission.TOOL_GREP); definition.getMetadata().setMaxSteps(10); ReActAgent subagent engine.createSubagent(definition).build(); subagent.prompt(审查 src/main/java 目录下的代码) .session(session) .call(); // 方式二通过 Markdown 文件定义agents/code_reviewer.md // 方式三通过 GenerateTool 让 AI 动态创建七、选型建议选 agentscope-harness 的场景重度 Docker 隔离需求需要完整的容器化沙箱、分布式会话管理阿里云生态用户与 DashScope、百炼等服务深度集成三层记忆架构需要短期/长期/工作区三层记忆管理和语义搜索快速原型验证一个 Builder 搞定所有适合快速验证想法选 solon-ai-harness 的场景信创国产化项目需要国产框架兼容 JDK 8 老系统已有 Solon 项目零迁移成本无缝集成追求轻量与高性能对启动速度和内存有严格要求微服务、Serverless需要 REST API/LSP/ACP 集成框架内置这些能力无需额外开发多模型动态切换运行时灵活切换不同模型细粒度工具权限控制18 权限项精确控制 Agent 能力边界定制化 CLI/Web/协议智能体已有 SolonCode CLI 作为实战参考共存场景对于大型企业两者并不冲突新项目JDK 17阿里云部署Docker 隔离需求强可用 agentscope-harness老项目改造JDK 8信创要求轻量级需求可用 solon-ai-harness通过 ACP/A2A 等协议两个框架的 Agent 可以互相发现和调用八、总结维度agentscope-harnesssolon-ai-harness功能完备性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐架构复杂度高中上手难度中高中JDK 兼容性178 ~ 25沙箱隔离⭐⭐⭐⭐⭐Docker 级⭐⭐⭐⭐策略级工具丰富度⭐⭐⭐⭐⭐⭐⭐⭐⭐18 权限上下文工程⭐⭐⭐⭐⭐三层记忆⭐⭐⭐⭐⭐组合策略摘要 可选心智模型长期记忆⭐⭐⭐⭐内置⭐⭐⭐⭐⭐solon-ai-skill-memory动态 TTL 认知巩固协议支持⭐⭐⭐⭐⭐⭐⭐⭐⭐MCP/ACP/REST/LSP模型管理⭐⭐⭐⭐⭐⭐⭐⭐多模型动态切换可扩展性⭐⭐⭐⭐Hook SPI⭐⭐⭐⭐⭐addExtension SPI 即插即用生产就绪度高大厂背书高SolonCode CLI 验证一句话总结agentscope-harness 是一座装备齐全的军事堡垒——Docker 沙箱、三层记忆、分布式会话重型场景一应俱全。solon-ai-harness 是一台精密的组合机床——18 工具权限、MCP/ACP/REST/LSP 四协议集成、多模型动态切换、心智模型可选加载、addExtension 无限扩展灵活而强大。