DolphinX:DolphinDB 的企业级 Agent 底座

随着大模型开始进入真实业务系统,企业面临的问题已经不只是“模型如何访问数据”。更关键的是,Agent 能否按权限访问数据,能否理解业务上下文,能否安全调用 DolphinDB 脚本和外部工具,以及出现问题后能否进行审计、监控和运维。

DolphinX 正是为了解决这些问题而设计的。它是 DolphinDB AI 产品线中的 Agent 平台层,向下接入 DolphinDB 的数据、计算、编程、知识库、MCP 和 Skill,向上支撑 AI 客户端、行业 Agent、Dlang Coding Agent 以及客户自研 Agent。简单说,它让企业可以围绕 DolphinDB 构建 Agent,而无需在数据库之外再搭建一套独立的 Agent 运行环境。

本文档适用于 DolphinDB server 3.00.6 及以上版本。

1. 产品定位:AI 产品线中的 Agent 平 台层

1. 图 1-1 DolphinDB AI 产品线架构

DolphinDB 的 AI 产品线可以按职责分成几层。底层负责数据存储、统一计算和 Dlang 编程;往上一层为知识库、机器学习、深度学习,以及面向时序和表格数据的基础模型;最上面则是直接给用户使用的应用,比如 AI 客户端、行业 Agent、Dlang Coding Agent、智能体评估系统和数据库 AI 运维平台。

DolphinX 位于中间的 AI 平台层。它并不替代具体的业务 Agent,而是将 Agent 运行过程中涉及的模型接入、会话管理、记忆管理、权限管理、Token 配额管理、监控与审计等共性能力统一提供,避免不同应用重复实现 Agent 的基础运行能力。

DolphinDB 提供的查询、分析、可视化能力,以及金融、物联网等行业能力,可以封装成 MCP 或 Skill。DolphinX 可以把这些能力组装成业务 Agent;如果客户已经有外部 Agent 平台,也可以直接复用同一套 DolphinDB 能力。

2. 为什么需要 DolphinX

企业在构建 AI 应用时,常常采用"数据库 + 外部 Agent 框架 + 自建工具链"的方式快速搭建原型。这种方案能够满足早期验证需求,但随着应用进入生产环境,一些共性问题会逐渐显现。

第一,数据库能力和 Agent 运行体系容易脱节。模型能生成 SQL 或脚本,但脚本怎么安全执行,如何继承当前用户权限,哪些操作必须拦截,审计信息记录在哪里,这些都需要额外开发。

第二,Agent 基础设施会被不同团队重复建设。每个团队都要处理会话、上下文压缩、模型接入、工具调用、流式输出、记忆和用量统计。短期看只是多写一些胶水代码,长期看会变成治理负担。

第三,企业经验很难沉淀。Dlang 编程规范、数据库运维经验、数据分析方法、金融投研流程、工业诊断规则,如果仅仅保存在某个 Prompt 或项目代码里,很难统一发布、授权、升级和跨 Agent 复用。

DolphinX 把这些生产级 Agent 需要的公共能力统一纳入 DolphinDB 体系中。开发者可以直接复用平台提供的会话、上下文、模型、Skill、MCP、Memory、安全执行和管控能力;企业也可以在统一的平台上管理多个 DolphinDB 场景 Agent,实现模型、能力资产和运行策略的统一管理。

业务系统仍可根据自身需求负责前端、流程、文件解析和业务工具。DolphinX 负责和 DolphinDB 深度相关的 Agent 运行时和治理能力。这样既不限制业务开发,又能减少从原型走向生产时的重复工作。

3. 三种使用方式:直接用、配置用、开发用

DolphinX 面向不同用户提供三种接入方式:使用官方内置 Agent、通过 Web 管控台配置专用 Agent、或者通过 DolphinX API 开发自定义 Agent。企业可以按场景复杂度和开发投入选择。

3.1 内置 Agent:直接使用

2. 图 3-1 DolphinDB内置 Coding Agent

DolphinX 提供开箱即用的内置 Agent,例如面向 Dlang 和 DolphinDB 开发运维的 Coding Agent。通过自然语言交互,可以辅助编写 DLang 脚本、理解函数用法、生成测试样例、排查代码问题,以及分析数据库运维现象,也可用于量化投研和回测系统开发等场景。

