AI Agent Harness Engineering 生态未来格局:大模型厂商与独立创业公司的竞争与共生

本文字数:10247字 | 预计阅读时间:25分钟 | 适合人群:AI开发者、企业技术负责人、AI赛道创业者、投资人

引言

最近半年,我身边至少有10个做AI Agent的朋友问过我同一个问题:我开发AI Agent到底是用OpenAI的Assistants API这类大模型厂商自带的Agent平台,还是选Dify、LangSmith这种独立厂商的Harness工具?还有不少创业者问我:现在大模型厂商都在做Agent平台,独立做Harness还有没有机会?会不会做到一半就被大厂给卷死了?

这些问题的背后,其实是整个AI产业当下最核心的一个赛道博弈:AI Agent Harness(智能体管控套件)作为Agent时代的核心基础设施,未来的生态格局到底会是什么样?大模型厂商和独立创业公司之间,是赢者通吃的零和竞争,还是分层协作的共生关系?

对于开发者来说,这个问题决定了你选技术栈的沉没成本;对于企业来说,决定了你AI体系建设的长期灵活性;对于创业者来说,决定了你赛道选择的生死;对于投资人来说,决定了你下注的方向。今天这篇文章,我会从核心概念、竞争优劣势、生态分层、未来趋势等多个维度,把这个问题彻底讲透。

核心问题

本文将重点回答以下几个核心问题:

  1. 到底什么是AI Agent Harness?它和LangChain这类Agent框架、大模型本身的边界在哪里?
  2. 大模型厂商做Harness的核心优劣势是什么?独立创业公司的护城河在哪里?
  3. 未来Harness生态的竞争核心战场会是哪些领域?哪些是大模型的地盘,哪些是创业公司的机会?
  4. 有没有可能形成竞争共生的格局?双方的协作模式会是什么样的?
  5. 不同角色(开发者、创业者、企业)应该怎么应对当下的格局,做出最优选择?

文章脉络

本文首先会拆解AI Agent Harness的核心概念、边界、组成结构,然后分别分析大模型厂商和独立创业公司的优劣势,接着拆解核心竞争战场,再提出未来分层共生的生态架构,最后给出不同角色的最佳实践建议和未来趋势预测。


基础概念:AI Agent Harness到底是什么?

在讨论格局之前,我们首先要把概念搞清楚,现在很多人对Harness的认知很模糊,把它和Agent框架、大模型的工具调用能力混为一谈,这会直接导致对格局的判断出错。

核心定义

AI Agent Harness Engineering是支撑AI Agent全生命周期(开发、部署、运行、管控、运维、迭代)的整套技术体系和工具链,相当于Agent的「操作系统内核」:它向下对接不同的大模型、工具生态、企业内部系统,向上提供标准化的开发接口、编排能力、管控能力,让Agent能够稳定、安全、高效地执行复杂任务,不用开发者从零搭建所有底层能力。

很多人会问:我用LangChain也能搭Agent,为什么还需要Harness?本质区别是:LangChain这类框架是开发期的组件库,只解决Agent逻辑怎么写的问题;而Harness是全生命周期的管控平台,不仅包含开发期的编排能力,还包含运行时的管控、安全合规、可观测、成本优化、多Agent协同等生产环境必须的能力。举个简单的例子:你用LangChain写了一个客服Agent的逻辑,但是要上线给100万用户用,你需要做限流、熔断、敏感数据脱敏、日志审计、成本分摊、多租户隔离,这些能力LangChain本身不提供,都是Harness的范畴。

边界与外延

我们用边界定义法来明确Harness的范围,避免和其他概念混淆:

不属于Harness的范畴 属于Harness的核心范畴
大模型的训练、微调、部署 多模型的统一适配、动态路由、负载均衡
具体Agent的业务逻辑开发 低代码/无代码的Agent编排、DSL支持
第三方工具本身的开发 标准化的工具接入协议、工具调用的校验/重试/熔断
企业内部系统的开发 企业内部系统的标准化对接能力、数据打通
MLOps的模型生命周期管理 Agent的全生命周期管理、可观测、运维

核心要素组成

一个完整的Harness体系由6个核心层级组成,缺一不可:

模型适配层

工具集成层

工作流编排层

运行时管控层

安全合规层

可观测与运维层

  1. 模型适配层:支持对接所有主流大模型(通用大模型、垂直大模型、开源大模型、本地部署模型),提供统一的调用接口,实现模型的动态路由(比如简单任务用便宜的开源模型,复杂任务用GPT-4o)、负载均衡、故障转移、成本优化。
  2. 工具集成层:提供标准化的工具接入协议,内置常用工具(搜索、代码解释器、文件读写、API调用、RAG检索等),支持自定义工具的快速接入,自动处理工具调用的参数校验、重试、熔断、权限管控。
  3. 工作流编排层:提供可视化的低代码/无代码编排界面,或者DSL领域特定语言,支持任务的拆解、路由、分支、循环、依赖管理,实现多步复杂任务的自动化执行,不用开发者写大量的胶水代码。
  4. 运行时管控层:负责Agent的生命周期管理(启动、暂停、终止、扩容)、资源调度、执行状态的实时追踪、异常处理、成本管控(比如限制单任务的大模型调用次数、Token消耗阈值)。
  5. 安全合规层:负责输入输出的内容审核、敏感数据的脱敏、细粒度的权限管控(比如Agent不能访问未授权的内部API)、操作审计、全链路可追溯,满足等保2.0、GDPR、行业监管等合规要求。
  6. 可观测与运维层:提供Agent执行的全链路日志、核心指标监控(成功率、延迟、成本、准确率)、自定义告警、Debug工具、性能优化建议,让开发者可以快速定位问题,迭代Agent的效果。

相关概念对比

我们用表格来对比Harness和其他相关概念的区别,帮大家进一步理清边界:

概念 核心定位 核心能力 与Harness的关系
大模型 Agent的「大脑」,提供推理、理解、生成能力 自然语言处理、逻辑推理、工具调用决策 Harness的底层依赖,Harness对接大模型,调度大模型能力
Agent开发框架(LangChain、LlamaIndex) 开发期的组件库,帮助开发者快速搭建Agent逻辑 组件化的Agent逻辑封装、RAG、工具调用封装 Harness的底层组件之一,Harness会集成这些框架的能力,同时提供运行时的管控能力
MLOps平台 大模型的全生命周期管理平台 模型训练、微调、部署、监控 Harness专注于Agent的生命周期管理,MLOps是大模型的管理平台,Harness可以对接MLOps平台获取模型服务
垂直Agent应用 面向终端用户的具体Agent产品 解决特定场景的具体问题(比如客服Agent、代码Agent) 基于Harness开发、部署、运行,Harness是垂直Agent的支撑底座

生态实体关系

整个Harness生态的实体关系可以用下面的ER图表示:

提供

被对接

提供

集成

支撑

部署使用

开发

使用

大模型厂商

大模型

Harness

独立Harness厂商

工具生态

Agent应用

企业用户

个人开发者

终端用户

Harness核心工作流程

Harness处理用户请求的标准流程如下,我们也做了一个简单的算法流程图:

用户请求输入

Harness请求预处理/敏感数据校验

任务拆解/路由决策

是否需要调用工具?

工具选择/参数生成

工具调用/结果校验

大模型推理/结果生成

结果安全审核/合规校验

是否满足任务要求?

结果输出/日志归档

指标上报/告警

综合价值评估模型

我们可以用以下量化公式评估某款Harness产品的综合价值VVV,方便大家做技术选型:
V=w1×F+w2×S+w3×C+w4×O+w5×I V = w_1 \times F + w_2 \times S + w_3 \times C + w_4 \times O + w_5 \times I V=w1×F+w2×S+w3×C+w4×O+w5×I
其中:

  • FFF:功能完备度得分,取值0-100,覆盖模型支持、工具集成、编排能力、管控能力等维度
  • SSS:安全合规得分,取值0-100,覆盖数据安全、权限管控、审计溯源、合规认证等维度
  • CCC:成本收益比,取值0-100,计算方式为C=100×(收益−成本)/收益C = 100 \times (收益 - 成本)/收益C=100×(收益成本)/收益,成本包含授权费、运维成本、二次开发成本
  • OOO:开放性得分,取值0-100,覆盖是否开源、是否支持多模型、是否支持自定义扩展、是否有开放协议等维度
  • III:集成复杂度反向得分,取值0-100,集成越简单得分越高,计算方式为I=max(0,100−集成工作量(人天))I = max(0, 100 - 集成工作量(人天))I=max(0,100集成工作量(人天))
  • w1,w2,w3,w4,w5w_1, w_2, w_3, w_4, w_5w1,w2,w3,w4,w5为权重系数,不同场景权重不同:比如个人开发者场景w1=0.3,w2=0.1,w3=0.3,w4=0.2,w5=0.1w_1=0.3, w_2=0.1, w_3=0.3, w_4=0.2, w_5=0.1w1=0.3,w2=0.1,w3=0.3,w4=0.2,w5=0.1;金融企业场景w1=0.2,w2=0.4,w3=0.1,w4=0.2,w5=0.1w_1=0.2, w_2=0.4, w_3=0.1, w_4=0.2, w_5=0.1w1=0.2,w2=0.4,w3=0.1,w4=0.2,w5=0.1

极简Harness实现Demo

为了让大家更直观理解Harness的核心逻辑,我写了一个只有100多行代码的极简Harness实现,包含模型适配、工具集成、运行时管控的核心能力:

from typing import List, Dict, Any
import openai
import dashscope
from serpapi import GoogleSearch

