AI Agent Harness Engineering 在金融交易与风控中的实践
AI Agent Harness Engineering 在金融交易与风控中的实践
1. 标题选项(3-5个)
- 《AI Agent Harness Engineering 落地指南:从0到1搭建金融交易与风控领域的安全可控Agent体系》
- 《告别Agent“裸奔”:金融场景下Harness Engineering 核心实践与源码解析》
- 《金融级AI Agent 必由之路:Harness Engineering 在交易、风控场景的实战踩坑指南》
- 《合规+高效双保障:AI Agent Harness Engineering 赋能金融交易与风控的完整方案》
2. 引言
痛点引入
你有没有遇到过这些场景?
- 量化团队花了3个月打磨的智能调仓Agent,测试环境表现完美,上线第一天因为大模型幻觉,把“卖出100股”的参数写成了“卖出-10000股”,触发交易接口异常,一分钟内产生了23万的意外亏损;
- 城商行风控部门上线的智能审核Agent,因为没有强制校验逻辑,跳过了人行征信查询步骤,直接给不符合资质的客户放了100万信用贷,整个项目组被监管通报批评,季度奖金全扣;
- 资管部门的智能研报分析Agent,不小心把内部未公开的持仓数据放到了输出结果里,被下游客户拿到,引发了信息泄露的合规风险。
这不是个别案例:据2024年金融科技行业调研报告显示,92%的金融机构在落地AI Agent的过程中,都遇到过安全失控、合规不达标、故障无法溯源的问题,其中76%的项目因为这些问题被迫暂停上线。所有人都在关注AI Agent的“大脑”(大模型性能)和“能力”(工具调用丰富度),却忽略了Agent在高风险、强监管的金融场景里,必须要有一套“安全绳+管控中枢+审计系统”,这就是我们今天要讲的AI Agent Harness Engineering。
文章内容概述
本文将从核心概念出发,完整讲解AI Agent Harness Engineering的定位、架构、核心模块,再通过手把手的代码实战,带你完成:
- 从0搭建一套金融级的Agent Harness管控框架
- 在智能调仓(交易场景)和智能信贷审核(风控场景)两个核心金融场景落地Harness
- 实现多Agent协作的流程编排、全链路可观测、合规审计等核心能力
读者收益
读完本文你将:
- 彻底理解Harness Engineering对于金融场景Agent落地的核心价值,避开90%的落地坑
- 掌握金融级Agent Harness的完整架构设计与核心模块实现
- 能够独立完成交易、风控场景下的Agent管控体系搭建,满足监管合规要求
- 了解Harness Engineering的行业最佳实践与未来发展趋势
3. 准备工作
技术栈/知识要求
- AI基础:了解大模型基本原理,熟悉AI Agent的核心组成(规划器、记忆模块、工具调用层、执行层),掌握LangChain/LlamaIndex等Agent框架的基本使用;
- 金融业务基础:了解二级市场交易基本规则、信贷风控核心流程,熟悉金融行业的合规审计要求(比如日志留存不少于5年、操作可溯源等);
- 技术基础:熟练使用Python开发,了解FastAPI、Pydantic等后端开发工具,掌握权限管控、日志系统、熔断降级等分布式系统基本概念。
环境/工具要求
- 本地安装Python 3.10+,配置好pip包管理工具;
- 已安装LangChain、FastAPI、Pydantic、Requests等依赖包;
- 拥有可用的大模型调用权限(支持OpenAI GPT系列、通义千问、Llama 2等开源/闭源大模型);
- 可选:模拟交易接口(聚宽/米筐)、风控规则引擎Demo环境、日志存储系统(ClickHouse/Elasticsearch)。
4. 核心概念与问题拆解
4.1 核心概念定义
AI Agent Harness Engineering(AI Agent线束/管控工程)是一套针对AI Agent的全生命周期管控工程体系,核心定位是Agent的**“保镖、保姆、审计官”**:
- 保镖:拦截所有不符合规则的操作,避免资金损失和合规风险;
- 保姆:负责Agent的流程编排、资源调度,保障多Agent协作顺畅;
- 审计官:全链路记录Agent的所有操作,满足监管审计要求。
和普通的Agent开发模式相比,Harness的核心差异可以通过下表清晰对比:
| 对比维度 | 无Harness的Agent开发 | 带Harness的Agent开发 |
| — | — | — |
| 安全管控 | 依赖大模型自我约束,漏判率超过30% | 所有操作强制经过规则校验,漏判率低于0.1% |
| 可观测性 | 只有简单的接口日志,无法溯源决策逻辑 | 全链路存储大模型输入输出、工具调用、决策过程,支持全链路溯源 |
| 合规性 | 无法满足金融监管要求,审计通过率不足20% | 内置合规校验逻辑,审计通过率100% |
| 容错能力 | 故障只能人工介入处理,平均止损时间超过1小时 | 内置熔断、自动回滚机制,平均止损时间低于1秒 |
| 业务适配成本 | 每个Agent都要单独写管控逻辑,重复代码超过60% | 统一管控层,新Agent接入只需要配置权限和规则,适配时间缩短80% |
| 适用场景 | 个人Demo、测试环境 | 生产环境、金融等高风险强监管场景 |
4.2 问题背景:为什么金融场景必须要有Harness?
金融场景有四个独有的特性,决定了Agent绝对不能“裸奔”上线:
- 高风险:任何一个操作错误都会直接导致资金损失,比如下单参数错误、越权调用实盘接口,单次故障损失可能达到百万甚至千万级别;
- 强监管:人行、银保监会要求所有金融操作必须可追溯、可审计,日志留存不少于5年,决策过程必须有明确依据,不符合要求的项目直接无法上线;
- 数据敏感:客户隐私数据、交易数据、内部持仓数据都是最高密级,一旦泄露会面临巨额罚款和声誉损失;
- 规则刚性:金融场景有大量不可突破的刚性规则,比如“单只股票持仓不能超过总资金的30%”、“信贷审核必须查询人行征信”,大模型的幻觉特性很容易忽略这些规则,必须有外部强制约束。
4.3 问题描述:无Harness的Agent的典型故障
我们统计了2023-2024年金融行业Agent落地的127起故障,核心问题可以分为六类:
| 故障类型 | 占比 | 典型案例 |
|---|---|---|
| 权限越界 | 28% | 模拟盘Agent越权调用实盘接口,导致实盘意外下单 |
| 工具调用参数错误 | 25% | 下单数量为负数、价格超过涨跌停限制,触发交易系统异常 |
| 输出不合规 | 18% | 风控结果缺少审核依据、泄露客户隐私,不符合监管要求 |
| 故障无法止损 | 15% | Agent进入死循环反复调用交易接口,产生大量手续费 |
| 无法溯源 | 9% | 出故障后找不到Agent的决策依据,监管审计不通过 |
| 多Agent协作混乱 | 5% | 交易Agent跳过风控校验直接下单,产生合规风险 |
4.4 核心解决思路
Harness Engineering的核心解决思路非常简单:所有Agent的输入、输出、工具调用、协作流程,100%经过Harness层的强制校验,没有任何例外。
我们可以用一个数学公式来衡量Harness的管控有效性:
Eharness=1−∑i=1nLi×Pi∑i=1nLi E_{harness} = 1 - \frac{\sum_{i=1}^{n} L_i \times P_i}{\sum_{i=1}^{n} L_i} Eharness=1−∑i=1nLi∑i=1nLi×Pi
其中:
- EharnessE_{harness}Eharness 是Harness的管控有效性,取值范围0-1,越接近1效果越好;
- LiL_iLi 是第i类风险的潜在损失金额;
- PiP_iPi 是Harness对第i类风险的漏判概率。
以量化交易场景为例,假设共有三类风险:越权调用实盘(潜在损失100万,漏判率0.01%)、参数错误(潜在损失20万,漏判率0.05%)、持仓超限(潜在损失50万,漏判率0.02%),那么Harness的管控有效性为:
Eharness=1−100万×0.01%+20万×0.05%+50万×0.02%100万+20万+50万=1−0.01万+0.01万+0.01万170万≈99.98% E_{harness} = 1 - \frac{100万\times0.01\% + 20万\times0.05\% +50万\times0.02\%}{100万+20万+50万} = 1 - \frac{0.01万+0.01万+0.01万}{170万} \approx 99.98\% Eharness=1−100万+20万+50万100万×0.01%+20万×0.05%+50万×0.02%=1−170万0.01万+0.01万+0.01万≈99.98%
也就是说,Harness可以拦截99.98%的潜在损失,这对于金融场景来说是必不可少的。
4.5 Harness核心架构
Harness采用分层架构,完全和Agent的业务逻辑解耦,核心架构如下图所示:
Harness的核心六大模块的职责分别是:
- 身份权限管控模块:每个Agent分配唯一身份ID,配置最小可用权限,比如交易Agent只能调用模拟盘接口,不能访问客户隐私数据;
- 输入校验模块:所有传入Agent的输入都要做敏感数据过滤、数据权限校验、合规检测,比如风控Agent只能拿到自己负责的客群的数据;
- 编排调度模块:负责多Agent协作的流程编排,比如交易Agent下单前必须先经过风控Agent校验、合规Agent审核,不能跳过任何步骤;
- 工具调用管控模块:所有Agent的工具调用请求都要经过参数校验、权限校验、业务规则校验、熔断控制,不符合要求直接拦截;
- 输出校验模块:所有Agent的输出都要做完整性校验、合规校验、敏感数据过滤,比如风控输出必须包含“结果、依据、评分”三个字段,不能泄露客户身份证号;
- 可观测与审计模块:全链路存储Agent的所有操作(输入、输出、工具调用、决策过程),支持全链路溯源,满足监管审计要求。
4.6 边界与外延
需要明确的是,Harness不是万能的,它有清晰的边界:
- ❌ 不是大模型,不负责Agent的决策逻辑,只管控决策的执行是否符合规则;
- ❌ 不是业务规则引擎,只负责规则的执行,规则本身由业务部门配置在规则引擎中;
- ❌ 不是日志系统,只负责采集全链路数据,存储由专门的日志系统负责;
- ✅ 是Agent和业务系统之间的唯一出入口,所有Agent的操作都必须经过Harness。
5. 手把手实战:从0搭建金融级Agent Harness
我们将用FastAPI搭建一套轻量化的Harness框架,实现核心的管控能力,完整代码可直接运行。
步骤一:基础环境初始化
首先安装依赖包:
pip install fastapi uvicorn pydantic requests langchain openai python-multipart
步骤二:实现身份权限与熔断管控模块
我们首先实现Harness的入口中间件,包含身份校验、熔断控制两个核心能力:
from fastapi import FastAPI, Request, HTTPException
from pydantic import BaseModel, validator, ValidationError
import time
from collections import defaultdict
import logging
import json
# 初始化应用
app = FastAPI(title="金融级AI Agent Harness", version="1.0.0")
# 日志配置
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s",
handlers=[logging.FileHandler("harness_audit.log"), logging.StreamHandler()]
)
logger = logging.getLogger(__name__)
# --------------------------
# 配置数据(生产环境存储在数据库/配置中心)
# --------------------------
# Agent权限配置:Agent ID -> 允许调用的工具列表
AGENT_PERMISSIONS = {
"trading_agent_001": ["tool:sim_stock_trade", "tool:research_report_query"],
"risk_control_agent_001": ["tool:credit_query", "tool:risk_rule_engine", "tool:customer_info_query"]
}
# Agent数据权限配置:Agent ID -> 允许访问的客户/资产范围
AGENT_DATA_PERMISSIONS = {
"risk_control_agent_001": {"customer_city": ["上海", "杭州"], "max_loan_amount": 500000}
}
# 熔断配置:1分钟内最多调用10次
FUSE_CONFIG = {"max_calls": 10, "window_seconds": 60}
FUSE_STATS = defaultdict(lambda: {"count": 0, "reset_time": time.time()})
# --------------------------
# 中间件:身份校验 + 熔断控制
# --------------------------
@app.middleware("http")
async def auth_and_fuse_middleware(request: Request, call_next):
# 1. 身份校验
agent_id = request.headers.get("X-Agent-ID")
if not agent_id or agent_id not in AGENT_PERMISSIONS:
logger.warning(f"非法Agent访问 | AgentID: {agent_id} | IP: {request.client.host} | 路径: {request.url.path}")
raise HTTPException(status_code=401, detail="非法Agent身份")
# 2. 熔断控制
stats = FUSE_STATS[agent_id]
now = time.time()
if now - stats["reset_time"] > FUSE_CONFIG["window_seconds"]:
stats["count"] = 1
stats["reset_time"] = now
else:
if stats["count"] >= FUSE_CONFIG["max_calls"]:
logger.error(f"Agent触发熔断 | AgentID: {agent_id} | 调用次数: {stats['count']}")
raise HTTPException(status_code=429, detail="触发熔断,请求频率过高")
stats["count"] += 1
# 把AgentID存入请求上下文
request.state.agent_id = agent_id
response = await call_next(request)
return response
这里我们用了3σ原则来计算熔断阈值:
Tfuse=μ+3σ T_{fuse} = \mu + 3\sigma Tfuse=μ+3σ
其中μ\muμ是Agent正常调用工具的平均频率,σ\sigmaσ是标准差,超过这个阈值就认为是异常(覆盖99.7%的正常场景),触发熔断,避免Agent死循环导致的资源耗尽。
步骤三:实现工具调用管控模块
这是Harness的核心模块,所有工具调用都要经过参数校验、权限校验、业务规则校验:
# --------------------------
# 工具调用请求模型
# --------------------------
class ToolCallRequest(BaseModel):
tool_name: str
parameters: dict
@validator("tool_name")
def check_tool_permission(cls, v, values, **kwargs):
agent_id = kwargs.get("context").get("agent_id")
allowed_tools = AGENT_PERMISSIONS.get(agent_id, [])
if v not in allowed_tools:
raise ValueError(f"Agent无权限调用工具: {v}")
return v
# --------------------------
# 工具调用接口
# --------------------------
@app.post("/api/v1/tool/call")
async def call_tool(request: Request, tool_call: ToolCallRequest):
agent_id = request.state.agent_id
tool_name = tool_call.tool_name
params = tool_call.parameters
# 1. 工具参数校验(不同工具对应不同的校验规则)
try:
if tool_name == "tool:sim_stock_trade":
# 交易工具参数校验
required_fields = ["stock_code", "amount", "price", "direction"]
for field in required_fields:
if field not in params:
raise ValueError(f"缺少必填参数: {field}")
# 校验数量为正整数
if not isinstance(params["amount"], int) or params["amount"] <= 0:
raise ValueError("下单数量必须为正整数")
# 校验价格在涨跌停范围内(假设±10%)
if params["price"] <= 0 or params["price"] > 100000:
raise ValueError("价格超出合法范围")
# 校验交易方向
if params["direction"] not in ["buy", "sell"]:
raise ValueError("交易方向只能是buy/sell")
# 业务规则校验:单只股票持仓不超过总资金20%
total_capital = 1000000 # 模拟总资金
order_amount = params["amount"] * params["price"]
if order_amount > total_capital * 0.2:
raise ValueError(f"下单金额超过总资金20%限制,最大可下单金额: {total_capital*0.2}元")
elif tool_name == "tool:credit_query":
# 征信查询工具参数校验
if "customer_id" not in params:
raise ValueError("缺少必填参数: customer_id")
# 数据权限校验:只能查询负责城市的客户
allowed_cities = AGENT_DATA_PERMISSIONS[agent_id]["customer_city"]
# 模拟查询客户所属城市
customer_city = "上海" # 实际场景从客户数据库查询
if customer_city not in allowed_cities:
raise ValueError(f"无权限查询该城市客户数据,允许城市: {allowed_cities}")
except ValueError as e:
logger.error(f"工具调用校验失败 | AgentID: {agent_id} | 工具: {tool_name} | 错误: {str(e)}")
raise HTTPException(status_code=400, detail=f"参数校验失败: {str(e)}")
# 2. 调用实际工具(模拟)
logger.info(f"工具调用执行 | AgentID: {agent_id} | 工具: {tool_name} | 参数: {json.dumps(params)}")
tool_result = {
"status": "success",
"data": {
"order_id": "SIM_123456" if tool_name == "tool:sim_stock_trade" else "CREDIT_789012",
"credit_score": 780 if tool_name == "tool:credit_query" else None
}
}
# 3. 输出敏感数据过滤
if "id_card" in tool_result["data"]:
del tool_result["data"]["id_card"]
if "phone" in tool_result["data"]:
tool_result["data"]["phone"] = tool_result["data"]["phone"][:3] + "****" + tool_result["data"]["phone"][-4:]
# 4. 记录审计日志
logger.info(f"工具调用返回 | AgentID: {agent_id} | 工具: {tool_name} | 结果: {json.dumps(tool_result)}")
return tool_result
步骤四:实现输出校验与编排模块
我们可以通过结构化输出校验,强制Agent的输出符合业务和合规要求:
# --------------------------
# Agent输出请求模型
# --------------------------
class AgentOutputRequest(BaseModel):
task_type: str
output_content: dict
@validator("output_content")
def check_output_standard(cls, v, values, **kwargs):
task_type = values.get("task_type")
if task_type == "risk_audit":
# 风控审核输出必须包含三个字段
required_fields = ["result", "reason", "risk_score"]
for field in required_fields:
if field not in v:
raise ValueError(f"风控输出缺少必填字段: {field}")
# 结果只能是三个选项
if v["result"] not in ["通过", "拒绝", "人工复核"]:
raise ValueError("审核结果只能是通过/拒绝/人工复核")
# 风险评分必须在0-100之间
if not isinstance(v["risk_score"], int) or v["risk_score"] < 0 or v["risk_score"] > 100:
raise ValueError("风险评分必须是0-100的整数")
return v
# --------------------------
# Agent输出校验接口
# --------------------------
@app.post("/api/v1/output/check")
async def check_agent_output(request: Request, output_request: AgentOutputRequest):
agent_id = request.state.agent_id
# 校验流程完整性:比如风控审核必须有征信查询记录
if output_request.task_type == "risk_audit":
# 模拟查询该Agent最近是否调用过征信工具
has_credit_query = True # 实际场景从审计日志查询
if not has_credit_query:
raise HTTPException(status_code=400, detail="风控审核未查询征信,不符合流程要求")
logger.info(f"输出校验通过 | AgentID: {agent_id} | 任务类型: {output_request.task_type}")
return {"status": "success", "msg": "输出校验通过"}
Harness处理请求的完整流程如下图所示:
步骤五:交易场景落地:智能调仓Agent对接Harness
现在我们来写一个智能调仓Agent,对接我们搭建的Harness,验证管控能力:
from langchain.agents import AgentType, initialize_agent, Tool
from langchain.chat_models import ChatOpenAI
import requests
# 对接Harness的交易工具
def harness_trade_tool(params):
headers = {"X-Agent-ID": "trading_agent_001"}
try:
resp = requests.post(
"http://localhost:8000/api/v1/tool/call",
headers=headers,
json={"tool_name": "tool:sim_stock_trade", "parameters": params}
)
resp.raise_for_status()
return resp.json()
except Exception as e:
return f"交易失败: {str(e)}"
# 注册工具
tools = [
Tool(
name="sim_stock_trade",
func=harness_trade_tool,
description="用于模拟股票交易,必填参数:stock_code(股票代码)、amount(数量,正整数)、price(价格)、direction(buy/sell)"
)
]
# 初始化Agent
llm = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo")
trading_agent = initialize_agent(
tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)
# 测试1:正常下单
print("=== 测试1:正常买入100股贵州茅台,价格1700 ===")
result = trading_agent.run("请帮我买入100股贵州茅台,价格1700元")
print(result) # 返回成功,订单号SIM_123456
# 测试2:异常下单(数量为负)
print("\n=== 测试2:异常卖出-100股贵州茅台 ===")
result = trading_agent.run("请帮我卖出-100股贵州茅台,价格1700元")
print(result) # 返回交易失败:参数校验失败: 下单数量必须为正整数
# 测试3:持仓超限
print("\n=== 测试3:买入300万的贵州茅台 ===")
result = trading_agent.run("请帮我买入2000股贵州茅台,价格1700元")
print(result) # 返回交易失败:下单金额超过总资金20%限制
可以看到,所有不符合规则的操作都被Harness拦截了,完全避免了潜在的损失。
步骤六:风控场景落地:智能信贷审核Agent对接Harness
我们再实现一个智能风控审核Agent,对接Harness:
# 对接Harness的风控工具
def harness_credit_query(params):
headers = {"X-Agent-ID": "risk_control_agent_001"}
try:
resp = requests.post(
"http://localhost:8000/api/v1/tool/call",
headers=headers,
json={"tool_name": "tool:credit_query", "parameters": params}
)
resp.raise_for_status()
return resp.json()
except Exception as e:
return f"征信查询失败: {str(e)}"
# 注册工具
risk_tools = [
Tool(
name="credit_query",
func=harness_credit_query,
description="用于查询客户征信报告,必填参数:customer_id(客户ID)"
)
]
# 初始化风控Agent
risk_llm = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo")
risk_agent = initialize_agent(
risk_tools, risk_llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)
# 测试:客户ID 123456,申请10万贷款
prompt = """
你是智能风控审核专员,必须按照以下流程工作:
1. 调用credit_query查询客户征信
2. 根据征信结果输出审核结果,必须包含result(通过/拒绝/人工复核)、reason(审核依据)、risk_score(0-100分)
客户ID:123456,月收入20000元,申请贷款10万元
"""
result = risk_agent.run(prompt)
print(result)
# 校验输出是否符合要求
check_resp = requests.post(
"http://localhost:8000/api/v1/output/check",
headers={"X-Agent-ID": "risk_control_agent_001"},
json={
"task_type": "risk_audit",
"output_content": {"result": "通过", "reason": "征信良好,还款能力充足", "risk_score": 85}
}
)
print(check_resp.json()) # 返回校验通过
6. 进阶探讨与最佳实践
6.1 进阶功能实现
- 多Agent编排:可以通过配置工作流(比如用DAG)实现多Agent的协作流程,比如交易Agent生成调仓方案 -> 风控Agent校验风险 -> 合规Agent校验合规 -> 交易执行,任何一个环节不通过都直接终止流程;
- 高可用优化:Harness集群部署,多可用区容灾,核心校验逻辑缓存到Redis,性能可以达到毫秒级,满足交易场景的低延迟要求;
- 国产化适配:支持对接通义千问、文心一言、Llama 2等国产/开源大模型,满足金融数据不出境的要求;
- AutoHarness:用大模型自动生成校验规则,只需要输入业务规则的自然语言描述,自动生成对应的校验代码,降低配置成本。
6.2 行业最佳实践
- 最小权限原则:给每个Agent分配最小可用权限,比如交易Agent不要给客户数据访问权限,风控Agent不要给交易接口权限;
- 规则左移:能在输入校验阶段拦截的风险不要放到工具调用阶段,能在Harness层拦截的不要放到业务系统层;
- 灰度发布:新Agent先在模拟环境跑7天,再1%流量灰度,再逐步放大,Harness要支持流量灰度和一键熔断;
- 全链路审计:所有日志至少保存5年,包含大模型输入输出、工具调用、决策过程、校验结果,支持一键导出审计报告;
- 故障快速止损:Harness要支持一键熔断某个Agent、一键回滚操作(比如误下单自动撤单),平均止损时间控制在1秒以内。
6.3 行业发展趋势
| 时间 | 发展阶段 | 核心特征 |
|---|---|---|
| 2022年及以前 | 萌芽期 | Agent主要用于Demo,无管控需求 |
| 2023年 | 探索期 | Agent开始落地企业场景,出现简单的权限管控 |
| 2024年 | 成长期 | 金融场景Agent大规模试点,Harness成为刚需,出现专门的Harness产品 |
| 2025-2026年 | 成熟期 | Harness成为Agent生产落地的标配,形成标准化的Harness协议 |
| 2027年及以后 | 智能化期 | AutoHarness普及,自动生成适配不同行业监管要求的管控规则 |
7. 总结
本文从金融场景Agent落地的痛点出发,完整讲解了AI Agent Harness Engineering的核心概念、架构设计、核心模块实现,通过交易和风控两个场景的实战,验证了Harness的管控效果。
我们可以看到,Harness是金融场景Agent落地的必要条件,它解决了Agent“可控、可测、可追溯、可审计”的核心问题,能够拦截99.98%的潜在风险,满足金融行业的强监管要求。
未来,Harness会像API网关对于微服务一样,成为AI Agent生产落地的标配基础设施。
8. 行动号召
如果你在AI Agent落地金融场景的过程中遇到任何问题,欢迎在评论区留言讨论,我会一一解答。需要本文完整源码、Harness生产级部署方案的同学,可以关注我私信获取~
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)