Let it look things up rather than putting it in search mode

Results announced themselves as the source, so a question it already knew got
answered by paraphrasing the first hit.
This commit is contained in:
Gmer4Lfe
2026-08-12 17:32:41 -04:00
parent e2b304daad
commit f8c4c93f20
2 changed files with 21 additions and 8 deletions
+12 -2
View File
@@ -274,8 +274,18 @@ function vv_ai_web_search(string $question): array {
// renumbering the other.
function vv_ai_web_context(array $results, int $offset = 0): string {
if (!$results) return '';
$s = "Web search results. These are from outside this installation — cite them by number, and\n"
. "say when something is a general answer rather than one about this machine.\n\n";
// Framed as reference material, not as the answer. The search runs whenever the box is
// ticked, because a search is one HTTP request and deciding to run it would cost a whole
// extra generation — but running it must not mean leaning on it. Answering a question the
// model already knows by paraphrasing the first search result is worse than answering it
// directly, and it was doing that because the results announced themselves as the source.
$s = "Reference material from a web search, in case it is useful. It is from outside this\n"
. "installation and nothing here has been verified against this machine.\n\n"
. "Answer from what you already know when you know it. Reach for these when you do not,\n"
. "when the question turns on something current, or when a specific version, release or\n"
. "figure needs checking rather than recalling. Cite by number only what you actually\n"
. "used, ignore the rest, and never imply the web was consulted about this installation —\n"
. "it was not. Say plainly when an answer is general rather than about this machine.\n\n";
foreach ($results as $i => $r) {
$s .= '[' . ($offset + $i + 1) . '] ' . $r['title'] . ' — ' . $r['url'] . "\n"
. $r['snippet'] . "\n\n";
+9 -6
View File
@@ -398,13 +398,16 @@ vv_ai_chat_markup('vv-ai', [
reads as broken, and the reason it does nothing is a capability boundary that takes a
paragraph to explain. -->
<div class="vv-ai-set-r" id="vv-ai-web-row" style="display:none">
<span class="vv-ai-set-l">Web search</span>
<span class="vv-ai-set-l">Looking things up</span>
<div>
<label class="vv-ai-toggle"><input type="checkbox" id="vv-ai-web"> search the web for
this question</label>
<div class="vv-ai-set-d" id="vv-ai-web-state">General Chat only — it is the one profile
that cannot change anything, which is why it is the one allowed to look outside. Your
question is sent to the configured search provider.</div>
<label class="vv-ai-toggle"><input type="checkbox" id="vv-ai-web"> let it look up what
it does not know</label>
<div class="vv-ai-set-d" id="vv-ai-web-state">Not a web-search mode — it still answers
from what it knows, and reaches for results when it does not know, when the question
turns on something current, or when a version or figure is worth checking rather than
recalling. General Chat only: it is the one profile that cannot change anything, which
is why it is the one allowed to look outside. Your question is sent to the configured
search provider.</div>
</div>
</div>
<div class="vv-ai-set-r">