|
|
@@ -225,7 +225,6 @@ async def perform_reflection(
|
|
|
trace_id: str,
|
|
|
store: FileSystemTraceStore,
|
|
|
focus: str = "",
|
|
|
- intervention_message: str = "",
|
|
|
) -> str:
|
|
|
"""
|
|
|
执行经验总结(反思)
|
|
|
@@ -235,7 +234,6 @@ async def perform_reflection(
|
|
|
trace_id: Trace ID
|
|
|
store: TraceStore 实例
|
|
|
focus: 可选的反思重点
|
|
|
- intervention_message: 可选的干预消息,如果提供则一并记录到经验文件中
|
|
|
|
|
|
Returns:
|
|
|
反思文本内容,如果失败则返回空字符串
|
|
|
@@ -275,18 +273,9 @@ async def perform_reflection(
|
|
|
os.makedirs(os.path.dirname(experiences_path), exist_ok=True)
|
|
|
header = f"\n\n---\n\n## {trace_id} ({datetime.now().strftime('%Y-%m-%d %H:%M')})\n\n"
|
|
|
|
|
|
- # 如果提供了干预消息,也一并记录
|
|
|
- content_parts = []
|
|
|
- if intervention_message:
|
|
|
- content_parts.append(f"**干预消息:**\n{intervention_message}\n")
|
|
|
- content_parts.append(f"**反思总结:**\n{reflection_text}")
|
|
|
-
|
|
|
with open(experiences_path, "a", encoding="utf-8") as f:
|
|
|
- f.write(header + "\n".join(content_parts) + "\n")
|
|
|
+ f.write(header + reflection_text + "\n")
|
|
|
print(f"\n反思已保存到: {experiences_path}")
|
|
|
- if intervention_message:
|
|
|
- print("\n--- 干预消息 ---")
|
|
|
- print(intervention_message)
|
|
|
print("\n--- 反思内容 ---")
|
|
|
print(reflection_text)
|
|
|
print("--- 结束 ---\n")
|
|
|
@@ -359,11 +348,11 @@ async def show_interactive_menu(
|
|
|
live_trace = await store.get_trace(trace_id)
|
|
|
actual_sequence = live_trace.last_sequence if live_trace and live_trace.last_sequence else current_sequence
|
|
|
|
|
|
- # 触发干预后,自动执行一次经验总结(并将干预消息一并记录)
|
|
|
+ # 触发干预后,自动执行一次经验总结
|
|
|
print("\n" + "=" * 60)
|
|
|
print("自动触发经验总结...")
|
|
|
print("=" * 60)
|
|
|
- await perform_reflection(runner, trace_id, store, focus="", intervention_message=text)
|
|
|
+ await perform_reflection(runner, trace_id, store, focus="")
|
|
|
|
|
|
return {
|
|
|
"action": "continue",
|