Repository navigation
A question's pages are read before it is answered - #125
Merged
Merged
Conversation
A question of the model's says where its answer lies and holds none of it: its page names the entities it rests on and gives nothing of what they say. Read alone it looks like an answer, and the chat often wrote one from it, true and thin, without opening a page. Asked whether what a visitor types is stored, it said a question is kept and never for how long. The rule in the prompt asks for the pages, once and far from the moment the model reads the question. The question's own tool answer now ends with a note that names each entity it rests on that the message has not read, by title, type and id, and asks for them before the answer is written. It is left off in the last round a tool may be called in, and it is no part of what an answer is checked against. An answer that starts from a model question now costs about two and a half times what it did, since the pages it should have read are read. Verified: the four new tests failed before the change; npm test, npm run typecheck, npm run build:check, conventions-check and conventions-format pass; on six model questions over companygraph/mental-model, a local chat from this branch opened every page each rests on in 18 of 18 answers, where chat-server v0.35.0 on the same host did in 2 of 12, and its mean cost for one such answer was 25,437 input-equivalent tokens against 10,511. Process: Delivery Phase: Implement Track: Code Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Main gained the note that names the unit of the meta-model a picture draws while this branch was open, and both changed the lines where a tool's answer is handed to the model: one strips the unit from the widget's event, the other ends a question's answer with the pages it rests on. The merge keeps both, the event without unit and units and the answer with its note. Verified: npm test (295 pass), npm run typecheck, npm run build:check, conventions-check and conventions-format pass on the merged tree. Process: Delivery Phase: Implement Track: Code Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A question of the model's says where its answer lies and holds none of it: its page names the entities it rests on, each with the part of the answer it carries, and gives nothing of what their pages say. Read alone it looks like an answer, and the chat often wrote one from it, true and thin, without opening a page. Asked whether what a visitor types is stored, it said that a question is kept and never for how long, and asked whether there is an editor it said a feature describes what a plugin adds and not what that is. The question rule in the prompt already asks for the pages, once and far from the moment the model reads the question.
The question's own tool answer now ends with a note,
restsNote(), that names each entity it rests on that the message has not read, by title, type and id asrestsOf()reads them off the answer, and asks for them before the answer is written. It stands in the tool's answer, where the model has just read the page that tempts it to stop, as the notes after a picture do. It is left off in the last round a tool may be called in, since no page could follow it, and it is no part of what an answer is checked against. The design page says so under what rides outside the system prompt.What it costs: an answer that starts from a model question reads the pages it rests on, so it costs more, about two and a half times as measured below; an answer that starts anywhere else is unchanged. On companygraph.io's ceiling that is still several hundred such answers a month. It touches
lib/loop.mjsbeside the line #124 changes, so whichever of the two merges second takes main in first. Release notes to write at tagging: an answer that starts from one of the model's questions reads the pages the question rests on before it is written.Verified: the four new tests failed before the change;
npm test,npm run typecheck,npm run build:check, conventions-check and conventions-format pass; on six model questions over companygraph/mental-model, three runs each, a local chat from this branch opened every page each question rests on in 18 of 18 answers, where chat-server v0.35.0 on the same host, two runs each, did in 2 of 12; the answers then gave the ninety days, what the plugin does and the command to start with every time; the mean cost of one such answer was 25,437 input-equivalent tokens against 10,511.🤖 Generated with Claude Code