{"id":888,"date":"2025-07-24T18:56:52","date_gmt":"2025-07-25T01:56:52","guid":{"rendered":"https:\/\/sysprogs.com\/tutorials\/?p=888"},"modified":"2025-07-24T18:56:52","modified_gmt":"2025-07-25T01:56:52","slug":"planning-mode","status":"publish","type":"post","link":"https:\/\/sysprogs.com\/CodeVROOM\/documentation\/concepts\/planning\/","title":{"rendered":"Planning Mode"},"content":{"rendered":"<p>Planning mode allows explicitly tweaking two steps of an <a href=\"https:\/\/sysprogs.com\/CodeVROOM\/documentation\/concepts\/sessions\/\">editing session<\/a> that are normally done automatically:<\/p>\n<ul>\n<li>Expanding brief instructions into a more detailed version<\/li>\n<li>Letting the AI discover symbols relevant to a particular request<\/li>\n<\/ul>\n<p>You can enter the planning mode by using the drop-down button in the bottom right corner of the AI Session window:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/planning-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-890\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/planning-1.png\" alt=\"\" width=\"624\" height=\"237\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/planning-1.png 624w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/planning-1-300x114.png 300w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><\/a>You can also start a regular AI edit, and then if the changes don&#8217;t look right, switch to the planning mode:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/replan-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-892\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/replan-1.png\" alt=\"\" width=\"871\" height=\"275\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/replan-1.png 871w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/replan-1-300x95.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/replan-1-768x242.png 768w\" sizes=\"(max-width: 871px) 100vw, 871px\" \/><\/a><\/p>\n<p>Planning mode actions do not directly edit any code. Instead, they refine the editing request, or explicitly pull more context into the context window. See the sections below for more details.<\/p>\n<h1>Alternative Interpretations<\/h1>\n<p>AI can do a lot of meaningful work with very brief prompts (like a name of the method you would add or &#8220;sort by x, then y&#8221;). But, it doesn&#8217;t always get the correct intention. If it looks like the AI totally misunderstood what you meant, and you don&#8217;t want to write more details by hand, you can switch to the planning mode and use the &#8220;Other ideas&#8221; button to view other possible expansions of your original request:<\/p>\n<p><a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/alternatives.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-877\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/alternatives.png\" alt=\"\" width=\"855\" height=\"517\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/alternatives.png 855w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/alternatives-300x181.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/alternatives-768x464.png 768w\" sizes=\"(max-width: 855px) 100vw, 855px\" \/><\/a>Needless to say, you can edit the expanded instructions before hitting &#8220;Go&#8221; and letting the model actually follow them.<\/p>\n<h1>Pulling Context<\/h1>\n<p>You can use the &#8220;Pull relevant symbols&#8221; button to automatically ask the model what other symbols it would like to see to complete the current request, and pull them into the context window:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/context.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-893\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/context.png\" alt=\"\" width=\"1102\" height=\"813\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/context.png 1102w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/context-300x221.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/context-1024x755.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/07\/context-768x567.png 768w\" sizes=\"(max-width: 1102px) 100vw, 1102px\" \/><\/a>If the model requested too many symbols, you can step back, or redo the step.<\/p>\n<p>By default, CodeVROOM does one context discovery iteration at the beginning of each session. If this is not enough and the model ends up hallucinating some dependent types, you can step back into the planning mode, pull more symbols, and press Go to get another version of the edit.<\/p>\n<p>Symbol-level editing works much faster than file-level editing, so this workflow would still take less time and tokens than letting an agentic tool carefully examine multiple files.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Planning mode allows explicitly tweaking two steps of an editing session that are normally done automatically: Expanding brief instructions into<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[65],"tags":[],"_links":{"self":[{"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/posts\/888"}],"collection":[{"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/comments?post=888"}],"version-history":[{"count":1,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/posts\/888\/revisions"}],"predecessor-version":[{"id":894,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/posts\/888\/revisions\/894"}],"wp:attachment":[{"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/media?parent=888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/categories?post=888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/tags?post=888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}