企业级 AI 中台 · 大模型+小模型 · 开箱即用

太极混元 发布于 2天前 分类:语言模型

核心功能全景

一、🤖 AI 智能体(Agent)

lingclaw 的智能体不是简单的"提示词 + 模型调用",而是一套具备自主决策、自我进化、多级协作能力的 Agent 架构

1. 灵活的智能体配置

  • 多模型自由切换:支持 Ollama 本地模型、OpenAI 兼容接口、自训练模型等,按需为每个 Agent 绑定不同模型
  • 提示词工程:可视化编辑 System Prompt,精细控制 Agent 人设与行为边界
  • 能力装配:为 Agent 自由组合知识库、MCP 工具、Skills 技能包,像搭积木一样构建专属能力36db28c8704bf76

    2. 主Agent + 子Agent 多级协作

    支持主从 Agent 架构。主 Agent 作为"决策大脑",根据任务自主判断应该分配给哪个子 Agent 执行:

    • 主 Agent 分析用户意图 → 选择最合适的子 Agent → 下发子任务
    • 子 Agent 独立执行(拥有自己的模型、工具、超时控制)→ 结果汇报主 Agent
    • 支持实时状态推送,前端可以看到每个子 Agent 的执行进度

    这意味着你可以构建一个"团队":一个规划 Agent 负责拆解需求,一个编码 Agent 负责写代码,一个测试 Agent 负责验证——真正的 AI 团队协作3e94e3bbcc6402b

    3. 🧬 Agent 自进化能力(Self-Evolution)

    这是 lingclaw 最核心的差异化能力。受 Voyager(Wang et al., 2023)论文中 Skill Library 机制启发,我们实现了 Agent 在任务执行过程中的自主学习与能力升级

    Skills 技能库

    • Agent 在执行任务时,如果发现本地知识不足,会自动连接 Skills 市场,搜索并下载最佳实践、脚本方案
    • 下载的技能以 Markdown 文件形式保存,并自动同步到向量库,下次遇到类似问题直接语义检索复用
    • 支持多个技能集分类管理,每个技能集独立同步

    进化记忆(Evolution Memory)

    • Agent 在执行任务中积累的经验——成功的解决方案、失败的教训、发现的规律——会以语义向量的形式持久化存储
    • 下次遇到类似问题,Agent 会主动查询历史记忆,避免重复踩坑
    • 每个 Agent 拥有独立的记忆空间,互不干扰,重启后自动恢复

    MCP 工具自主发现与安装

    • Agent 遇到能力不足时,会自动搜索 MCP 工具市场,发现合适的工具后一键安装
    • 安装完成后热重载自身配置,新工具立即生效,无需重启服务
    • 整个过程完全自主,无需人工干预

    强制进化决策链

    • 当 Agent 在任务中遇到困难,系统会引导其按照严格顺序尝试:
      1. 先查本地 Skills 技能库
      2. 再到 Skills 市场搜索下载
      3. 再搜索 MCP 工具市场
      4. 最后才用基础编码能力兜底
    • 这套机制确保 Agent 不会盲目重试,而是系统性地寻找最优解19ef8aec7484adb

      二、🛡️ 生产级稳定性优化

      lingclaw 不只是一个 Demo,而是面向真实生产环境设计的。以下是我们在稳定性和可靠性方面的核心优化:

      1. 智能安全熔断机制

      大模型在 Tool Calling 场景下有一个行业痛点:容易陷入无限循环——反复调用同一个失败的工具,消耗大量 Token 却毫无产出。

      lingclaw 内置了三级保护:

      • 连续失败熔断:连续多次工具调用无实质输出时,自动终止循环,避免 Token 浪费
      • 进化策略注入:连续失败达到阈值后,系统不是简单终止,而是智能注入引导指令,提醒 Agent 换思路、查记忆、找工具
      • 总轮次硬上限:不管成功失败,达到总轮次上限一律终止,兜底防护

      所有阈值均可通过配置文件灵活调整,适配不同业务场景。

      2. 任务自动续传

      大模型输出存在 Token 上限,复杂任务经常在执行到一半时被截断。传统方案需要用户手动"继续"。

      lingclaw 实现了全自动任务续传

      • 主 Agent 输出结束后,系统自动判断任务是否真正完成
      • 支持模型完成度验证——调用模型做二次确认,避免误判
      • 未完成时自动构造续传指令,无缝发起下一轮,前端完全无感知
      • 多轮续传的输出直接拼接推送,用户看到的是一次完整的流畅交互

        三、🔧 CodingTool — 全能系统操作工具

        为 Agent 提供完整的操作系统交互能力,一个工具覆盖所有场景:

        能力 说明
        bash 执行任意 Shell 命令(git、mvn、npm、curl、docker…),Windows 用 cmd、Linux/Mac 用 bash
        file_read 读取文件内容,支持行号范围
        file_edit 精准文本替换或创建文件,支持增量编辑
        search 目录级文件内容搜索(正则/关键词)
        list_dir 目录树结构查看

        🔒 四级沙盒隔离模式

        CodingTool 提供四种沙盒模式,适配从个人开发到企业生产的全场景安全需求:

        模式 配置值 隔离级别 适用场景
        Docker 容器沙盒 sandbox="docker" 🟢 内核级隔离 企业多租户、生产环境、需要最高安全等级
        Native 原生沙盒 sandbox="native" 🟡 路径级隔离 个人开发、轻量级安全需求、无 Docker 环境
        远程客户端沙盒 sandbox="remote" 🔵 网络级隔离 Electron 桌面端,大模型远程操作用户本地电脑
        管理员模式 sandbox="false" 🔴 无限制 可信环境、开发调试、需要完整宿主机权限

        Docker 容器沙盒(推荐生产环境使用)

        • 每个 Agent 独享一个长驻 Docker 容器,容器内预装完整开发工具链(Python、Node.js、Java、Git 等)
        • Agent 的所有命令和文件操作全部在容器内执行,与宿主机完全隔离——看不到宿主进程、文件系统、网络端口
        • 通过 -v 挂载实现精确的目录共享,支持只读/读写权限控制
        • 容器级资源限制(内存、CPU、PID 数量),防止 Agent 耗尽宿主资源
        • 首次使用前需构建沙盒镜像,项目提供一键构建脚本:
          • Windows:双击 admin/docker/sandbox/build-sandbox.bat
          • Linux/Mac:执行 admin/docker/sandbox/build-sandbox.sh

        Native 原生沙盒(适合个人用户)

        • 基于 Java PathJail 实现路径监狱,Agent 只能访问配置的 sandboxRoot 目录,无法逃逸到沙盒外
        • 支持多目录挂载,每个目录可独立设置读写权限
        • 无需 Docker 环境,轻量零依赖,开箱即用
        • 环境变量隔离:自动覆盖子进程的 HOME/TEMP 等变量,防止通过默认路径感知沙盒外环境

        远程客户端沙盒(Electron 桌面端)

        • 大模型通过 WebSocket 远程操控用户本地电脑,服务端无需安装任何开发工具链
        • Electron 客户端登录后自动与服务端建立 WebSocket 长连接,Agent 的 bash、文件读写、搜索等操作全部转发到客户端本地执行
        • 支持 sandboxRoot 路径限制,只允许操作配置范围内的目录,每个目录可独立设置读写权限
        • 断线自动重连,心跳保活,连接稳定可靠
        • 适用场景:用户希望 AI 直接操作自己的电脑(写代码、执行命令、管理文件),无需配置 Docker 或服务器环境

        管理员模式(开发调试用)

        • Agent 拥有宿主机完整权限,不受任何路径和命令限制
        • 适合可信环境或开发阶段快速验证,不建议在生产环境开启

        📋 沙盒配置示例

        沙盒配置在 MCP 工具管理中,类型选「tool」,content 填 JSON:

        Docker 容器沙盒(企业生产推荐):

        {
          "type": "coding",
          "sandbox": "docker",
          "sandboxRoot": [
            {"hostPath": "D:/projects/my-app", "containerPath": "/workspace", "write": true},
            {"hostPath": "D:/datasets/train-data", "containerPath": "/data", "write": false}
          ],
          "networkMode": "none",
          "memoryMaxSize": 500
        }
        

        Native 原生沙盒(个人开发推荐):

        {
          "type": "coding",
          "sandbox": "native",
          "sandboxRoot": [
            {"hostPath": "D:/projects/my-app"},
            {"hostPath": "D:/datasets/train-data", "write": false}
          ],
          "memoryMaxSize": 500
        }
        

        远程客户端沙盒(Electron 桌面端,AI 操作本地电脑):

        {
          "type": "coding",
          "sandbox": "remote",
          "sandboxRoot": [
            {"hostPath": "D:/projects/my-app"},
            {"hostPath": "D:/datasets/train-data", "write": false}
          ]
        }
        

        管理员模式(开发调试用,无任何限制):

        {
          "type": "coding",
          "sandbox": "false",
          "workDir": "D:/projects/my-app"
        }
        

        sandboxRoot 字段说明

        字段 说明 必填
        hostPath 宿主机绝对路径 ✅ 必填
        containerPath 容器内挂载路径 Docker 必填,Native 忽略
        read 读权限 默认 true
        write 写权限 默认 true

        说明sandboxRoot 数组第一条即为默认工作目录。networkMode 仅 Docker 模式生效,"none" = 完全断网(最安全),"bridge" = 可联网(需要 curl/git clone 等场景)。

        下载代码请复制以下命令到终端执行:
        git clone https://gitee.com/aizuda/lingclaw.git

0个回复

  • 暂无回复