这种方式适合想快速使用 AI 辅助能力的 DolphinDB 用户。无需搭建 Agent 框架或自行配置完整的工具链,即可直接在 DolphinDB 场景中获得开发、分析和运维方面的 AI 辅助能力。

3.2 Web 管控平台:配置专用 Agent

3. 图 3-2 DolphinDB Web 管控平台

业务团队可以在 Web 端配置 Agent。常见配置包括 Agent Prompt、Skill 绑定、大模型选择、MCP Server、访问权限等。配置完成后,就可以得到一个面向具体业务场景的专用 Agent。

例如,金融投研 Agent 可以绑定资产定价、因子开发、研报复现和数据导入相关 Skill;数据库运维 Agent 可以绑定性能诊断、Dlang 编程风格和运维经验 Skill;工业物联网 Agent 可以绑定实时数据导入、异常监测和预测性维护能力。

这种方式的重点不是把所有能力塞进一个通用助手,而是把不同场景的知识、工具和权限组合成多个 Agent。它们共享 DolphinX 的基础设施,但保留各自的业务边界和权限边界。

3.3 DolphinX API:开发自定义 Agent

复杂业务场景通常需要更深层次的系统集成。DolphinX 通过 API 开放 Harness 能力(请参见MCP 使用指南)。开发者可以通过 DolphinX API 把 Agent 嵌入现有业务系统,也可以和文件解析、任务流、前端页面、业务工具、审批流程结合起来。

在这种模式下,业务系统继续负责前端交互、任务状态、文件解析和业务工具执行;DolphinX 负责 Agent 运行时,包括会话管理、上下文组装、模型调用、Skill 注入、工具结果回填、记忆和调试观测。

例如,在投研报告复现、因子研究工作台、自动化回测平台或工业诊断流程编排中,业务系统可以先完成数据准备和任务管理,再调用 DolphinX 推进 Agent 对话、生成分析计划、处理工具调用结果,并沉淀会话过程。研发团队保留业务逻辑的灵活性,同时复用 DolphinX 已有的 Agent 基础能力。

这三种方式可以组合使用。企业可以先用内置 Agent 体验能力,再通过 Web 配置业务 Agent;当场景需要深度集成时,再通过 API 接入自有系统。

4. 核心能力:企业级 Agent 的运行时基础

企业级 Agent 要在长会话、多工具、多模型、多用户和真实数据环境中稳定运行。它既要让模型看到足够的信息,又要控制上下文成本;既要扩展领域能力,又不能把所有材料一次性放进上下文;既要沉淀长期经验,又要避免错误记忆污染后续回答;既要能调用工具和执行脚本,又必须受到权限和安全边界约束。

DolphinX 围绕这些问题设计了自动上下文管理、Skill 体系、记忆机制、MCP、Workspace 和 AIScript 等模块。它要解决的不是“做一个能聊天的 Agent”,而是让 Agent 在 DolphinDB 场景下长期可用、可扩展、可调试、可控制。

4.1 自动上下文管理:让模型看到该看的内容

在 Agent 系统里,上下文不是简单的“聊天记录”。它更像一次模型调用前的工作台:系统规则、当前问题、历史摘要、工具定义、Skill、记忆和业务系统传来的材料,都可能影响模型这一轮的回答。问题在于,这些内容不能无节制地放入上下文。内容太少,模型缺信息;内容太多,成本上升,重点也会被冲淡。

4. 图 4-1 自动上下文管理原理图

DolphinX 中有专门的组件承担上下文的组装任务。业务系统发起一轮 chat.completions 时,无需自行拼接完整 Prompt;DolphinX 会根据 Agent 配置、会话状态、模型窗口和本轮输入,决定哪些内容进入模型请求。系统提示词和当前轮输入优先保留、工具、Skill、记忆和外部上下文按配置进入;历史消息则通过 summary-first 方式处理:前面的长历史用摘要承接,最近的原始对话保留在尾部。

这样做有两个好处。第一,长会话不会随着消息增长线性占用上下文窗口。随着对话持续进行,DolphinX 会用会话摘要压缩早期历史,而不是粗暴丢弃最近几轮内容。第二,能力扩展不会变成 Prompt 膨胀。Skill、记忆和工具都可以注册在平台里,但每一轮只把当前任务需要的部分放进上下文。

