fix(xingbang): reward 计算后写回轨迹文件, 进化闭环数据完整
此前 cumulative_reward 只存在于返回对象, 未写回磁盘轨迹文件 (finalize 先落盘, 之后改的 reward 只在内存)。新增 rewrite() 在 reward 计算后重新覆盖轨迹, 确保自进化数据(含奖励)完整可追溯。
This commit is contained in:
@@ -90,6 +90,19 @@ class TrajectoryRecorder:
|
||||
)
|
||||
return path
|
||||
|
||||
def set_reward(self, reward: float) -> None:
|
||||
"""计算奖励后写回当前轨迹并重新落盘(进化闭环数据完整)。"""
|
||||
if self._current is not None:
|
||||
self._current["cumulative_reward"] = reward
|
||||
# 若已有 trajectory_id, 覆盖落盘(full path 已知)
|
||||
tid = self._current.get("trajectory_id")
|
||||
if tid:
|
||||
self._save(self._current)
|
||||
|
||||
def rewrite(self, trajectory: dict[str, Any]) -> Path:
|
||||
"""写回一条已存在的轨迹(非当前进行中的), 返回路径。"""
|
||||
return self._save(trajectory)
|
||||
|
||||
# ── 从调用侧采集 ────────────────────────────────────
|
||||
def on_evidence(self, kind: str, data: dict) -> None:
|
||||
"""订阅 agents 的 evidence 回调,累积成本步记录。"""
|
||||
|
||||
Reference in New Issue
Block a user