JitAI Harness:
长在企业业务中的智能体

让企业应用本身,成为智能体的工作现场

Harness 解决的正是模型之外的问题:如何把任务所需的知识、工具、运行状态与控制规则组织起来,使智能体能够持续工作。 不同 Harness 的设计,取决于它希望智能体进入什么工作现场。JitAI Harness 选择的现场是企业应用本身。

“找出最近交付延期、且已经发生客户投诉的订单,判断原因,给出处理建议,再安排负责人跟进。”

人听到这句话,会想到订单、客户、投诉记录、交付规则和负责部门。通用大模型听得懂文字,却未必知道这些对象在一家企业的系统里叫什么、 彼此如何关联、当前用户能看哪些数据,以及“安排跟进”究竟对应什么业务动作。
同样的组件 模型、工具、指令、记忆、会话和审批——今天被称为 Harness 的产品往往有相似的组件。
不同的组织方式 差别不在组件清单,而在把这些组件组织起来的方法并不相同。
不同的现场 编码 Harness 把代码仓库变成工作现场;JitAI 把企业应用变成智能体的工作现场。
01

主流 Harness 各自怎么做

今天被称为 Harness 的产品,往往有相似的组件:模型、工具、指令、记忆、会话和审批。但它们把这些组件组织起来的方法并不相同。

Agent 宿主

DeepSeek Harness:把宿主拆成可组合的插件

DeepSeek Harness 的核心主张是“一切皆插件”。模型适配、工具、会话记录,乃至驱动 Agent 工作的循环,都可以由插件提供。 使用者通过不同的能力组合,搭建适合自己的 Agent 宿主。

这种做法的长处是宿主本身可替换、可重组。团队若要改变工具如何执行、会话如何记录或 Agent 如何运转,可以在插件层面做文章。 它解决的是“怎样构建一个足够可塑的 Agent 运行环境”。要让 Agent 理解某家企业的订单、客户和流程,还需要进一步把这些业务语义接入其中。

设计重心:宿主各部分的可组合性。官方目前将该产品标为开发者预览。
开发者预览参考:产品介绍
编码代理

Pi:保留小核心,把工作方式交给开发者扩展

Pi 从一个精简的编码代理出发。基础循环负责与模型交互、调用工具和维持会话;开发者通过 Extension 加入新工具、拦截执行事件、 改变交互界面或接入模型。它有意不把计划模式、子 Agent 等工作方式全部固化为默认行为,而是允许使用者按需要构造。

Pi 的精妙之处是把选择留给开发者:想要什么样的编码助手,就通过扩展把它搭出来。它默认面对的是开发工作区; 企业业务对象、岗位权限与业务流程并不是这套小核心天然理解的内容。

设计重心:小核心与开发者自由度。
参考:Pi 官方介绍扩展机制
软件工程

Codex:围绕代码库形成“探索、修改、验证”的闭环

Codex 的工作主线是读取项目规则和代码库,在工具帮助下定位问题、修改文件、运行命令,再根据结果继续迭代。 项目指令、Skill 和外部工具为任务提供上下文与能力;沙箱和审批策略限定本地执行的边界。

这套做法适合软件工程,因为代码、文件、命令和测试构成了一条清晰的反馈链。Codex 可以帮助开发 JitAI 应用, 但一个面向员工的销售 Agent 需要面对的工作对象,已经从代码文件变成了业务数据、服务、页面和人。

设计重心:探索、修改、验证代码。
参考:OpenAI Docs自定义机制沙箱与审批
开发流程

Claude Code:用项目知识和工作流扩展开发代理

Claude Code 同样以代码库为工作现场。项目指令提供持久约定,Skill 提供专项做法,Hook 可以在关键事件上执行规则, MCP 和子 Agent 扩展工具与协作范围;终端、IDE 和桌面等界面承载开发过程。

它体现的是另一种成熟的编码 Harness 思路:让开发流程中的知识、工具和检查点进入代理的工作循环。 当工作对象变成企业客户、订单、组织和审批时,仍需要另外建立这些对象的语义与执行边界。

设计重心:持续完成开发工作。
参考:Claude Code 官方介绍
长任务基础设施

Deep Agents:为长任务预置通用工作能力

Deep Agents 在通用 Agent 之上提供规划、文件化上下文、子 Agent、记忆与人工介入等能力。它帮助开发者较快搭出能处理多步骤任务的 Agent, 之后再把自己的工具和数据接进去。

焦点差异:这类 SDK 解决的是“长任务 Agent 应具备什么通用设施”。JitAI 关注的是“Agent 如何理解企业里的业务对象,并在应用中完成工作”。两者的设计焦点不同。
参考:Deep Agents 官方文档
02

JitAI Harness 怎么做