自动组装适合大多数对话。更复杂的场景,比如投研报告复现、工业诊断流程、带任务状态的业务工作台,也可以使用 assemblyConfig 进行手动补充。调用方可以传入本轮临时工具、指定要激活的 Skill,或者把业务系统已经整理好的材料放进上下文。DolphinX 会把这些外部材料放在受控位置,避免它们越过 Agent 原本的系统边界。

这套机制也提供可观测入口。context.preview 和正式对话使用同一套组装逻辑,但它只返回预览结果,不调用模型,也不写入会话。开发者可以看到本轮模型实际会收到什么、工具是否注入、Skill 是否加载、记忆是否召回,以及 token 大致消耗在哪些部分。排查 Agent 效果时,这比反复猜测“模型到底看到了什么”要直接得多。

DolphinX 的自动上下文管理机制,把上下文从应用代码里的手写拼接,变成了平台负责管理的运行过程:可配置、可预算、可预览,也能在超出模型窗口时给出明确诊断。

4.2 Skill 体系:领域能力按需加载

企业 Agent 中的领域知识、任务方法、工具规范和示例材料会越来越多。如果全部写进 Agent Prompt,Prompt 会很快失控,也难以管理版本;如果每轮都把所有材料放进上下文,会浪费 token,还会干扰模型判断当前任务重点。

DolphinX 的 Skill 体系用来处理能力扩展和上下文节制之间的矛盾。一个 Skill 可以描述某类任务的处理方法、领域约束、工具使用方式、示例文件和参考资料。它不是一段更长的提示词,而是一个可注册、可绑定、可检索、可按需注入的能力包。

Skill 的运行时加载分为三层。

第一层是 Skill Catalog。Catalog 只包含 Skill 名称、描述、参数提示等摘要信息。它告诉模型当前 Agent 有哪些能力可用,但不会把完整说明、示例和参考文件全部注入上下文。

第二层是 Skill Instruction。当模型判断某个 Skill 应参与当前任务时,DolphinX 才会加载对应 Skill 的详细指令。Instruction 通常描述处理原则、约束、步骤、输出格式和工具使用规范,并作为任务级说明进入上下文。

第三层是 Skill Files。Files 包可以包含模板、示例、参考文档或辅助材料,但这些文件不会默认展开进上下文。运行时可以通过列出文件、按路径读取、按行范围读取、搜索关键词或批量获取等接口,按需读取相关片段。

这种 Catalog、Instruction、Files 的分层加载,让 Skill 可以存得多,但每轮用得轻。系统可以沉淀大量 DolphinDB 编程规范、数据库运维经验、数据分析方法、金融投研流程和工业诊断规则,但每一轮上下文只加载当前任务真正需要的部分。

Skill 的可见性由权限控制。一个 Skill 注册进系统,不代表所有 Agent 都能使用。DolphinX 可以按 Agent、用户和权限范围控制 Skill 的可用性,实现业务上的共享和隔离。

4.3 工具接入与受限执行

除了生成回答,Agent 还需要调用外部工具、访问 DolphinDB,或者执行模型生成的脚本。DolphinX 为这些场景提供 MCP 接入、AIScript 受限执行和会话级 Workspace。

在工具接入方面,DolphinX 支持通过 MCP 绑定 DolphinDB 内置能力(DolphinDB 可作为MCP Server,参见MCP 使用指南 )或第三方工具。管理员可以在平台中配置 MCP Server,并绑定到指定 Agent。DolphinX 在运行过程中会根据 Agent 配置注入可用工具。模型返回工具调用后,由运行时或上层应用执行对应工具,再把结果回填给模型继续处理。

对于 DolphinDB 内置 MCP,工具调用可以复用当前 DolphinDB 用户身份,和数据库现有权限体系保持一致。Agent 无需建立独立于数据库之外的权限模型,即可安全访问已有数据和计算能力。第三方 MCP 则可以通过配置的 Server 地址和认证方式接入外部能力,并在 Agent 绑定范围内控制可用性。