# 模型适配层:统一不同大模型的调用接口
class BaseModel:
    def chat(self, messages: List[Dict[str, str]], tools: List[Dict[str, Any]] = None) -> Dict[str, Any]:
        raise NotImplementedError

class OpenAIModel(BaseModel):
    def __init__(self, api_key: str):
        self.client = openai.OpenAI(api_key=api_key)
    
    def chat(self, messages: List[Dict[str, str]], tools: List[Dict[str, Any]] = None) -> Dict[str, Any]:
        response = self.client.chat.completions.create(
            model="gpt-3.5-turbo",
            messages=messages,
            tools=tools
        )
        return {
            "content": response.choices[0].message.content,
            "tool_calls": response.choices[0].message.tool_calls
        }

class QwenModel(BaseModel):
    def __init__(self, api_key: str):
        dashscope.api_key = api_key
    
    def chat(self, messages: List[Dict[str, str]], tools: List[Dict[str, Any]] = None) -> Dict[str, Any]:
        response = dashscope.Generation.call(
            model="qwen-turbo",
            messages=messages,
            tools=tools,
            result_format='message'
        )
        return {
            "content": response.output.choices[0].message.content,
            "tool_calls": response.output.choices[0].message.tool_calls
        }

# 工具集成层:统一不同工具的接入规范
class BaseTool:
    name: str
    description: str
    parameters: Dict[str, Any]
    
    def run(self, parameters: Dict[str, Any]) -> str:
        raise NotImplementedError

class SearchTool(BaseTool):
    name = "google_search"
    description = "搜索互联网上的最新信息"
    parameters = {
        "type": "object",
        "properties": {
            "query": {
                "type": "string",
                "description": "搜索关键词"
            }
        },
        "required": ["query"]
    }
    
    def __init__(self, api_key: str):
        self.api_key = api_key
    
    def run(self, parameters: Dict[str, Any]) -> str:
        search = GoogleSearch({
            "q": parameters["query"],
            "api_key": self.api_key
        })
        result = search.get_dict()
        return str(result.get("organic_results", [])[:3])

# 核心Harness管控逻辑
class SimpleHarness:
    def __init__(self, model: BaseModel, tools: List[BaseTool] = None):
        self.model = model
        self.tools = tools or []
        self.tool_map = {tool.name: tool for tool in self.tools}
        self.tool_defs = [{"type": "function", "function": {
            "name": tool.name,
            "description": tool.description,
            "parameters": tool.parameters
        }} for tool in self.tools]
    
    def run(self, query: str) -> str:
        messages = [{"role": "user", "content": query}]
        max_steps = 5  # 防止无限循环
        for _ in range(max_steps):
            response = self.model.chat(messages, tools=self.tool_defs)
            messages.append({"role": "assistant", "content": response["content"], "tool_calls": response["tool_calls"]})
            
            if not response["tool_calls"]:
                return response["content"]
            
            # 处理工具调用
            for tool_call in response["tool_calls"]:
                tool_name = tool_call.function.name
                tool_args = eval(tool_call.function.arguments)  # 生产环境需要用安全的JSON解析
                tool = self.tool_map.get(tool_name)
                if not tool:
                    tool_result = f"工具{tool_name}不存在"
                else:
                    tool_result = tool.run(tool_args)
                messages.append({
                    "role": "tool",
                    "tool_call_id": tool_call.id,
                    "name": tool_name,
                    "content": tool_result
                })
        return "超过最大执行步数,任务终止"

# 使用示例
if __name__ == "__main__":
    # 可以自由切换不同的模型,不需要修改上层逻辑
    model = OpenAIModel(api_key="your-openai-api-key")
    # model = QwenModel(api_key="your-qwen-api-key")
    
    # 可以自由添加/删除工具
    tools = [SearchTool(api_key="your-serpapi-key")]
    
    # 初始化Harness
    harness = SimpleHarness(model=model, tools=tools)
    
    # 运行任务
    result = harness.run("今天北京的天气是多少?")
    print(result)

这个Demo虽然简单,但是已经体现了Harness的核心价值:模型和工具的可插拔、上层业务逻辑和底层实现的解耦、运行时的异常管控。


竞争格局分析:双方的优劣势对比

现在整个Harness赛道的玩家主要分为两大阵营:大模型厂商和独立创业公司,我们来分别拆解双方的核心优劣势,看看各自的护城河在哪里。

大模型厂商的布局与优劣势

现有布局

目前全球所有头部大模型厂商都已经布局了Harness相关的产品:

  • 海外:OpenAI的Assistants API、GPTs商店,Google的Gemini Agent Builder,Anthropic的Claude 3工具调用能力+Agent SDK,微软的Copilot Studio
  • 国内:百度文心一言的智能体平台,阿里通义千问的Agent Studio,腾讯混元的Agent开发平台,字节豆包的Coze平台