JitAI 的起点不是给模型准备一组孤立的 API,而是把企业应用拆成有身份、有说明、可加载、可调用的元素。数据模型、服务、知识库、文件空间、 页面、Agent 和 Skill 都在这套体系里。业务应用可以复用已有元素,Agent 也从相同的应用结构中获得能力。

这种设计形成一条连续的工作路径:

STEP 1发现业务对象
STEP 2确认对象含义和调用约束
STEP 3选择做事方法
STEP 4按需启用执行能力
STEP 5在当前用户与应用上下文中工作
STEP 6将结果交还业务流程

其中有六个值得关注的机制。

03

六个值得关注的机制

元素、语义、方法、动作、权限与人机决策,各自解决 Agent 进入企业现场时的一道具体问题。

01

元素模块化:业务系统本身成为能力目录

传统接入方式常把一批接口重新包装成 Agent 工具,再单独维护一份工具说明。接口一多,模型既难以挑选,说明也容易与真实系统脱节。

JitAI 的元素既是应用的组成单元,也是 Agent 发现能力的起点。模型元素描述业务对象,服务元素描述可执行动作,知识元素承载业务资料。 Agent 可以先依据名称和描述找到候选,再读取目标的字段、参数与操作约束。应用中的同一项业务能力因此不必为每个 Agent 重新发明一种表达方式。

巧妙之处在于减少“业务系统”和“Agent 工具箱”之间的翻译层。业务能力新增或调整后,Agent 的能力发现仍以当前应用中的元素及其说明为依据。
当然,这要求元素的名称、描述和契约维护准确;自感知不是让模型凭空猜出系统结构。
02

系统语义自感知:先找到真实对象,再读取细节

企业系统可能有成百上千个模型和服务。把所有字段、参数和规则一次塞进模型上下文,既昂贵,也会让选择变得混乱。 JitAI 采用渐进式发现:先从业务名称与描述中定位候选对象;确认目标后,再读取它的详细结构和调用说明。 对于数据模型,Agent 要先确认模型及字段;对于服务函数,要先确认函数及参数,之后才进行调用。

这使 Agent 面对“查客户交付风险”时,可以从真实存在的客户、订单和交付对象出发,而不是猜测数据库表名或凭空编造接口。 系统语义来自应用的自描述与查询结果,模型负责理解和选择,业务系统负责提供可核对的事实。
03

Skill 与插件渐进加载:方法和执行能力分开进入任务

企业需要沉淀两种不同的资产。Skill 是“怎么做”:例如交付风险如何判断、异常订单要核对哪些证据、处理建议应按什么顺序形成。 插件是“能做什么”:例如查询业务模型、调用服务、生成文档或与用户交互。

JitAI 不要求把所有 Skill 正文和所有插件工具同时交给模型。Agent 可以先看 Skill 目录,遇到匹配任务的方法再读取完整内容; 如果该 Skill 声明需要特定模型、函数或交互能力,再按需启用。当前 Agent 已配置为候选的业务插件,也先以能力名称和描述供 Agent 判断, 需要时才激活,其工具随后进入可用范围。

这不是单纯节省上下文。方法、能力和任务保持松耦合:同一套“交付风险研判”方法可以被多个 Agent 复用,执行动作由当前 Agent 已配置的插件提供。 能力目录再大,一次任务也只需要展开与当前目标有关的部分。
04

从数据到动作:让 Agent 在业务应用里闭环

很多 Agent 能检索知识、生成建议,却无法把建议落实到系统里。JitAI 把数据模型和服务函数作为两类核心连接:前者让 Agent 看见业务状态, 后者让它调用业务动作;页面和交互能力则让人可以查看、确认和接续处理。

因此,同一个 Agent 可以围绕一项业务任务完成“找记录、读规则、分析、提出动作、获得确认、调用服务、返回结果”的链条。 这里的闭环不是承诺每个场景都自动执行,而是企业可以在同一应用体系内配置从信息到行动的路径。
05

发现与授权分离:知道某项能力,不代表可以使用它

企业需要开放探索,也需要边界清楚的生产流程。JitAI 支持让 Agent 根据目录寻找相关能力,也支持为特定 Agent 限定能力范围; 用户角色、业务元素的调用规则和人工确认可进一步约束执行。

这一区分很关键:能力目录回答“当前应用中有哪些可发现的业务能力”,Agent 配置与用户权限回答“这次任务可以使用哪些能力”。 模型可以提出选择,不能仅凭自己的判断获得系统授权。
实际权限和审批效果仍需按接入的业务对象与流程逐项配置和验证。
06

业务消息卡片:让人机交互深入任务,而非停在聊天框

企业任务中的“给人看”和“请人决定”不是同一种交互。前者可能需要表格、图表、指标或业务记录;后者可能需要选择方案、修改信息、确认操作, 甚至提交一份表单。把这些都写成一段文本,会让用户在对话与业务页面之间反复切换,也难以把人的反馈准确交还给 Agent。

