- Be direct and specific
- Minimize distracting context
- Use multi-turn effectively
- Encourage step-by-step progress for complex tasks
Be direct and specific
When communicating with Poolside, as with humans, the clearer the task specification, the likelier it is that it gets solved.- When interacting with Poolside, use clear and direct instructions, and avoid ambiguity.
- For large and complex tasks, avoid ambiguity by breaking down your task into smaller well-specified prompts.
- If you expect Poolside to produce code changes, prefer to ask it in an imperative manner like “add a function …”, “modify this code to …”, “change the
Xclass to …”.
Minimize distracting context
Poolside can work with large contexts, but it may still focus on context that seems relevant to your question or task but is not. For best performance, minimize the irrelevant context you pass to Poolside.- Include only the files relevant to your query in the context. Remove additional files/resources added with
@filewhen they become irrelevant. - Start a new conversation or clear the current one if the conversation history becomes irrelevant to the current task.
- Do not enable additional context like errors or application dependencies, if they are not directly relevant to your task.
Use multi-turn effectively
Poolside has access to the full conversation history within the current conversation. Here are some tips to use this more effectively:- Avoid ambiguous references to previous conversation turns. In many contexts, “this”, or “it” can refer to multiple things, and Poolside may not catch which one you mean.
- Be careful when you make code changes in the context files while referring to code changes earlier in the conversation. Code changes suggested by Poolside refer to the state of the context when Poolside generated the response, and it can get confused when the current file content does not match the state from the earlier turn you mean.
- A common pattern is to use multi-turn prompting to iterate on and refine Poolside’s code suggestions in follow-up prompts. To avoid cluttering the conversation history, iterate until you get a good answer, apply it, and then start a new session for the next task.
- Use
/newto start a new conversation or/clearto clean up the current conversation when the conversation history becomes irrelevant or cluttered.
Encourage step-by-step progress for complex tasks
For more complex tasks, it can help to instruct Poolside to approach the task step by step. This gives Poolside more room to work through the task carefully and produce a more detailed, accurate answer. Not every task benefits from this approach, and it is not recommended for straightforward problems.For complex tasks, try to add some version of “Work step by step. Briefly
explain your approach and progress.” at the end of the prompt.