Add run-scoped skill and prompt asset management

This commit is contained in:
2026-03-16 00:04:04 +08:00
parent 964d3b6e13
commit 78f133617f
23 changed files with 1309 additions and 109 deletions

View File

@@ -226,6 +226,44 @@ class TradingPipeline:
"settlement_result": settlement_result,
}
def reload_runtime_assets(self) -> Dict[str, Any]:
"""Reload prompt assets, bootstrap config, and active skills for all agents."""
from backend.agents.skills_manager import SkillsManager
from backend.agents.toolkit_factory import load_agent_profiles
config_name = getattr(self.pm, "config", {}).get("config_name", "default")
skills_manager = SkillsManager()
profiles = load_agent_profiles()
active_skill_map = skills_manager.prepare_active_skills(
config_name=config_name,
agent_defaults={
agent_id: profile.get("skills", [])
for agent_id, profile in profiles.items()
},
)
for analyst in self.analysts:
analyst.reload_runtime_assets(
active_skill_dirs=active_skill_map.get(analyst.name, []),
)
self.risk_manager.reload_runtime_assets(
active_skill_dirs=active_skill_map.get("risk_manager", []),
)
self.pm.reload_runtime_assets(
active_skill_dirs=active_skill_map.get("portfolio_manager", []),
)
return {
"config_name": config_name,
"reloaded_agents": [agent.name for agent in self.analysts]
+ ["risk_manager", "portfolio_manager"],
"active_skills": {
agent_id: [path.name for path in paths]
for agent_id, paths in active_skill_map.items()
},
}
async def _clear_all_agent_memory(self):
"""Clear short-term memory for all agents"""
for analyst in self.analysts: