Conversación continua: historial como mensajes user/assistant reales

El agenticSystem ahora es conversacional — recuerda lo dicho en
mensajes anteriores de la misma sesión.

- engine.py: direct_response guarda en task_history con formato
  "User: X → Agent: Y"
- context/engine.py: _build_messages() reconstruye el task_history
  como pares user/assistant reales en el array de messages, antes
  del mensaje actual. El modelo ve una conversación completa.
- base.py: planner/reviewer no emiten AGENT_DELTA al frontend
  (su output es interno, no para el usuario)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jordan Diaz
2026-04-03 22:56:23 +00:00
parent 151596a52d
commit bcfaeb7e39
2 changed files with 39 additions and 2 deletions

View File

@@ -123,6 +123,23 @@ class OrchestratorEngine:
# Direct response — no plan needed (saludo, pregunta simple)
if isinstance(plan_result, str):
logger.info("Planner returned direct response for task %s", task.task_id)
# Save to task history so conversation context is preserved
session.task_history.append({
"task_id": task.task_id,
"objective": message,
"status": "completed",
"steps": 0,
"facts": [],
"key_data": {},
"tools_used": [],
"artifacts_count": 0,
"summary": f"User: {message[:200]} → Agent: {plan_result[:200]}",
"review": "",
})
if len(session.task_history) > 20:
session.task_history = session.task_history[-20:]
task.status = TaskStatus.COMPLETED
session.complete_task()