Agente planificador-ejecutor especializado en taoísmo, I Ching y Tao Te Ching

Este archivo es un workflow completo en LangGraph que construye un agente planificador-ejecutor especializado en taoísmo, I Ching y Tao Te Ching, con:
- planificación inicial,
- ejecución paso a paso,
- replanteamiento,
- logging a archivo,
- persistencia de hipótesis,
- y un sistema de restricciones según el grado de certeza.
Es un sistema complejo, así que lo desgloso por bloques.
🧩 1. Carga de modelos
python
deepseek_model_loaded = get_model("Deepseek")
gpt4o_model_loaded = get_model("gpt-4o")
🧩 2. Estructuras Pydantic
Se definen tres clases:
✔ Plan
Representa una lista de pasos.
✔ Response
Representa la respuesta final al usuario.
✔ Act
Puede contener o un Plan o una Response.
Esto es clave para el replanner.
🧩 3. Estado del workflow (PlanExecute)
python
class PlanExecute(TypedDict):
input: str
plan: List[str]
past_steps: List[Tuple]
response: str
log_filename: str
last_node_output: str
hypothesis_certainty: str
main_hypothesis: List[str]
Este diccionario mantiene:
- la pregunta del usuario,
- el plan actual,
- los pasos ya ejecutados,
- la hipótesis principal,
- el grado de certeza,
- el archivo de log,
- y la última salida generada.
Es el estado global que fluye por el grafo.
🧩 4. Mensaje del sistema dinámico
La función más importante:
python
def generate_agent_system_message(state: PlanExecute) -> str:
Construye un prompt del sistema que:
- define al agente como experto en taoísmo, I Ching y Tao Te Ching,
- es bilingüe (ES/EN),
- obliga a responder en el idioma del usuario,
- exige un formato final con:
Codi
Grado de Certeza:
Hipótesis Principal:
Degree of Certainty:
Main Hypothesis:
- si la certeza es “alta”, prohíbe generar nuevas hipótesis.
Este es el corazón del comportamiento del agente.
🧩 5. Nodos del workflow
🔹 6.1. plan_step
Genera un plan inicial:
- Usa el modelo GPT‑4o (si existiera).
- Produce una lista de pasos.
- Guarda el plan en el estado.
- Registra la salida en el log.
🔹 6.2. execute_step
Ejecuta el primer paso del plan:
- Llama al agente con el paso actual.
- Extrae del texto:
- el grado de certeza,
- la hipótesis principal.
- Actualiza el estado.
- Elimina el paso ejecutado del plan.
Este nodo también:
- valida hipótesis,
- evita sobrescribir certezas más altas,
- registra todo en el log.
🔹 6.3. replan_step
Decide si:
- continuar ejecutando pasos,
- generar un nuevo plan,
- o terminar con una respuesta final.
Si la certeza es “alta”, obliga a terminar.
🔹 6.4. log_to_file
Guarda cada salida en un archivo Markdown:
- crea un archivo nuevo al inicio,
- añade cada nodo ejecutado,
- genera una traza completa del workflow.
🧩 6. Condición de finalización
python
def should_end(state):
Termina cuando:
- hay una respuesta final,
- o el plan está vacío.
🧩 7. Construcción del grafo
python
workflow = StateGraph(PlanExecute)
Se añaden nodos y edges:
Codi
START → planner → log_plan → agent → log_exec → replan → log_replan → (agent o END)
Es un ciclo:
- planificar
- ejecutar
- replantear
- repetir
hasta que haya respuesta final.
🧩 8. Ejecución asíncrona
python
async def run_planner_agent(question):
- Inicializa el estado.
- Ejecuta el grafo paso a paso.
- Captura la respuesta final.
- Imprime el resultado.
🧩 9. Ejemplo de ejecución
python
RESEARCH_QUESTION = "Que es la secuencia del Rey Wen? ..."
asyncio.run(run_planner_agent(...))
🎯 En resumen
Este código implementa:
✔ Un agente experto en taoísmo
✔ Con planificación automática
✔ Ejecución paso a paso
✔ Replanificación inteligente
✔ Persistencia de hipótesis
✔ Restricciones según certeza
✔ Logging completo en Markdown
✔ Un workflow LangGraph totalmente funcional
Es un motor de investigación guiada, no un simple chatbot.
🌿 AGENTES DEL WORKFLOW (explicados uno por uno)
1. START
No es un agente, sino el punto de entrada del workflow. Aquí se inicializa el estado:
input: pregunta del usuariohypothesis_certainty = "baja"main_hypothesis = ["Aún no establecida"]past_steps = []plan = []log_filename = ""
Después pasa el control al planner.
2. PLANNER — “planner_step()”
🧠 Rol: Agente planificador
Este agente:
- Lee la pregunta del usuario.
- Recibe un system prompt taoísta (especialista en Tao Te Ching, I Ching, combinatoria, exégesis clásica).
- Su única misión es generar un plan estructurado de investigación.
📤 Produce:
plan = [paso1, paso2, paso3...]last_node_outputcon el plan formateado.
📥 Consume:
inputdel usuario.- Estado actual (hipótesis, certeza, etc.).
3. LOGPLAN — “log_plan()”
🗂 Rol: Agente registrador
No piensa ni razona. Su función es guardar en un archivo Markdown:
- la tarea inicial,
- el plan generado por el planner.
📤 Produce:
log_filename(si no existía)last_node_output = ""(se vacía tras escribir)
4. AGENT — “execute_step()”
🧠 Rol: Agente ejecutor / investigador
Este es el agente principal del sistema.
Su misión:
- Tomar el primer paso del plan.
- Ejecutarlo usando el LLM taoísta.
- Analizar el resultado.
- Extraer:
- Grado de Certeza (alta / media / baja)
- Hipótesis Principal (una o varias líneas)
- Actualizar el estado global.
📤 Produce:
past_steps += [(tarea, resultado)]main_hypothesisactualizadahypothesis_certaintyactualizadaplansin el primer pasolast_node_outputcon el análisis completo
📥 Consume:
planmain_hypothesishypothesis_certainty
Este agente es el que realmente piensa.
5. LOGEXEC — “log_exec()”
🗂 Rol: Agente registrador
Guarda en el archivo Markdown:
- el resultado de la ejecución del paso,
- la hipótesis extraída,
- el grado de certeza.
No modifica el plan ni la hipótesis.
6. REPLAN — “replan_step()”
🧠 Rol: Agente supervisor / estratega
Este agente decide:
- si el plan debe continuar,
- si debe generarse un nuevo plan,
- o si ya se puede dar una respuesta final.
Su lógica depende del estado:
🔹 Si hypothesis_certainty == "alta":
- prohibido generar nuevos planes
- debe devolver una Response final
🔹 Si el plan está incompleto:
- puede generar un nuevo plan (Act → Plan)
🔹 Si la respuesta ya está madura:
- devuelve Response final
📤 Produce:
ResponseoPlanlast_node_output
7. LOGREPLAN — “log_replan()”
🗂 Rol: Agente registrador
Guarda en el archivo:
- la decisión del replanner,
- el nuevo plan o la respuesta final.
8. END
El workflow termina cuando:
- hay una
responsefinal, o - el plan está vacío.
🌿 RESUMEN DE LOS AGENTES
| Nodo | Tipo de agente | Función |
|---|---|---|
| START | — | Inicializa el estado |
| PLANNER | Planificador | Genera un plan de investigación |
| LOGPLAN | Registrador | Guarda el plan en Markdown |
| AGENT | Ejecutor / Analista | Ejecuta pasos, extrae hipótesis, actualiza certeza |
| LOGEXEC | Registrador | Guarda la ejecución del paso |
| REPLAN | Supervisor / Estratega | Decide continuar, replanificar o terminar |
| LOGREPLAN | Registrador | Guarda la decisión del replanner |
| END | — | Finaliza el workflow |







La Secuencia del Rey Wen: Orden Simbólico y Arquitectura Filosófica del I Ching – sanchezpares.com
[…] Agente planificador-ejecutor especializado en taoísmo, I Ching y Tao Te Ching […]