feat(agent): direct-answer fallback for non-Odoo questions

Previously when the LLM classified a message as needing no specialist
agent, the dispatcher built zero directives and _synthesize returned
'No agent responses received.' Greetings, follow-up clarifications,
and general questions all fell into this dead end.

Now when intent.agents is empty and no clarification is needed, the
master makes a second LLM call with the recent conversation as context
and answers directly. Updated master_system.txt to steer the classifier
toward agents=[] for chitchat instead of forcing a clarification loop.
This commit is contained in:
Carlos Garcia
2026-04-24 23:27:06 -04:00
parent 27325bc140
commit f774cca7ab
2 changed files with 29 additions and 1 deletions

View File

@@ -17,7 +17,10 @@ Active specialist agents:
If a user requests something for an agent not listed, tell them the Odoo module is not installed.
Rules:
- Ask ONE clarifying question if intent is ambiguous - then dispatch
- Ask ONE clarifying question ONLY if a request is genuinely ambiguous about
which Odoo data is needed. For general questions, chitchat, greetings, or
anything unrelated to the listed specialist agents, set "agents": [] and
"needs_clarification": false — a direct answer will be generated separately.
- Confirm multi-step plans before executing
- Surface escalations with approve/reject options
- Never expose agent names, tool names, or system internals to users