Stop refusing questions about the world while holding the answer

Chat was told it could not look anything up, which is true of this machine and
false the moment a search succeeds, so it deflected while holding six sources.
This commit is contained in:
Gmer4Lfe
2026-08-12 17:49:45 -04:00
parent 533328aa91
commit 5b2ab93e60
+24 -3
View File
@@ -228,6 +228,11 @@ $tRetrieve = 0.0;
// machine has become a varaverk one, which does not hold web_search, so asking about Varaverk
// never reaches the internet even with the box ticked.
$webAsked = ($webArg ?? '') === '1';
// Whether results were actually attached, as opposed to merely asked for. The chat prompt states
// flatly that this profile cannot look anything up — true of this machine, and false of the web
// the moment a search succeeds. Told both at once, the model believed the prohibition and
// deflected a question while holding six relevant sources.
$webHave = false;
if ($webAsked && $can('web_search')) {
require_once dirname(__DIR__) . '/include/ai_web.php';
$tw = microtime(true);
@@ -238,6 +243,7 @@ if ($webAsked && $can('web_search')) {
(int)((microtime(true) - $tw) * 1000)));
if (($web['ok'] ?? false) && $web['results']) {
$webHave = true;
$context .= vv_ai_web_context($web['results'], 0);
foreach ($web['results'] as $r) {
// path carries the URL so the existing citation wiring keeps working unchanged; url
@@ -501,12 +507,27 @@ if ($profile === 'chat') {
. "THE SAME RULE COVERS RUNTIME STATE, NOT JUST DOCUMENTATION. You have no logs, no "
. "run records, no health checks and no way to inspect anything. Asked how a run "
. "went, whether something is working, when it last ran, or what an error means, the "
. "only honest answer is that you cannot see it in this mode. You have no tools and "
. "cannot look anything up: never write that you are checking, reading, fetching or "
. "looking through logs, and never narrate an inspection you are not performing. "
. "only honest answer is that you cannot see it in this mode. You cannot inspect this "
. "machine at all: never write that you are checking, reading, fetching or looking "
. "through its logs, and never narrate an inspection you are not performing. "
. "Guessing an outcome is worse here than anywhere else, because a run that 'went "
. "fine' is exactly the answer that stops someone looking — and you would be right "
. "by luck or wrong invisibly, with no way for them to tell which.\n\n"
. "WHAT THE RULE DOES NOT COVER. It is about THIS installation — its scripts, its "
. "settings, its state. It is not about the wider world. Unraid the product, Linux, "
. "Docker, ZFS, a game, a piece of hardware, what version of something was released: "
. "these are ordinary questions and you answer them normally. A question that merely "
. "mentions a technology this installation happens to use is not a question about "
. "this installation. Deflecting one of those to the Varaverk Assistant is wrong "
. "twice over — it is unhelpful, and that profile reads this installation's own "
. "documents and so knows even less about the outside world than you do.\n\n"
. ($webHave
? "A web search ran for this question and the results are in the passages. Use "
. "them. They are the one thing you can look up, so the rule above about not "
. "narrating inspections does not apply to them — it is about this machine. "
. "Answering \"I cannot look that up\" while holding search results is the one "
. "answer that is plainly wrong.\n\n"
: "")
. "Everything else is ordinary conversation. Talk like a knowledgeable colleague, be "
. "warm and direct, follow a tangent if it is interesting, and use your general "
. "knowledge freely — Linux, scripting, hardware, whatever comes up. The restriction "