Solon AI Harness 首次发版

Solon AI Harness 是一个高性能的智能体"马具(Harness)"框架。作为底层核心,它已在 SolonCode CLI 项目中经过了三个月的深度打磨与实战验证。这次随 Solon AI v3.10.1 首次发布。

1、为什么需要 Harness

业界目前有两个极具启发性的定义:

  • 公式定义:Agent = Model + Harness。模型提供推理,而 Harness 提供落地执行的实体。
  • 硬件类比:Model 是 CPU(计算核心),Context 是 内存(瞬时寻址),而 Harness 则是 操作系统(资源调度与环境隔离)。

没有 Harness 的 Agent 就像一个漂浮在大脑中的灵魂,虽然能思考,但无法稳定地感知物理世界、无法受控地操作工具,更无法在复杂的长程任务中保持状态。

2、Solon AI Harness 的主要工作

组织工具使用 (Tool Steering)
  • 动态挂载与发现(支持 MCP 协议、Web RestApi)。
  • 输入/输出的标准化协议转换。
  • 安全拦截:在危险指令执行前进行权限校验或人工确认(HITL)。
组织记忆与会话 (Memory & Session Management)
  • 管理 Session 的持久化与恢复。
  • 区分"短期工作记忆"与"长期向量记忆"。
  • 快照机制:在任务中断时自动保存状态,支持断点续传。
操控上下文及摘要压缩 (Context Engineering)
  • 窗口滑窗:当 Token 接近上限时,自动识别并保留关键信息。
  • 语义压缩:将冗长的工具回显(如数千行代码输出)自动总结为模型可理解的摘要。
  • 意图聚焦:通过 RAG 技术动态注入当前任务最相关的片段。
环境隔离与沙盒驱动 (Sandbox & Environment)
  • 影子空间:在 .harness 目录下构建隔离的工作区,确保 Agent 的修改不直接污染生产环境。
  • 自愈循环:捕获执行过程中的 stderr,将其作为 Observation 反馈给模型,驱动 ReAct 循环自动修正错误。

3、应用示例

引用依赖

xml 复制代码
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon-ai-harness</artifactId>
</dependency>

构建实例

java 复制代码
public class DemoApp {
    public static void main(String[] arg) throws Throwable {
        //--- 1. 初始化
        HarnessProperties harnessProps = new HarnessProperties(".tmp/");
        harnessProps.addTools(ToolPermission.TOOL_ALL_FULL); //设定工具权限
        harnessProps.setChatModel(null); //设定大模型配置

        ChatModel chatModel = ChatModel.of(harnessProps.getChatModel()).build();
        AgentSessionProvider sessionProvider = new AgentSessionProvider() {
            private Map<String, AgentSession> sessionMap = new ConcurrentHashMap<>();

            @Override
            public AgentSession getSession(String instanceId) {
                return sessionMap.computeIfAbsent(instanceId, k -> InMemoryAgentSession.of(k));
            }
        };

        HarnessEngine engine = HarnessEngine.builder()
                .properties(harnessProps)
                .chatModel(chatModel)
                .sessionProvider(sessionProvider)
                .build();

    }
}

应用示例

复制代码
public class DemoApp {
    public static void main(String[] arg) throws Throwable {
        //--- 1. 初始化 
        // ...

        //--- 用主代理执行
        csae1(engine, "hello");

        //--- 动态创建子代理执行(好处理可以动态创建不同的工具权限)
        case2(engine, "hello");

    }

    private static void csae1(HarnessEngine engine, String prompt) throws Throwable {
        AgentSession session = engine.getSession(HarnessEngine.SESSION_DEFAULT);

        //--- 用主代理模式
        engine.getMainAgent().prompt(prompt)
                .session(session) //没有,则为临时会话
                .options(o -> {
                    //按需,动态指定工作区(没有,则为默认工作区)
                    o.toolContextPut(HarnessEngine.ATTR_CWD, "xxx");
                })
                .call();
    }

    private static void case2(HarnessEngine engine, String prompt) throws Throwable {
        AgentSession session = engine.getSession(HarnessEngine.SESSION_DEFAULT);

        //--- 动态定义智能体
        AgentDefinition definition = new AgentDefinition();
        definition.setSystemPrompt("xxx"); //系统提示词
        definition.getMetadata().addTools(ToolPermission.TOOL_BASH); //工具权限

        ReActAgent subagent = engine.createSubagent(definition).build();
        subagent.prompt(prompt)
                .session(session) //没有,则为临时会话
                .options(o -> {
                    //按需,动态指定工作区(没有,则为默认工作区)
                    o.toolContextPut(HarnessEngine.ATTR_CWD, "xxx");
                })
                .call();
    }
}
相关推荐
victory04311 分钟前
从 2025-05 至 2026-05-15按时间顺序整理的“主线模型/技术报告”时间线
人工智能
广州灵眸科技有限公司3 分钟前
瑞芯微(EASY EAI)RV1126B 模型部署API说明
linux·开发语言·网络·人工智能·深度学习·算法·yolo
哩哩橙3 分钟前
分支电路对限时电流速断保护的影响
人工智能·笔记·数据挖掘
Gerardisite4 分钟前
企业微信客户管理系统实战:标签、分层与自动化流程搭建
java·python·机器人·自动化·企业微信
ch.ju8 分钟前
Java程序设计(第3版)第三章——数组的定义方式
java·开发语言
a752066288 分钟前
钉钉+OpenClaw本地AI智能体:从开发者后台到消息互通全流程
人工智能·openclaw·小龙虾·openclaw部署·ai 办公自动化
每日新鲜事8 分钟前
郎朗乐境音乐会定档7月5日深圳:以破界之姿,开启全维感官盛宴
人工智能
互联网科技看点14 分钟前
2026年,园世Yuansea:以专业之名,重塑运动音频边界
大数据·人工智能·音视频
2601_9577867715 分钟前
AI 原生营销矩阵系统:分布式素材管理与多租户权限控制技术实现
人工智能·分布式·矩阵
知识浅谈17 分钟前
人工智能日报 每日AI新闻(2026年5月15日):OpenAI推进移动端Codex,Anthropic加码中小企业与公益合作,AI产品继续向真实工作流落地
人工智能·chatgpt