核心优势
  1. 模型原生优化:大模型厂商可以从底层优化工具调用、推理规划的能力,比如OpenAI的Function Calling是原生支持的,Assistants API和GPT-4o做了深度融合,工具调用的准确率比第三方框架高15%-20%,延迟低30%以上,这是独立厂商很难做到的。
  2. 流量与生态优势:大模型厂商自带海量的开发者和用户流量,比如OpenAI的GPTs商店已经有上百万个GPTs,开发者只要在上面发布Agent,就可以触达上亿的ChatGPT用户,获客成本几乎为0,这是独立厂商望尘莫及的。
  3. 成本优势:大模型厂商的Harness服务通常和模型调用绑定,不收额外的费用,或者只收很低的费用,对于中小开发者来说,成本比用第三方Harness低很多,几乎可以忽略不计。
  4. 一站式体验:开发者不用对接多个服务,只要用大模型厂商的API,就可以搞定模型调用、工具集成、存储、部署,上手门槛极低,几分钟就可以上线一个简单的Agent。
核心劣势
  1. 绑定单一模型:几乎所有大模型厂商的Harness都只支持自家的模型,比如你用OpenAI的Assistants API就只能用GPT系列模型,不能用Claude、Gemini,也不能用开源的Llama、Qwen,对于企业来说,很容易被锁死,未来切换成本极高,这是很多企业无法接受的。
  2. 中立性缺失:大模型厂商本身是模型提供商,同时做Harness,相当于既做裁判员又做运动员,企业的私有数据、业务逻辑都会经过Harness,大模型厂商可以获取这些数据,对于很多对数据敏感的企业(比如金融、医疗、政府)来说,这是不可触碰的红线。
  3. 企业级定制化能力不足:大模型厂商的Harness是标准化的产品,面向的是通用场景,对于企业的个性化需求(比如对接内部的OA、CRM系统,自定义的安全合规规则,私有部署),响应速度很慢,甚至根本不支持,毕竟大模型厂商的核心收入来自模型调用,不会为了少量企业客户投入太多资源做定制化。
  4. 可观测性和管控能力弱:大模型厂商的Harness通常只提供基本的日志,对于企业需要的全链路追踪、细粒度的权限管控、成本分摊、自定义告警等能力,支持都很弱,根本满足不了生产环境的需求。

独立Harness创业公司的布局与优劣势

现有布局

独立Harness厂商最近两年也出现了很多头部玩家:

  • 海外:Dify、Fixie、Prefect Agents、AgentOps、LangSmith(LangChain旗下的Harness服务)、Superagent
  • 国内:Dify中国团队、AgentBuilder、百应科技(面向客服场景)、数说故事(面向营销场景)
核心优势
  1. 中立性:不绑定任何大模型,支持对接所有主流的大模型(OpenAI、Anthropic、Google、开源模型、本地部署模型),企业可以根据需求选择最优的模型,甚至可以做混合模型调度,比如简单任务用便宜的开源模型,复杂任务用GPT-4o,成本可以降低60%以上,也不会被单一厂商锁死。
  2. 企业级定制化能力强:独立厂商的核心客户就是中大型企业,所以会重点打磨企业级的能力,比如私有部署、自定义工作流、对接内部系统、自定义安全规则、多租户管理、成本分摊等,响应速度快,很多还可以提供定制开发服务,这是大模型厂商做不到的。
  3. 垂直场景深耕:很多独立Harness厂商是从垂直场景切入的,比如面向客服场景的Harness,面向代码开发场景的Harness,面向医疗场景的Harness,对垂直场景的需求理解更深,内置很多垂直场景的工具、模板、合规规则,开箱即用,比大模型厂商的通用Harness效率高很多。
  4. 开放性高:很多独立Harness厂商的产品是开源的,比如Dify的核心代码是开源的,GitHub星标已经超过33k,开发者可以自由修改、二次开发,还有开放的API和协议,可以对接其他的开发工具、运维工具,生态更开放,这是闭源的大模型厂商Harness比不了的。
核心劣势
  1. 没有自带流量:独立厂商没有大模型的C端流量,获客成本很高,需要自己去拓展开发者和企业客户,营销成本占比很高,很难像大模型厂商那样靠流量自然增长。
  2. 底层模型优化能力弱:独立厂商无法修改大模型的底层逻辑,只能在上层做优化,工具调用、推理规划的准确率可能比大模型厂商的原生Harness低一些,延迟也会高一点。
  3. 技术积累不足:很多独立Harness厂商都是创业公司,成立时间短,技术积累不如大模型厂商,产品的稳定性、可靠性可能不如大模型厂商的产品,特别是在高并发的场景下。
  4. 成本更高:独立厂商的Harness服务通常是单独收费的,或者按调用量收费,对于中小开发者来说,成本比用大模型厂商的免费Harness高很多,很难吸引个人开发者和小团队用户。

核心竞争战场

双方的优劣势决定了竞争的核心战场会分成五个领域,每个领域的竞争态势完全不同:

1. 中小开发者生态:大模型厂商的绝对优势地盘

