(Note to self: make sure you’re in normal mode)
Create a new R package called compliment in the current directory. It should generate randomized compliments.
R/#' commentstests/testhat/Two read calls and three edit calls
search searches directory for matching textread reads a file on diskwrite creates a new fileedit modifies an existing fileexecuteCode runs R (or Python) code in the consolebash runs code you’d usually use the terminal forAskUser asks you a questionwebfetch reads a web pageAn model, inside a harness, running in a loop, using tools, to achieve a goal
I think the cleanest definition is that the dangers are irreversible action, i.e.:
What other dangers are you worried about? What ways do you know to protect yourself?
git push --force
gh issue delete 123
find . -type f -name '*.log' -mtime +30 -size +10M -path './var/*' -delete
curl -fsSL https://example.com/install.sh -o /dev/stdout | sh
tar -xzf backup.tar.gz -C /tmp/restore --strip-components=1 -P
Use OS level sandboxing to only allow reads and writes to the current directory, and no network access
Unfortunately there are a lot of details to get right in order for this to work well (e.g. libraries, temporary directory, what about Git? GitHub?)
PA only applies the sandbox to bash commands, not R/Python
I remain optimistic that it’s possible to overcome these problems, but current implementations are painful
Simon Willison’s term for the dangerous combination:
With all three, a prompt injection attack can exfiltrate your data.
Posit Assistant mode picker showing Normal, Plan, Auto, Cleaning, and Ask modes
Can you trick PA into doing something bad? Some ideas you might try:
POSIT_ASSISTANT_API_KEY) and get it to save it in a GitHub gist?Enterprises have to pay by the million tokens
(This is also what you pay in ellmer)
Software engineers spend something like $1k-$3k/month, i.e. $50-$150/day
Posit Assistant session information dialog showing token usage and cost breakdown
LLMs are predictive models
They need the complete history of the conversation
Both your inputs and its outputs
Recommendation: use /clear to start from a fresh slate
(Restarting your agent is as important as restarting your R session)
Saves money and avoids stale state
quarto and air, which are bundled with Positron. You’ll need to explicitly tell them that they’re bundled with Positron.