Agent JIT: DeepSeek Harness 插件

在 LLM agent 的开发实践中,循环中的确定性执行路径(例如多步工具编排、状态维护、中间数据流转)往往由模型逐次调用完成。这不仅消耗大量 token,还会将中间数据暴露给模型上下文。Agent JIT 是 DeepSeek Harness 的一款插件,它将这些确定性的路径编译成受限的 DSL 程序,并直接执行。它将“数据如何流通”的控制权从模型手中收回,让 Agent 仅保留作为规划者的角色,执行层则由编译器和运行时接管。

核心功能

Agent JIT 的核心能力在于将机械性的执行逻辑从 Agent Loop 中剥离。

1. 确定性路径编译

插件会将 Agent Loop 中已确定的执行路径编译成受限的 DSL 程序。这些程序通过 schema-validated graph runtime 进行确定性执行,不再需要模型逐次推理每一步。

2. 工具适配契约

agent-jit/adapter 提供了一个与具体 Harness 无关的最小工具适配契约。它支持工具目录的同步 live view:每次调用 catalog 或 listTools 时都会读取宿主当前可见的工具,而非初始化时的快照。这意味着动态注册或卸载工具会立即反映在查询结果中。

3. DSH 元工具与适配器

插件向 Harness 注册了两个元工具:
* jit_describe_tools:将工具描述为确定性函数式契约。
* jit_execute_program:将 DSL 源码编译并执行。

同时,插件提供了官方 bridge agent-jit/dsh,允许用户在 DSH 环境下直接使用这些功能。

4. 实验模式与工具发现

默认情况下,插件只注册元工具,不注册实验性的业务工具。通过配置 experimentMode: true,可以启用实验工具(如 github_*、crm_* 等)。宿主工具(通过 hostDiscovery)会自动被发现并注册,支持“describe 即用”。

安装与启用

Agent JIT 作为一个 DeepSeek Harness bundle,提供了预构建产物,安装过程无需构建授权。

1. 安装插件

推荐使用 npm 方式安装到 web profile:

dsh plugin --profile web add agent-jit

或者直接从 GitHub 安装:

dsh plugin --profile web add github:sybolization/agent-jit

2. 验证安装

安装后,启动 dsh web 时会自动加载。可以通过以下命令验证配置中是否包含 agent-jit-dsl:

dsh web --dump-config

3. 关于 Profile 与依赖

  • 该插件支持安装到 web、headless 或自定义 profile。
  • DSH 的 peer dependency 已标记为 optional。这意味着,如果你仅使用 agent-jit/adapter 进行自建 harness 开发,可以不安装 DSH;一旦导入 agent-jit/dsh,则需要宿主提供兼容的 Cordis、DSH Tools 和 DSH LLM。

典型用法

DSL 语法采用函数式编程风格,旨在简化确定性的数据流转。

示例:搜索仓库并获取详情

repos = github.search_repositories(query="dsl", limit=5)
details = map(repos, github.get_repository(full_name=_.full_name))
active = filter(details, archived=false)
top = take(active, 3)
return top

示例:文件操作与结果收集

files = glob(pattern="src/**/*.ts")
top = take(files.paths, 3)
hits = web_search(query="dsh plugin")
proof = bash(command="git log --oneline -1", description="验证")
both = collect(hits, proof)
return both

通过这种方式,原本需要 11 次模型往返的迭代调用,现在可以由 jit_execute_program 在 1 次调用中完成。

配置说明

插件支持通过配置文件进行行内 patch,控制其行为。

关键配置项:

  • experimentMode: false(默认):生产环境默认不注册实验业务工具(如 github_* 等),仅保留元工具。设为 true 时启用实验工具。
  • dsl.systemPrompt: false(默认):生产环境默认不注入 DSL system prompt,依靠工具描述中的 routingPrompt: tool-embedded 进行路由。
  • dsl.describeTools: true:控制是否注册 jit_describe_tools。
  • dsl.routingPrompt: tool-embedded:工具描述中包含 trigger 和中性 DSL manual。

关于 adapter:

agent-jit/adapter 目前是实验性 API。它定义了宿主边界,包含同步 catalog 接口和异步执行接口,适合在自建 harness 中复用工具注册和嵌套调用逻辑。

注意事项

  • 权限范围:插件以当前 DSH 进程的权限运行。安装前应检查仓库源码与许可证。
  • 工具发现:宿主工具通过 hostDiscovery 活视图自动发现,无需手动注册即可在 DSL 中编排。
  • 生态独立性:本插件位于 DeepSeek 社区目录,与 DeepSeek / 幻方无官方从属关系。

总结

Agent JIT 通过将确定性的执行逻辑从 LLM Loop 中 offload 到编译器和运行时,显著降低了 token 消耗、往返轮次和上下文暴露。它保留了 LLM 作为规划者的灵活性,同时让机械性的执行步骤变得高效且确定。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