中小开发者和小团队的核心需求是上手快、成本低、有流量,这些刚好是大模型厂商的优势,所以这个战场大模型厂商会占据绝对的主导地位,独立厂商很难竞争。现在的市场数据也验证了这一点:80%的个人开发者和小团队开发通用Agent都会选择大模型厂商的Harness,只有20%有特殊需求的开发者会选择独立厂商的产品。

2. 中大型企业服务:独立厂商的优势战场

中大型企业的核心需求是中立、安全、定制化、不被锁死,这些刚好是大模型厂商的劣势,所以这个战场是独立厂商的天下。根据Gartner的调研数据,2024年全球中大型企业的AI Agent项目,72%会选择独立的Harness产品,或者基于开源Harness二次开发,只有不到20%会选择大模型厂商的Harness,而且都用在非核心的通用场景。

3. 垂直场景落地:独立厂商的差异化机会

垂直场景比如金融、医疗、法律、制造,都有很强的合规和定制需求,比如金融场景需要满足银监的监管要求,医疗场景需要满足HIPAA的要求,这些都是大模型厂商的通用Harness很难满足的,独立厂商可以深耕垂直场景,打造垂直领域的Harness,建立很高的壁垒,这是独立厂商最核心的差异化机会。现在已经有很多独立厂商在垂直场景跑出来了,比如面向金融客服的Harness厂商,估值已经超过10亿美金。

4. 开源生态:独立厂商的护城河

开源是独立厂商对抗大模型厂商的核心武器,现在开源Harness的增长速度非常快,比如Dify每个月有超过50万的开发者使用,LangChain的生态已经有上百万的开发者,大模型厂商的Harness几乎都是闭源的,在开源生态上没有任何优势。独立厂商靠开源可以快速积累开发者生态,建立技术壁垒,甚至可以主导行业标准的制定,这是大模型厂商很难撼动的。

5. 标准制定:双方的长期博弈点

现在AI Agent Harness还没有统一的标准,比如工具接入的标准、工作流编排的标准、跨Harness的Agent迁移标准,谁能制定标准,谁就能掌握未来的话语权。大模型厂商想制定绑定自家模型的标准,把用户锁在自己的生态里;独立厂商想制定中立的、开放的标准,让用户可以自由切换模型和Harness,双方会在标准制定上有长期的博弈。


未来生态格局:分层协作、竞争共生

很多人担心未来大模型厂商会把Harness的市场全部吃掉,独立厂商没有机会,我认为这种情况不会发生,未来的Harness生态会是分层协作、竞争共生的格局,不会出现赢者通吃的局面。

核心共生模式

未来双方的共生模式主要有三种:

  1. 底座+插件模式:大模型厂商提供通用的、原生的Harness基础能力,独立厂商在上面开发垂直场景的插件、扩展、定制化服务。比如OpenAI的Assistants API提供基础的工具调用、存储能力,独立厂商开发面向客服场景的插件,对接企业的CRM系统,提供自定义的话术规则、安全审核规则,企业可以直接在OpenAI的平台上安装这些插件,既享受到原生模型的优化,又满足了定制化的需求。
  2. 混合部署模式:对于大型企业来说,通常会采用混合部署的模式:通用的、非敏感的Agent用大模型厂商的公有云Harness,成本低,上手快;敏感的、核心的Agent用独立厂商的私有部署Harness,满足安全合规的需求。两者之间通过统一的接口对接,实现数据的互通和协同。
  3. 分层协作模式:未来的AI Agent生态会分成三层:底层是大模型层,由大模型厂商提供;中间层是Harness层,分为通用Harness和垂直Harness,通用Harness由大模型厂商和头部独立厂商提供,垂直Harness由垂直领域的独立厂商提供;上层是Agent应用层,由开发者和企业基于Harness开发。大模型厂商和独立厂商在Harness层是互补的,大模型厂商做通用的、标准化的能力,独立厂商做定制化的、垂直的、中立的能力。

未来生态架构图

我们可以用下面的架构图来表示未来的生态格局:

