前两篇文章分别介绍了架构设计和 Agent 角色。本文将追踪一次完整的交易决策——从用户输入 ta.propagate("NVDA", "2024-05-10") 到最终输出五档评级。
整体执行流
第一阶段:状态初始化
一切从 propagate() 方法开始:
# tradingagents/graph/trading_graph.py
def propagate(
self,
company_name: str,
trade_date: str,
past_context: str = "",
callbacks: Optional[List] = None,
) -> Tuple[Dict[str, Any], str]:
"""运行完整的交易决策流程"""
# Phase A: 创建初始状态
init_state = self.propagator.create_initial_state(
company_name, trade_date, past_context
)
self.ticker = company_name
self.curr_state = init_state
# 检查是否有 checkpoint 可以恢复
saved_state = checkpoint_step(self.graph, company_name, trade_date)
# Phase B: 执行图
events = self.graph.stream(
saved_state or init_state,
**self.propagator.get_graph_args(callbacks)
)
for event in events:
self._process_event(event)
# Phase C: 后处理
final_decision = self._extract_final_decision(self.curr_state)
return self.curr_state, final_decision
2026/5/9...大约 8 分钟