在脚本执行方面,DolphinX 提供 AIScript,用于执行由 Agent 生成、但尚未经过人工审核的 DolphinDB 脚本。AIScript 会在脚本实际执行前进行解析和安全检查,并对删除、清理、取消定义等高风险操作进行限制。对于外部 Agent 生成的 DolphinDB 脚本,建议优先通过 AIScript 执行,而不是直接提交到数据库。

对于 Coding Agent 或类似代码类 Agent,DolphinX 还提供会话级 Workspace。Workspace 是面向 session 的临时文本文件区,用来保存脚本、代码草稿、中间结果和局部修改结果。它可以避免模型在多轮对话中反复输出完整文件,更适合多轮代码修改、调试和脚本生成。

5. 企业级管控与治理:把 Agent 纳入统一平台

Agent 真正进入企业环境后,关注点会从“能不能回答”变成“谁能用、能用什么、如何管理”。一个 Agent 可能绑定多个模型、多个 Skill、多个 MCP Server,还会产生会话、记忆和用量记录。如果这些东西分散在不同项目里,后续授权、升级维护都会变得很难。

DolphinX 的 Web 管控系统负责这部分工作。它围绕 Agent、模型、Skill、MCP、Memory、会话和用户权限提供统一入口,让企业把多个 DolphinDB 场景 Agent 纳入同一套配置、权限和运维体系,避免每个业务团队各自维护一套后台。当前 Web 管控能力包括 Agent 管理、模型配置、技能管理、MCP 管理、记忆管理、用户管理和个人中心等。

5.1 Agent 生命周期与权限边界

在 DolphinX 中,Agent 是平台中的可管理对象。管理员可以创建、编辑和删除 Agent,也可以维护 Agent 的相关配置。普通用户只能访问被授权的 Agent,具备管理权限的用户才能进入对应配置页面。

这种权限分层让 Agent 的使用和管理都能纳入 DolphinDB 既有用户体系。谁能调用 Agent,谁能管理和配置 Agent,都有明确边界,避免企业内部 Agent 能力无序扩散。

5.2 模型、Skill 与 MCP 的统一配置

DolphinX 将模型作为平台资源管理。管理员可以配置不同 LLM Provider 和模型配置,包括模型类型、上下文窗口、并发限制等,也可以将模型绑定到指定 Agent。模型选择、模型切换以及多模型适配都通过平台配置完成,无需修改 Agent 代码。

Skill 和 MCP 也采用类似方式管理。Skill 可以注册、启用、禁用,并绑定到指定 Agent;MCP Server 可以配置、测试,并绑定到不同 Agent。Dlang 编程规范、数据库运维经验、数据分析流程、金融定价方法等 Skill 能力,可以沉淀为可管理资产,再按不同 Agent 的职责灵活组合。

基于统一的平台资源,Agent 的能力组合可以持续调整。一个运维 Agent 可以绑定运维诊断相关 Skill 和 DolphinDB 内置 MCP;一个投研 Agent 可以绑定因子开发、研报复现、资产定价相关 Skill;一个 Coding Agent 可以绑定 Dlang 编程、测试生成和代码调试相关能力。不同 Agent 复用同一套平台能力,但保持自己的权限和能力边界。

5.3 Memory、会话与上下文可观测

“DolphinX 将 Memory 和会话纳入统一管理。用户可以管理自己的个人 Memory 和会话列表;管理员则可以管理 Agent 级公共 Memory,维护 Agent 的长期背景知识。

DolphinX 还为开发者提供上下文预览功能,它可以在不调用模型的情况下查看本轮上下文组装结果。当回答效果不符合预期时,可以检查是否缺少某个 Skill,是否召回了不相关记忆,历史摘要是否进入上下文,工具定义是否占用了过多 token,然后再调整配置。

5.4 用户授权、用量统计与发布升级

企业级 Agent 还需要围绕用户、成本和版本进行统一治理。DolphinX 支持基于 DolphinDB 用户的授权管理,包括 Agent 访问权限、Agent 管理权限、LLM 配置访问权限、用户级 Skill 权限等。管理员也可以查看模型用量,用于分析使用情况和控制模型成本。

对于官方内置 Agent 和 Skill,DolphinX 提供初始化和升级能力。这样内置能力的发布和升级过程更可控,也便于企业环境下的运维确认。