JitAI 把消息卡片也组织成可复用的业务元素。卡片有自己的名称、用途、输入要求和展示方式:Agent 可以先发现适合当前任务的卡片, 再按卡片约定填入业务数据。展示型卡片呈现结果而不打断任务;交互型卡片收集选择、确认或补充信息,等待用户操作后再让 Agent 接续。 当前应用中已经有统计结果的表格与图表、记录表单、人工确认等不同形态;企业也可以为自己的业务场景定义专属卡片。

这里的精妙之处是:卡片不是给聊天界面添一个好看的组件,而是把用户的判断变成任务下一步可使用的结构化输入。 同一套 Agent 可以根据业务对象和当前环节,给不同用户呈现不同的信息与操作方式;从“看结果”到“作决定”再到“继续执行”,人始终留在工作流程里。
对比

其他 Harness 并非完全做不到自定义交互。Pi 的扩展支持自定义终端组件,DeepSeek Harness 也支持扩展 Web 会话节点。 JitAI 更鲜明的设计在于:把业务卡片与数据、服务、Skill 一样纳入应用能力体系,让 Agent 按语义找到合适的卡片,并把人的反馈接回业务任务, 而不是为每个 Agent 单独搭一套界面。

04

一项业务任务在 JitAI 中如何运行

仍以“找出延期且被投诉的订单,安排跟进”为例。一个配置了相应能力的 Agent,可以按以下路径工作:

1

识别业务概念

从当前任务识别“订单、投诉、交付、负责人”等业务概念。

2

在能力目录中寻找真实对象

在应用的能力目录中寻找真实存在的模型、服务和适用的 Skill,不凭名称猜测字段或函数。

3

读取细节并按需启用能力

读取选中对象的详细说明,并加载“交付风险研判”等 Skill;需要额外执行能力时,按需激活已配置的插件。

4

在权限范围内分析并呈现

在当前用户可用的范围内查询记录,结合业务规则整理风险原因与建议,并用适合该任务的表格或图表卡片展示。

5

由人决定,再继续执行

当后续动作需要人决定时,发送包含相关订单和处理选项的交互卡片;用户确认或补充信息后,Agent 据此继续调用相应业务服务。

6

把结果留在业务里

把处理结果留在会话与业务应用中,供后续查看和接续处理。

结论

这个例子说明 JitAI Harness 与通用编码 Harness 的根本差异:编码 Harness 把“代码仓库”变成可理解、可操作的工作现场; JitAI 则把“企业应用”变成智能体的工作现场。

05

放在一起看:设计重心在哪里

同样是 Harness,主要工作现场与能力进入任务的方式不同,设计重心自然不同。

Harness 主要工作现场 能力如何进入任务 设计重心
DeepSeek Harness 可定制的 Agent 宿主 组合与替换插件,构成所需运行环境 宿主各部分的可组合性
Pi 开发者工作区 用 Extension 改造工具、事件与交互 小核心与开发者自由度
Codex 代码库与开发环境 项目规则、Skill、工具与执行反馈进入开发循环 探索、修改、验证代码
Claude Code 代码库与开发流程 项目知识、Skill、Hook、工具和子 Agent 协作 持续完成开发工作
Deep Agents 应用自定义的长任务环境 预置规划、文件上下文和子 Agent 等通用能力 多步骤任务的通用设施
JitAI Harness 企业应用与业务流程 元素语义发现,Skill、插件与业务卡片按需选择,结合用户与应用上下文执行 让业务能力和人机决策一起进入 Agent 工作流程
选择

这些 Harness 并非互斥。企业可以用 Codex 或 Claude Code 开发应用,用 JitAI Harness 交付面向员工和客户的业务 Agent。 选择时应先明确要解决的是“如何构造 Agent 宿主”“如何完成开发任务”,还是“如何让 Agent 进入真实业务系统”。

结语

业务语义、工作方法、执行能力、人机决策与用户边界,形成一条可持续复用的路径

JitAI Harness 的价值不在于给模型增加更多工具按钮,而在于让业务语义、工作方法、执行能力、人机决策与用户边界形成一条可持续复用的路径。 元素让系统有可发现的结构,Skill 沉淀做事方法,插件按需提供行动能力,消息卡片承接结果与人的判断,应用上下文把行动落到具体用户和业务场景。

当企业持续增加数据模型、服务和流程时,这套组织方式比为每个 Agent 单独堆砌提示词和接口更有扩展性。 最终效果仍取决于元素描述、能力配置、权限规则与业务验收是否到位;这些也是企业落地时应验证的具体内容。

元素让系统有可发现的结构
Skill沉淀做事的方法
插件按需提供行动能力
消息卡片承接结果与人的判断