价值投资中的多智能体协调:架构师如何避免冲突?
用架构设计将“智能体的自主性”绑定到“价值投资的核心逻辑”。分工:明确智能体的职责边界,避免越界;共识:用全局目标函数统一智能体的目标;共享:用事件驱动消除信息差;决策:用分层架构让“总经理”做最终决定;进化:用强化学习让协调机制适应市场变化。通过这些策略,你可以打造一个像资深投资团队一样协作的AI系统:估值智能体像“分析师”提供数据,风险智能体像“风控经理”提示风险,组合管理智能体像“基金经理”
价值投资多智能体系统设计:架构师必看的冲突解决指南
引言:当AI投资团队“吵架”时,你该怎么办?
你有没有遇到过这样的场景?
你的价值投资AI系统里,估值智能体兴奋地喊:“这只消费股的内在价值比市价高40%,安全边际足够,赶紧买入!”
风险控制智能体立刻反驳:“它的负债率从去年的30%涨到了50%,行业政策还在收紧,下行风险太大!”
组合管理智能体跟着摇头:“当前组合的消费股仓位已经到25%了,再买就超配了!”
最后交易执行智能体卡在中间:“到底买不买?我等命令呢!”
几个智能体各执一词,决策陷入瘫痪——这不是科幻小说,而是很多量化投资团队真实遇到的问题。
价值投资的核心是“用合理价格买入优质资产”,但当我们用多智能体系统(MAS)模拟人类投资团队时,智能体的自主性反而成了双刃剑:每个智能体都有自己的目标、逻辑和数据,但缺乏“统一的指挥”,很容易陷入冲突。
本文将从价值投资的底层逻辑出发,拆解多智能体冲突的根源,给出架构设计中的5大协调策略,帮你打造一个能“像资深投资经理团队一样协作”的AI系统。
读完本文,你将掌握:
- 如何给智能体“分工”,避免职责重叠;
- 如何用“价值投资共识框架”统一智能体的目标;
- 如何设计信息共享机制,消除智能体的“信息差”;
- 如何用分层决策和仲裁机制解决分歧;
- 如何让协调机制“自我进化”,适应市场变化。
准备工作:你需要先懂这些
在开始之前,我们需要明确一些基础认知,避免后续理解偏差:
1. 目标读者画像
本文的目标读者是:
- 正在搭建AI+价值投资系统的架构师/算法工程师;
- 熟悉多智能体系统(MAS)基础,想解决“智能体冲突”的技术人员;
- 对量化投资感兴趣,想了解AI如何模拟人类投资团队的产品经理。
你不需要是价值投资大师,但需要理解价值投资的核心概念(比如安全边际、DCF估值、护城河);也不需要是多智能体专家,但需要知道“智能体是具有自主性、反应性、社会性的计算实体”。
2. 技术栈与工具
- 基础框架:Python(算法实现)、MadAgents/SMAC(多智能体开发)、TensorFlow/PyTorch(强化学习);
- 信息传递:Kafka/RabbitMQ(事件驱动)、Redis(状态共享);
- 监控调试:Prometheus(指标收集)、Grafana(可视化 dashboard)。
核心实战:从冲突到协同的5步架构设计
多智能体冲突的本质,是**“局部最优”与“全局最优”的矛盾**——每个智能体都在追求自己的目标(比如估值智能体追求高安全边际),但忽略了系统的整体目标(比如组合的长期收益与风险平衡)。
解决冲突的关键,是用架构设计把“局部目标”绑定到“全局目标”。下面我们一步步拆解。
步骤一:先给智能体“分工”——明确职责边界
做什么:定义每个智能体的职责、输入、输出、权限,避免“越界决策”。
为什么:冲突往往来自“职责重叠”——比如风险智能体如果越界计算估值,就会和估值智能体产生矛盾。
怎么做:用“角色-职责-接口”表格明确分工(以价值投资场景为例):
智能体角色 | 核心职责 | 输入数据 | 输出结果 | 权限限制 |
---|---|---|---|---|
估值智能体 | 计算股票的内在价值与安全边际 | 财务数据(营收、净利润)、行业增长率 | 内在价值、安全边际(%) | 仅提供估值结论,不做决策 |
行业研究智能体 | 分析行业景气度与政策风险 | 政策文件、行业增速、竞争格局 | 行业景气度评分(1-10)、风险事件 | 触发风险事件,不干预估值 |
风险控制智能体 | 评估个股的下行风险(财务/流动性/政策) | 负债率、现金流、政策事件 | 风险评分(1-10)、风险提示 | 反对高风险决策,无最终决定权 |
组合管理智能体 | 统筹组合的仓位、收益与风险平衡 | 各智能体输出、当前组合状态 | 最终决策(买/卖/持有)、仓位上限 | 唯一拥有最终决策权的智能体 |
交易执行智能体 | 执行组合管理智能体的决策,优化交易成本 | 决策指令、市场流动性 | 交易结果(成交价、成交量) | 仅执行,不修改决策 |
例子:估值智能体的代码实现(用DCF模型计算内在价值):
class ValuationAgent:
def __init__(self, financial_data: dict):
# 输入:财务数据(来自财报API)
self.revenue = financial_data["revenue"] # 年营收(亿元)
self.net_profit = financial_data["net_profit"] # 年净利润(亿元)
self.growth_rate = financial_data["growth_rate"] # 未来5年预期增长率(%)
self.discount_rate = 0.12 # 折现率(WACC,加权平均资本成本)
self.terminal_growth = 0.03 # 永续增长率(假设行业成熟后增速)
def calculate_intrinsic_value(self) -> float:
"""用DCF模型计算内在价值"""
# 1. 预测未来5年的自由现金流(FCF)
free_cash_flows = []
for year in range(1, 6):
# 假设净利润率保持稳定,FCF≈净利润*(1+增长率)
fcf = self.net_profit * (1 + self.growth_rate) ** year
free_cash_flows.append(fcf)
# 2. 计算终端价值(永续增长阶段的现值)
terminal_value = (free_cash_flows[-1] * (1 + self.terminal_growth)) / (
self.discount_rate - self.terminal_growth
)
# 3. 将未来现金流折现到当前价值
present_value = sum(
[fcf / (1 + self.discount_rate) ** year for year, fcf in enumerate(free_cash_flows, 1)]
)
present_value += terminal_value / (1 + self.discount_rate) ** 5
return round(present_value, 2) # 输出:内在价值(亿元)
def get_margin_of_safety(self, market_price: float) -> float:
"""计算安全边际(内在价值-市价)/市价"""
intrinsic_value = self.calculate_intrinsic_value()
return round((intrinsic_value - market_price) / market_price, 2)
步骤二:拆解冲突根源——找到“吵架”的原因
在明确分工后,我们需要先理解智能体冲突的3类核心原因,才能针对性解决:
1. 目标冲突:“我要收益”vs“我要安全”
最常见的冲突——估值智能体追求“高安全边际”(想买入),风险智能体追求“低风险”(想拒绝),两者的目标本质矛盾。
例子:某新能源股的内在价值是100元,市价是70元(安全边际43%),但负债率高达60%(风险评分8/10)。估值智能体说“买”,风险智能体说“不买”。
2. 信息不对称:“我知道的你不知道”
智能体的输入数据不同,导致决策分歧。比如行业研究智能体发现“新能源补贴退坡”的政策,但估值智能体还在用旧的增长率数据计算内在价值,结果估值虚高。
3. 资源竞争:“我要仓位”vs“我要分散”
组合管理智能体限制了单一行业的仓位(比如消费股不超过20%),但估值智能体推荐的消费股太多,导致交易执行智能体无法下单。
步骤三:设计“价值投资共识框架”——统一智能体的目标
做什么:定义一个全局目标函数,让所有智能体的决策都围绕这个目标展开。
为什么:价值投资的核心是“长期复合收益与风险的平衡”,全局目标函数能把智能体的“局部目标”绑定到这个核心上。
怎么做:将目标函数量化为“效用值(Utility)”,公式如下:
U=α×R−β×D−γ×L U = \alpha \times R - \beta \times D - \gamma \times L U=α×R−β×D−γ×L
- RRR:预期长期复合收益率(%);
- DDD:预期最大回撤(%);
- LLL:流动性风险(比如日均成交量占比,1-10分);
- α,β,γ\alpha, \beta, \gammaα,β,γ:权重系数(由投资策略决定,比如追求稳健的策略可以调大β\betaβ)。
关键规则:所有智能体的决策必须让U≥UminU \geq U_{\text{min}}U≥Umin(UminU_{\text{min}}Umin是最低可接受效用值)。
例子:假设某策略的α=0.6\alpha=0.6α=0.6,β=0.3\beta=0.3β=0.3,γ=0.1\gamma=0.1γ=0.1,Umin=0.5U_{\text{min}}=0.5Umin=0.5。
- 估值智能体计算的R=18%R=18\%R=18%,风险智能体计算的D=8%D=8\%D=8%,流动性风险L=3L=3L=3;
- 效用值U=0.6×18−0.3×8−0.1×3=10.8−2.4−0.3=8.1≥0.5U=0.6×18 - 0.3×8 - 0.1×3 = 10.8 - 2.4 - 0.3 = 8.1 ≥ 0.5U=0.6×18−0.3×8−0.1×3=10.8−2.4−0.3=8.1≥0.5,符合要求;
- 如果DDD涨到15%,则U=0.6×18−0.3×15−0.1×3=10.8−4.5−0.3=6.0U=0.6×18 - 0.3×15 -0.1×3=10.8-4.5-0.3=6.0U=0.6×18−0.3×15−0.1×3=10.8−4.5−0.3=6.0,依然符合;
- 但如果DDD涨到20%,U=0.6×18−0.3×20−0.1×3=10.8−6−0.3=4.5U=0.6×18-0.3×20-0.1×3=10.8-6-0.3=4.5U=0.6×18−0.3×20−0.1×3=10.8−6−0.3=4.5?不,等一下,这里的单位要统一——应该把RRR、DDD、LLL都归一化到0-1的范围(比如R=18%R=18\%R=18%→0.18,D=8%D=8\%D=8%→0.08),这样计算更合理:
修正后的公式:
U=α×Rnorm−β×Dnorm−γ×Lnorm U = \alpha \times R_{\text{norm}} - \beta \times D_{\text{norm}} - \gamma \times L_{\text{norm}} U=α×Rnorm−β×Dnorm−γ×Lnorm
其中:
- Rnorm=R/100R_{\text{norm}} = R / 100Rnorm=R/100(比如18%→0.18);
- Dnorm=D/100D_{\text{norm}} = D / 100Dnorm=D/100(比如8%→0.08);
- Lnorm=L/10L_{\text{norm}} = L / 10Lnorm=L/10(比如3分→0.3)。
重新计算:
U=0.6×0.18−0.3×0.08−0.1×0.3=0.108−0.024−0.03=0.054U=0.6×0.18 - 0.3×0.08 - 0.1×0.3 = 0.108 - 0.024 - 0.03 = 0.054U=0.6×0.18−0.3×0.08−0.1×0.3=0.108−0.024−0.03=0.054?不对,这显然太小了——哦,权重系数应该调整到合适的范围,比如α=5\alpha=5α=5,β=3\beta=3β=3,γ=1\gamma=1γ=1:
U=5×0.18−3×0.08−1×0.3=0.9−0.24−0.3=0.36U=5×0.18 - 3×0.08 -1×0.3 = 0.9 - 0.24 - 0.3 = 0.36U=5×0.18−3×0.08−1×0.3=0.9−0.24−0.3=0.36,如果Umin=0.3U_{\text{min}}=0.3Umin=0.3,则符合要求。
总结:全局目标函数的关键是量化价值投资的核心逻辑,让智能体的决策有统一的“度量标准”。
步骤四:用3大机制解决冲突——从“吵架”到“协商”
有了共识框架,我们需要设计协调机制,让智能体在遇到分歧时能“协商解决”。下面是3个最有效的机制:
机制1:事件驱动的信息共享——消除“信息差”
问题:智能体的信息不同步(比如行业智能体知道政策变化,估值智能体不知道)。
解决方法:用**事件驱动架构(EDA)**让智能体实时共享信息。
怎么做:
- 定义“事件类型”:比如“行业政策变化”“财务数据更新”“风险事件触发”;
- 用消息队列(比如Kafka)传递事件;
- 智能体订阅相关事件,更新内部状态。
代码示例(用Kafka实现“行业政策变化”事件):
- 生产者(行业研究智能体):发送政策事件
from kafka import KafkaProducer
import json
producer = KafkaProducer(bootstrap_servers=["localhost:9092"], value_serializer=lambda v: json.dumps(v).encode("utf-8"))
def send_policy_event(stock_code: str, policy_type: str, impact: str):
event = {
"type": "INDUSTRY_POLICY_CHANGE",
"stock_code": stock_code,
"policy_type": policy_type, # 比如“补贴退坡”
"impact": impact, # 比如“负面”
"timestamp": str(datetime.now())
}
producer.send("investment_events", value=event)
producer.flush()
- 消费者(估值智能体):接收事件并更新状态
from kafka import KafkaConsumer
import json
consumer = KafkaConsumer(
"investment_events",
bootstrap_servers=["localhost:9092"],
value_deserializer=lambda v: json.loads(v.decode("utf-8")),
auto_offset_reset="latest"
)
class ValuationAgent:
def __init__(self):
self.growth_rate = 0.15 # 初始增长率15%
# 启动消费者线程
self.consumer_thread = threading.Thread(target=self.consume_events)
self.consumer_thread.start()
def consume_events(self):
for message in consumer:
event = message.value
if event["type"] == "INDUSTRY_POLICY_CHANGE" and event["impact"] == "负面":
# 政策负面,下调增长率(比如从15%降到10%)
self.growth_rate *= 0.67
print(f"收到政策事件,调整增长率为{self.growth_rate:.2f}")
机制2:分层决策——让“总经理”做最终决定
问题:多个智能体都想做决策,导致多头指挥。
解决方法:建立分层决策架构,让组合管理智能体成为“总经理”,拥有最终决策权。
层级结构:
- 执行层(交易执行智能体):执行决策,不做判断;
- 支持层(估值、行业、风险智能体):提供决策依据,不做最终决定;
- 决策层(组合管理智能体):统筹所有信息,输出最终决策。
决策流程(以“是否买入某股票”为例):
- 估值智能体计算内在价值→输出“安全边际40%”;
- 行业智能体分析政策→输出“行业景气度7/10”;
- 风险智能体评估风险→输出“风险评分5/10”;
- 组合管理智能体收集所有输出→用全局目标函数计算效用值→如果U≥UminU≥U_{\text{min}}U≥Umin,则决策“买入”;
- 交易执行智能体收到指令→执行下单。
代码示例(组合管理智能体的决策逻辑):
class PortfolioManagerAgent:
def __init__(self):
self.target_returns = 0.15 # 目标年收益率15%
self.max_drawdown = 0.10 # 最大可接受回撤10%
self.alpha = 5 # 收益率权重
self.beta = 3 # 回撤权重
self.gamma = 1 # 流动性权重
self.min_utility = 0.3 # 最低效用值
def make_decision(self, valuation_data: dict, risk_data: dict, industry_data: dict) -> str:
"""
输入:各支持层智能体的输出
输出:最终决策(BUY/SELL/HOLD)
"""
# 1. 提取关键指标
margin_of_safety = valuation_data["margin_of_safety"] # 安全边际(比如0.4)
risk_score = risk_data["risk_score"] # 风险评分(比如5)
industry_sentiment = industry_data["industry_sentiment"] # 行业景气度(比如7)
current_position = valuation_data["current_position"] # 当前仓位(比如10%)
position_limit = 0.20 # 单一股票仓位上限20%
# 2. 计算归一化指标
R_norm = (margin_of_safety * 0.15) / 1 # 假设安全边际40%对应15%收益率
D_norm = (risk_score / 10) * self.max_drawdown # 风险评分5对应5%回撤
L_norm = (10 - industry_sentiment) / 10 # 行业景气度7对应流动性风险3/10
# 3. 计算效用值
utility = self.alpha * R_norm - self.beta * D_norm - self.gamma * L_norm
# 4. 决策逻辑
if utility >= self.min_utility and current_position < position_limit:
return "BUY"
elif utility < self.min_utility and current_position > 0:
return "SELL"
else:
return "HOLD"
机制3:规则+机器学习的仲裁——解决“死锁”
问题:当支持层智能体的意见完全对立(比如估值说“买”,风险说“不买”),组合管理智能体无法决策。
解决方法:设计仲裁机制——先用规则解决常见冲突,再用机器学习优化复杂场景。
仲裁流程:
- 规则仲裁:用价值投资的核心规则(比如安全边际≥30%、风险评分≤5)优先判断;
- 机器学习仲裁:用强化学习模型(比如PPO)学习历史决策的“成功经验”,优化仲裁逻辑。
代码示例(规则仲裁+强化学习仲裁):
import numpy as np
from stable_baselines3 import PPO
from gym import Env, spaces
# 1. 规则仲裁函数
def rule_based_arbitration(margin_of_safety: float, risk_score: int) -> str:
"""用安全边际和风险评分做规则仲裁"""
if margin_of_safety >= 0.3 and risk_score <= 5:
return "BUY"
elif margin_of_safety < 0.1 and risk_score > 7:
return "SELL"
else:
return "UNCERTAIN" # 需要机器学习仲裁
# 2. 强化学习仲裁环境( Gym 接口)
class ArbitrationEnv(Env):
def __init__(self):
super(ArbitrationEnv, self).__init__()
# 状态空间:安全边际、风险评分、行业景气度、当前仓位
self.observation_space = spaces.Box(low=0, high=1, shape=(4,))
# 动作空间:BUY/SELL/HOLD(离散化)
self.action_space = spaces.Discrete(3)
# 初始化状态
self.state = [0.25, 0.6, 0.7, 0.15] # 安全边际25%,风险评分6,行业景气度7,当前仓位15%
def step(self, action):
"""执行动作,返回状态、奖励、是否终止、信息"""
margin_of_safety, risk_score, industry_sentiment, current_position = self.state
# 模拟动作的结果(比如买入后收益率变化)
if action == 0: # BUY
reward = 0.1 * margin_of_safety - 0.05 * risk_score # 安全边际越高,奖励越高;风险越高,奖励越低
current_position += 0.05 # 仓位增加5%
elif action == 1: # SELL
reward = 0.05 * risk_score - 0.1 * margin_of_safety # 风险越高,奖励越高;安全边际越低,奖励越高
current_position -= 0.05 # 仓位减少5%
else: # HOLD
reward = 0 # 无奖励
# 更新状态
self.state = [margin_of_safety, risk_score, industry_sentiment, current_position]
# 判断是否终止(比如仓位超过上限或低于下限)
done = current_position > 0.2 or current_position < 0
# 信息
info = {"action": action, "reward": reward}
return self.state, reward, done, info
def reset(self):
"""重置环境状态"""
self.state = [0.25, 0.6, 0.7, 0.15]
return self.state
# 3. 训练强化学习仲裁模型
env = ArbitrationEnv()
model = PPO("MlpPolicy", env, verbose=1)
model.learn(total_timesteps=10000)
# 4. 组合仲裁逻辑
def combined_arbitration(margin_of_safety: float, risk_score: int, state: list) -> str:
"""先规则仲裁,再机器学习仲裁"""
rule_result = rule_based_arbitration(margin_of_safety, risk_score)
if rule_result != "UNCERTAIN":
return rule_result
else:
# 用强化学习模型预测动作
action, _ = model.predict(state)
if action == 0:
return "BUY"
elif action == 1:
return "SELL"
else:
return "HOLD"
步骤五:让协调机制“自我进化”——动态调整策略
问题:市场是动态变化的(比如2020年疫情后的消费股逻辑,2022年的新能源政策),固定的协调机制会“过时”。
解决方法:用强化学习让组合管理智能体“学习”市场变化,动态调整目标函数的权重(α,β,γ\alpha, \beta, \gammaα,β,γ)。
怎么做:
- 定义状态空间:当前组合的收益率、回撤、仓位、市场情绪;
- 定义动作空间:调整α,β,γ\alpha, \beta, \gammaα,β,γ的权重(比如α\alphaα增加0.1,β\betaβ减少0.05);
- 定义奖励函数:实现的效用值UUU(越高奖励越高);
- 用PPO/DQN等算法训练模型,让智能体学会“适应市场”。
代码示例(动态调整权重的强化学习模型):
class DynamicWeightEnv(Env):
def __init__(self):
super(DynamicWeightEnv, self).__init__()
# 状态空间:当前收益率、回撤、流动性风险、安全边际
self.observation_space = spaces.Box(low=0, high=1, shape=(4,))
# 动作空间:调整α、β、γ的权重(3种动作)
self.action_space = spaces.Discrete(3)
# 初始权重
self.alpha = 5
self.beta = 3
self.gamma = 1
# 初始状态
self.state = [0.12, 0.06, 0.3, 0.25] # 收益率12%,回撤6%,流动性风险3,安全边际25%
def step(self, action):
"""执行动作,调整权重"""
# 根据动作调整权重
if action == 0:
self.alpha += 0.5 # 增加收益率权重
elif action == 1:
self.beta += 0.3 # 增加回撤权重
else:
self.gamma += 0.1 # 增加流动性权重
# 计算当前效用值(奖励)
R_norm, D_norm, L_norm, margin_of_safety = self.state
utility = self.alpha * R_norm - self.beta * D_norm - self.gamma * L_norm
# 模拟市场变化,更新状态(比如收益率波动)
self.state[0] += np.random.normal(0, 0.01) # 收益率波动±1%
self.state[1] += np.random.normal(0, 0.005) # 回撤波动±0.5%
# 判断是否终止(比如权重超过上限)
done = self.alpha > 10 or self.beta > 6 or self.gamma > 2
# 信息
info = {"alpha": self.alpha, "beta": self.beta, "gamma": self.gamma}
return self.state, utility, done, info
def reset(self):
"""重置状态和权重"""
self.alpha = 5
self.beta = 3
self.gamma = 1
self.state = [0.12, 0.06, 0.3, 0.25]
return self.state
# 训练模型
env = DynamicWeightEnv()
model = PPO("MlpPolicy", env, verbose=1)
model.learn(total_timesteps=20000)
# 用模型调整权重
def adjust_weights(state: list) -> tuple:
action, _ = model.predict(state)
if action == 0:
return (5.5, 3, 1)
elif action == 1:
return (5, 3.3, 1)
else:
return (5, 3, 1.1)
进阶探讨:更复杂的协调场景
当你的系统越来越复杂时,可能会遇到以下问题,这里给出一些解决思路:
1. 混合智能体的协调:符号主义+连接主义
问题:有些智能体用规则(符号主义,比如估值智能体的DCF模型),有些用深度学习(连接主义,比如行业智能体的政策文本分析),两者的决策逻辑不同,如何协调?
解决方法:用**“规则+嵌入”**的方式统一输出——比如将深度学习模型的输出(比如政策影响得分)归一化后,输入到全局目标函数中,和规则智能体的输出一起计算效用值。
2. 跨市场智能体的协调:股票+债券
问题:当系统包含股票智能体和债券智能体时,如何平衡两者的仓位(比如股债比)?
解决方法:扩展全局目标函数,加入资产配置因子——比如U=α×R−β×D−γ×L+δ×AU = \alpha×R - \beta×D - \gamma×L + \delta×AU=α×R−β×D−γ×L+δ×A,其中AAA是资产配置得分(比如股债比符合“股债平衡”策略时得分高)。
3. 性能优化:当智能体数量太多时怎么办?
问题:如果系统有100个智能体(比如覆盖100个行业),信息传递和决策速度会变慢。
解决方法:用分层聚类将智能体分组——比如把同行业的智能体归为一组,每组选一个“组长”智能体,只向组合管理智能体传递组内的汇总信息,减少数据量。
总结:打造“会协作的AI投资团队”
本文的核心逻辑可以总结为一句话:用架构设计将“智能体的自主性”绑定到“价值投资的核心逻辑”。
关键步骤回顾:
- 分工:明确智能体的职责边界,避免越界;
- 共识:用全局目标函数统一智能体的目标;
- 共享:用事件驱动消除信息差;
- 决策:用分层架构让“总经理”做最终决定;
- 进化:用强化学习让协调机制适应市场变化。
通过这些策略,你可以打造一个像资深投资团队一样协作的AI系统:估值智能体像“分析师”提供数据,风险智能体像“风控经理”提示风险,组合管理智能体像“基金经理”做最终决策——所有角色都围绕“长期复合收益”的目标,不再“吵架”。
行动号召:来聊聊你的冲突问题!
如果你的AI投资系统遇到过智能体冲突的问题,或者你有更好的协调策略,欢迎在评论区留言讨论!
比如:
- 你遇到过最棘手的智能体冲突是什么?
- 你用了什么方法解决?
- 你对本文的协调策略有什么疑问?
我会逐一回复,和你一起优化AI投资系统的协作能力!
最后想说:多智能体系统的核心不是“智能”,而是“协作”——就像人类投资团队一样,再厉害的分析师,如果不能和风控、交易员协作,也无法做出好的决策。愿你打造的AI系统,不仅“聪明”,更“会团队合作”!
更多推荐
所有评论(0)