渲染错误: Mermaid 渲染失败: Parsing failed: Lexer error on line 2, column 11: unexpected character: ->终<- at offset: 28, skipped 4 characters. Lexer error on line 2, column 21: unexpected character: ->[<- at offset: 38, skipped 6 characters. Lexer error on line 3, column 11: unexpected character: ->应<- at offset: 55, skipped 3 characters. Lexer error on line 3, column 27: unexpected character: ->[<- at offset: 71, skipped 1 characters. Lexer error on line 3, column 33: unexpected character: ->应<- at offset: 77, skipped 4 characters. Lexer error on line 4, column 17: unexpected character: ->通<- at offset: 98, skipped 2 characters. Lexer error on line 4, column 33: unexpected character: ->[<- at offset: 114, skipped 3 characters. Lexer error on line 4, column 41: unexpected character: ->]<- at offset: 122, skipped 1 characters. Lexer error on line 5, column 17: unexpected character: ->垂<- at offset: 155, skipped 2 characters. Lexer error on line 5, column 34: unexpected character: ->[<- at offset: 172, skipped 5 characters. Lexer error on line 5, column 44: unexpected character: ->]<- at offset: 182, skipped 1 characters. Lexer error on line 6, column 17: unexpected character: ->企<- at offset: 215, skipped 4 characters. Lexer error on line 6, column 34: unexpected character: ->[<- at offset: 232, skipped 5 characters. Lexer error on line 6, column 44: unexpected character: ->]<- at offset: 242, skipped 1 characters. Lexer error on line 7, column 18: unexpected character: ->层<- at offset: 276, skipped 1 characters. Lexer error on line 7, column 28: unexpected character: ->[<- at offset: 286, skipped 1 characters. Lexer error on line 7, column 45: unexpected character: ->层<- at offset: 303, skipped 2 characters. Lexer error on line 8, column 15: unexpected character: ->通<- at offset: 320, skipped 2 characters. Lexer error on line 8, column 41: unexpected character: ->[<- at offset: 346, skipped 3 characters. Lexer error on line 8, column 51: unexpected character: ->]<- at offset: 356, skipped 1 characters. Lexer error on line 9, column 21: unexpected character: ->大<- at offset: 378, skipped 7 characters. Lexer error on line 9, column 51: unexpected character: ->[<- at offset: 408, skipped 8 characters. Lexer error on line 9, column 66: unexpected character: ->]<- at offset: 423, skipped 1 characters. Lexer error on line 10, column 21: unexpected character: ->独<- at offset: 464, skipped 6 characters. Lexer error on line 10, column 55: unexpected character: ->[<- at offset: 498, skipped 7 characters. Lexer error on line 10, column 69: unexpected character: ->]<- at offset: 512, skipped 1 characters. Lexer error on line 11, column 15: unexpected character: ->垂<- at offset: 547, skipped 2 characters. Lexer error on line 11, column 42: unexpected character: ->[<- at offset: 574, skipped 3 characters. Lexer error on line 11, column 52: unexpected character: ->]<- at offset: 584, skipped 1 characters. Lexer error on line 12, column 21: unexpected character: ->金<- at offset: 606, skipped 2 characters. Lexer error on line 12, column 39: unexpected character: ->[<- at offset: 624, skipped 5 characters. Lexer error on line 12, column 51: unexpected character: ->]<- at offset: 636, skipped 1 characters. Lexer error on line 13, column 21: unexpected character: ->医<- at offset: 678, skipped 2 characters. Lexer error on line 13, column 39: unexpected character: ->[<- at offset: 696, skipped 5 characters. Lexer error on line 13, column 51: unexpected character: ->]<- at offset: 708, skipped 1 characters. Lexer error on line 14, column 21: unexpected character: ->制<- at offset: 750, skipped 2 characters. Lexer error on line 14, column 43: unexpected character: ->[<- at offset: 772, skipped 5 characters. Lexer error on line 14, column 55: unexpected character: ->]<- at offset: 784, skipped 1 characters. Lexer error on line 15, column 11: unexpected character: ->大<- at offset: 816, skipped 4 characters. Lexer error on line 15, column 22: unexpected character: ->[<- at offset: 827, skipped 6 characters. Lexer error on line 16, column 17: unexpected character: ->通<- at offset: 850, skipped 5 characters. Lexer error on line 16, column 37: unexpected character: ->[<- at offset: 870, skipped 7 characters. Lexer error on line 17, column 17: unexpected character: ->垂<- at offset: 903, skipped 5 characters. Lexer error on line 17, column 38: unexpected character: ->[<- at offset: 924, skipped 7 characters. Lexer error on line 18, column 17: unexpected character: ->开<- at offset: 957, skipped 5 characters. Lexer error on line 18, column 34: unexpected character: ->[<- at offset: 974, skipped 7 characters. Lexer error on line 19, column 11: unexpected character: ->工<- at offset: 1001, skipped 4 characters. Lexer error on line 19, column 21: unexpected character: ->[<- at offset: 1011, skipped 6 characters. Lexer error on line 20, column 17: unexpected character: ->通<- at offset: 1034, skipped 4 characters. Lexer error on line 20, column 35: unexpected character: ->[<- at offset: 1052, skipped 6 characters. Lexer error on line 21, column 17: unexpected character: ->行<- at offset: 1083, skipped 4 characters. Lexer error on line 21, column 36: unexpected character: ->[<- at offset: 1102, skipped 6 characters. Lexer error on line 22, column 17: unexpected character: ->企<- at offset: 1133, skipped 6 characters. Lexer error on line 22, column 38: unexpected character: ->[<- at offset: 1154, skipped 8 characters. Parse error on line 2, column 15: Expecting token of type 'ID' but found `(user)`. Parse error on line 3, column 14: Expecting token of type 'ID' but found `(application)`. Parse error on line 3, column 28: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'Agent' Parse error on line 3, column 37: Expecting token of type ':' but found ` `. Parse error on line 4, column 36: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'Agent' Parse error on line 4, column 43: Expecting token of type ':' but found `in`. Parse error on line 5, column 39: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'Agent' Parse error on line 5, column 46: Expecting token of type ':' but found `in`. Parse error on line 6, column 39: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'Agent' Parse error on line 6, column 46: Expecting token of type ':' but found `in`. Parse error on line 7, column 29: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'AI' Parse error on line 7, column 32: Expecting token of type ':' but found `Agent`. Parse error on line 7, column 38: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'Harness' Parse error on line 7, column 47: Expecting token of type ':' but found ` `. Parse error on line 8, column 44: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'Harness' Parse error on line 8, column 52: Expecting token of type ':' but found ` `. Parse error on line 9, column 59: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'Harness' Parse error on line 9, column 68: Expecting token of type ':' but found `in`. Parse error on line 10, column 62: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'Harness' Parse error on line 10, column 71: Expecting token of type ':' but found `in`. Parse error on line 11, column 45: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'Harness' Parse error on line 11, column 53: Expecting token of type ':' but found ` `. Parse error on line 12, column 44: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'Harness' Parse error on line 12, column 53: Expecting token of type ':' but found `in`. Parse error on line 13, column 44: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'Harness' Parse error on line 13, column 53: Expecting token of type ':' but found `in`. Parse error on line 14, column 48: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: 'Harness' Parse error on line 14, column 57: Expecting token of type ':' but found `in`. Parse error on line 15, column 15: Expecting token of type 'ID' but found `(model)`. Parse error on line 16, column 22: Expecting token of type 'ID' but found `(general-model)`. Parse error on line 17, column 22: Expecting token of type 'ID' but found `(vertical-model)`. Parse error on line 18, column 22: Expecting token of type 'ID' but found `(open-model)`. Parse error on line 19, column 15: Expecting token of type 'ID' but found `(tool)`. Parse error on line 20, column 21: Expecting token of type 'ID' but found `(general-tool)`. Parse error on line 21, column 21: Expecting token of type 'ID' but found `(industry-tool)`. Parse error on line 22, column 23: Expecting token of type 'ID' but found `(internal-tool)`. Parse error on line 24, column 24: Expecting token of type 'ARROW_DIRECTION' but found `vendor-harness`. Parse error on line 24, column 38: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: ':' Parse error on line 25, column 25: Expecting token of type 'ARROW_DIRECTION' but found `finance`. Parse error on line 25, column 32: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: ':' Parse error on line 26, column 23: Expecting token of type 'ARROW_DIRECTION' but found `independent-harness`. Parse error on line 26, column 42: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: ':' Parse error on line 27, column 26: Expecting token of type 'ARROW_DIRECTION' but found `general-model`. Parse error on line 27, column 39: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: ':' Parse error on line 28, column 31: Expecting token of type 'ARROW_DIRECTION' but found `general-model`. Parse error on line 28, column 44: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: ':' Parse error on line 29, column 31: Expecting token of type 'ARROW_DIRECTION' but found `open-model`. Parse error on line 29, column 41: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: ':' Parse error on line 30, column 19: Expecting token of type 'ARROW_DIRECTION' but found `vertical-model`. Parse error on line 30, column 33: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: ':' Parse error on line 31, column 19: Expecting token of type 'ARROW_DIRECTION' but found `open-model`. Parse error on line 31, column 29: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: ':' Parse error on line 32, column 27: Expecting token of type 'ARROW_DIRECTION' but found `general-tool`. Parse error on line 32, column 39: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: ':' Parse error on line 33, column 28: Expecting token of type 'ARROW_DIRECTION' but found `industry-tool`. Parse error on line 33, column 41: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: ':' Parse error on line 34, column 28: Expecting token of type 'ARROW_DIRECTION' but found `internal-tool`. Parse error on line 34, column 41: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: ':' Parse error on line 35, column 16: Expecting token of type 'ARROW_DIRECTION' but found `application`. Parse error on line 35, column 27: Expecting: one of these possible Token sequences: 1. [NEWLINE] 2. [EOF] but found: ':'

市场规模预测

根据Gartner的预测,到2027年,全球AI Agent Harness的市场规模会超过500亿美元,占整个AI Agent市场的30%左右。其中大模型厂商会占据通用Harness 60%的市场份额,独立厂商会占据垂直和企业级Harness 70%的市场份额,双方的市场规模基本相当,没有哪一方可以完全吃掉另一方。

发展历程与趋势

我们用表格来梳理Harness的发展历程和未来趋势:

时间 发展阶段 核心特征 竞争格局 典型产品
2022-2023年 概念萌芽期 Agent框架爆发,Harness的概念还没有明确,开发者自己基于LangChain、AutoGPT搭建Agent的运行环境 没有专门的Harness厂商,大模型厂商还没有布局 LangChain、AutoGPT
2023-2024年 赛道成型期 Harness成为独立的赛道,大模型厂商和独立创业公司都开始布局,产品的核心能力基本成型 大模型厂商占据中小开发者市场,独立厂商占据企业级市场 OpenAI Assistants API、Dify、LangSmith
2024-2025年 快速发展期 标准开始形成,垂直场景的Harness爆发,企业级的 adoption 快速提升 竞争加剧,头部独立厂商开始IPO,大模型厂商的Harness和独立厂商的Harness开始打通 标准化的Harness协议、垂直行业Harness
2025-2027年 成熟稳定期 Harness成为AI Agent时代的标准基础设施,生态完善,分层格局稳定 大模型厂商占据通用Harness 60%的市场份额,独立厂商占据垂直和企业级Harness 70%的市场份额,共生格局形成 跨平台的Harness生态,统一的Agent标准

最佳实践Tips

针对不同的角色,我给大家整理了对应的最佳实践建议:

给开发者的建议

  1. 如果你是个人开发者或者小团队,做面向C端的通用Agent,优先选择大模型厂商的Harness,成本低,上手快,有流量支持,可以快速验证你的想法。
  2. 如果你是企业开发者,做内部的Agent或者面向B端的Agent,优先选择独立的开源Harness,灵活度高,可定制,不会被锁死,长期来看成本更低。
  3. 如果你做垂直场景的Agent,优先选择垂直领域的Harness,内置很多垂直场景的能力,上线速度快,比通用Harness效率高很多。

给创业者的建议

  1. 不要和大模型厂商正面竞争通用Harness市场,要从垂直场景切入,打造差异化的能力,比如金融、医疗、制造场景的Harness,建立自己的壁垒。
  2. 要重视开源生态,开源可以快速积累开发者用户,建立技术壁垒,降低获客成本,是对抗大模型厂商的核心武器。
  3. 要和大模型厂商建立合作关系,而不是对立,接入所有主流的大模型,成为大模型生态的重要合作伙伴,而不是替代品。

给企业的建议

  1. 不要把所有的Agent都绑定在某一个大模型厂商的Harness上,要保留切换模型的能力,避免被锁死,未来大模型的价格会越来越低,切换模型可以带来很大的成本优化空间。
  2. 敏感的核心业务场景,一定要选择私有部署的独立Harness,保证数据安全,满足合规要求,不要为了省事选择大模型厂商的公有云Harness,留下安全隐患。
  3. 要关注Harness的标准兼容性,选择支持开放标准的产品,未来可以灵活迁移,不要被单一厂商的私有协议绑定。

常见问题FAQ

1. 大模型厂商会不会把Harness做死,创业公司没有机会?

答:不会,因为大模型厂商不可能做到中立,也不可能满足所有企业的定制化需求,独立厂商的中立性、定制化能力、垂直场景深耕的能力是大模型厂商无法替代的,未来企业级和垂直场景的市场会是独立厂商的天下,这个市场规模足够大,足够养活很多上市级别的公司。

2. 开源Harness和商业Harness怎么选?

答:如果你的需求比较简单,有足够的技术团队可以二次开发,选开源Harness,成本低,灵活度高;如果你的需求比较复杂,需要厂商的技术支持和SLA保障,选商业Harness,稳定性更高,有服务支持,出了问题可以找到人负责。

3. 未来Harness会不会和MLOps融合?

答:会的,未来的AI开发平台会同时支持大模型的训练、微调、部署和Agent的开发、部署、管控,形成一站式的AI开发平台,但是Harness还是会作为独立的模块存在,不会被MLOps完全吃掉,因为两者的定位和核心能力还是有很大的区别。


总结与展望

AI Agent Harness是AI Agent时代的核心基础设施,就像PC时代的Windows,移动时代的Android/iOS,未来90%以上的Agent都会基于Harness开发,而不是从零搭建。现在大模型厂商和独立创业公司都在布局这个赛道,双方各有优劣势,未来不会是赢者通吃的局面,而是分层协作、竞争共生的格局:大模型厂商占据通用的中小开发者市场,独立厂商占据企业级和垂直场景的市场,共同推动整个AI Agent生态的发展。

对于所有的从业者来说,现在是Harness赛道最好的时代,不管你是开发者、创业者还是企业,都可以在这个生态里找到自己的位置,享受AI Agent时代的红利。如果你对这个赛道感兴趣,欢迎在评论区留言交流,我们一起探讨更多的可能性。

延伸阅读

  1. OpenAI Assistants API 官方文档:https://platform.openai.com/docs/assistants/overview
  2. Dify 官方网站:https://dify.ai/
  3. LangSmith 官方文档:https://docs.smith.langchain.com/
  4. Gartner 2024 AI Agent 市场报告:https://www.gartner.com/en/documents/4025897
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