DolphinX 的管控能力不是单独提供一个管理界面,而是把 Agent、模型、Skill、MCP、Memory、会话和用户权限放到同一套平台中管理。企业构建多个 DolphinDB 场景 Agent 时,可以复用统一的运行和治理能力,减少重复建设和维护成本,也能让 Agent 能力持续沉淀、分发和治理。

6. DolphinX 与个人 Coding Agent 的区别

以 Codex 为代表的个人 Coding Agent 配合 DolphinDB Skill,可以调用 DolphinDB 工具,辅助开发者完成Dlang 脚本编写、数据分析和问题排查。这种方式灵活、直接,适合个人开发、临时任务和原型验证。DolphinX 面向的则不是单个开发者的编码环境,而是企业中 Agent 的开发、运行与治理。两者都可以使用大模型和 Skill,但解决的问题并不相同。

服务对象不同。个人 Coding Agent 主要围绕开发者本人工作,使用个人配置、个人工作区和个人会话。DolphinX 面向多用户、多 Agent 和多个业务系统,可以将不同的模型、Skill、工具和权限组合成面向投研、运维、数据分析等场景的专用 Agent。

系统接入方式不同。个人 Coding Agent 主要通过自身的命令行或客户端与用户交互。如果企业希望将其能力嵌入已有业务系统,通常还需要自行封装服务接口,并重新建设会话、上下文和工具调用等基础能力。DolphinX 通过开放 API 提供 Agent 能力,现有客户端、投研平台、运维系统和行业应用可以直接接入,无需为了引入某一种 Coding Agent 而重构原有业务基础设施。

安全与审计能力不同。个人 Coding Agent 更侧重帮助开发者完成任务,其权限通常来自个人账号和本地运行环境。DolphinX 则需要明确控制谁可以访问哪个 Agent、使用哪些 Skill 和 MCP、查询哪些数据以及执行哪些脚本,并通过 AIScript 等机制限制高风险操作。同时,会话过程、模型调用、工具调用和用量信息可以被统一记录,为问题追踪、安全审计和成本管理提供依据。此外,DolphinX的安全与审计能力,还可以满足企业对于监管的需要。

能力管理方式不同。在个人使用模式下,模型、Skill、MCP 和提示词通常由开发者分别配置,容易随着人员和项目形成多个独立版本。DolphinX 将这些能力作为平台资源统一注册、授权、绑定和升级。企业可以让多个 Agent 复用同一套 DolphinDB 能力,同时保持各自的业务边界和权限边界,减少重复建设以及配置不一致带来的维护成本。

记忆沉淀方式不同。 个人 Coding Agent 的会话和记忆主要服务于个人,通常保存在个人工作环境或个人账号中,难以直接转化为组织可复用的知识。DolphinX 可以区分用户个人记忆与 Agent 公共记忆,并从实际使用过程中提取有长期价值的数据库经验、分析方法、业务规则和问题处理流程。经过整理和验证后,这些内容可以沉淀为可共享、可授权、可追溯、可持续更新的公共 Memory 或 Skill,使个人经验逐步转化为企业能力。

因此,个人 Coding Agent 与 DolphinX 解决的问题并不相同。前者用于开发者进行高自由度的编码、探索和调试,后者负责将 Agent 能力稳定地接入业务系统,并服务多个用户,接受统一的安全、审计和运维治理。

7. 结语:构建以 DolphinDB 为中心的 Agent

DolphinX 是 DolphinDB 的 Agent 开发与治理层。

它将模型接入、上下文管理、长期记忆、Skill、MCP、Workspace、AIScript、权限控制、安全执行和运维治理整合到统一平台中,为不同类型的 Agent 提供可复用的运行基础。

通过 DolphinX,开发者可以更快构建以 DolphinDB 为中心的 Agent;业务团队可以通过自然语言和工具调用使用 DolphinDB 的数据、计算与分析能力;企业则可以统一管理 Agent 的配置、发布、授权、模型、Skill、记忆、用量和运行过程。

DolphinX 补充了 DolphinDB 面向 Agent 应用所需的开发、运行与治理能力。它把 DolphinDB 的数据、计算、编程和行业能力组织成 Agent 可理解、可调用、可组合的能力,并通过统一的权限、安全和治理机制,支撑 Agent 从原型验证走向生产应用。