The agent does have to pull some data into the context. The way it usually works is that the LLM will output a tool call, which is just some structured text, that the harness, a software managing the LLM running on your own PC, then processes. The most common tool calls are read, write, update and execute (usually bash).
For example, the LLM might request to read /some/path/to/file.js at lines 10 to 50. The harness then sends the result of that tool call to the LLM which causes it to generate further text and possibly more tool calls.
Crucially though, since it is the harness processing requests from the LLM, it can do stuff like deny access, prompt the user for permission and various other things.
What's weird is that no other harness really does this for regular usage. I know some providers now offer a cloud based environment for their agent to run in independently, but as far as I know this is something you have to opt in to.
It's also not really necessary to do this. The input processing/token generation process dwarfs any gains you could make from moving the project closer to the metal running the LLM.
Really, the "negligence" here is that there was no validation for uploads. Even a simple "is this the home directory" check could have prevented much of the backlash.
That being said, I believe that this was mainly done to get clean training data for Grok. If you're just working off of file traces/snippets from regular agent usage, your training data is incomplete. Why not just get the whole project to train on ...
For example, the LLM might request to read /some/path/to/file.js at lines 10 to 50. The harness then sends the result of that tool call to the LLM which causes it to generate further text and possibly more tool calls.
Crucially though, since it is the harness processing requests from the LLM, it can do stuff like deny access, prompt the user for permission and various other things.
What's weird is that no other harness really does this for regular usage. I know some providers now offer a cloud based environment for their agent to run in independently, but as far as I know this is something you have to opt in to.
It's also not really necessary to do this. The input processing/token generation process dwarfs any gains you could make from moving the project closer to the metal running the LLM.
Really, the "negligence" here is that there was no validation for uploads. Even a simple "is this the home directory" check could have prevented much of the backlash.
That being said, I believe that this was mainly done to get clean training data for Grok. If you're just working off of file traces/snippets from regular agent usage, your training data is incomplete. Why not just get the whole project to train on ...