Semantic Feedback Management¶
A common need in Agentic use cases is for the Agent to improve over time, as it gets more feedback about its action.
Feedback can take two main forms:
Explicit feedback: the user clicked a “thumbs-up” / “thumbs-down” control, and optionally gave explicit indication of what was right or wrong. Explicit feedback is then typically stored in a dataset.
Implicit feedback: the user stopped interacting, told the Agent it was wrong, or lost their calm
Structured Visual Agents provide two blocks for managing feedback:
The first block typically runs at the end of a conversation turn and detects implicit feedback, which is then stored by a dataset.
In a typical case, there would then be a manual curation phase, where both detected implicit feedback, and user explicit feedback are reviewed, curated, merged, in order to create a unified feedback dataset, with entries such as:
Kind of feedback: positive, correction, constraint, warning of a typical failure pattern
Content of the feedback
The second block then typically runs at the start of a conversation turn. It then performs a semantic search within the unified feedback dataset, detects which feedback items are relevant to the current conversation, and inject them in the context, so that the LLM underlying the agent can read it and help steer its behavior
Setup¶
These blocks are provided by the “Agent Semantic Feedback” plugin, which you need to install.
These blocks require that the Agent runs in a specific Code Env, which you can configure in the “Settings” tab of the agent. The Code Env needs to contain the “pysqlite3” and “sqliteai-vector” packages
Usage¶
The Detect Feedback block writes into a dataset. The Use Feedback block reads from a dataset. While they can be the same, these two datasets are typically separate, due to the mentioned curation, deduplication and unification process, which is handled as part of a regular Dataiku Flow.