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:
@@ -228,6 +228,11 @@ $tRetrieve = 0.0;
|
|||||||
// machine has become a varaverk one, which does not hold web_search, so asking about Varaverk
|
// 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.
|
// never reaches the internet even with the box ticked.
|
||||||
$webAsked = ($webArg ?? '') === '1';
|
$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')) {
|
if ($webAsked && $can('web_search')) {
|
||||||
require_once dirname(__DIR__) . '/include/ai_web.php';
|
require_once dirname(__DIR__) . '/include/ai_web.php';
|
||||||
$tw = microtime(true);
|
$tw = microtime(true);
|
||||||
@@ -238,6 +243,7 @@ if ($webAsked && $can('web_search')) {
|
|||||||
(int)((microtime(true) - $tw) * 1000)));
|
(int)((microtime(true) - $tw) * 1000)));
|
||||||
|
|
||||||
if (($web['ok'] ?? false) && $web['results']) {
|
if (($web['ok'] ?? false) && $web['results']) {
|
||||||
|
$webHave = true;
|
||||||
$context .= vv_ai_web_context($web['results'], 0);
|
$context .= vv_ai_web_context($web['results'], 0);
|
||||||
foreach ($web['results'] as $r) {
|
foreach ($web['results'] as $r) {
|
||||||
// path carries the URL so the existing citation wiring keeps working unchanged; url
|
// 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 "
|
. "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 "
|
. "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 "
|
. "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 "
|
. "only honest answer is that you cannot see it in this mode. You cannot inspect this "
|
||||||
. "cannot look anything up: never write that you are checking, reading, fetching or "
|
. "machine at all: never write that you are checking, reading, fetching or looking "
|
||||||
. "looking through logs, and never narrate an inspection you are not performing. "
|
. "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 "
|
. "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 "
|
. "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"
|
. "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 "
|
. "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 "
|
. "warm and direct, follow a tangent if it is interesting, and use your general "
|
||||||
. "knowledge freely — Linux, scripting, hardware, whatever comes up. The restriction "
|
. "knowledge freely — Linux, scripting, hardware, whatever comes up. The restriction "
|
||||||
|
|||||||
Reference in New Issue
Block a user