<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="378507" data-post-id="378507">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lud" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lud/120/14382_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lud
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Providing an MCP with delete/insert/update SQL capabilities or uncontrolled select capabilites is as dumb as providing the same capabilities from a REST API. I would not say that this is a protocol problem, it is a careless people problem <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="378507" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/change-my-mind-the-optimal-ai-prompt-is-the-code-itself/73378/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-378507" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="378507"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="378511" data-post-id="378511">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="GrammAcc" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/GrammAcc/120/40380_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  GrammAcc
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I actually agree. That’s my general opinion on this subject too. But historically, “just do it right” hasn’t really worked for the industry. Hence how we still have new apps being developed with SQL injection vulnerabilities even without any vibe-coding. <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>As for the MCP stuff, I don’t know the details since it’s outside my wheelhouse, but IIRC, the engineers at Supabase basically said it wasn’t possible to fully sandbox the AI, and there was always going to be some possibility of prompt injection. Not sure how true that is on a technical level though since I’ve never messed with MCP.</p>
<p>I think the issue might simply come down to the usefulness of the tool. If we were to sandbox an AI to a point where it’s actually completely secure, it wouldn’t have access to any of the things that make it useful, and thus it wouldn’t be any better than existing tools. But it would be more expensive. An MCP interface to GitHub for example probably wouldn’t be very useful if it doesn’t have push access to the repos I’m working on, and if it has push access, it can do a <code>git push --force origin/main</code> at any time.</p>
<p>The simplest example for the thought experiment would be a todo-list AI. If you don’t give the AI write access to the todo-list, then you still have to go in and check off all the tasks manually, so it’s not that useful. Maybe it could still be beneficial for summaries or reminders, but I think most people would want an AI-powered todo-list to automatically update and check off tasks by just saying “I finished the grocery shopping for this week.” But if it can check off tasks, it can also just delete your whole to-do list.</p>
<p>My understanding is that this problem comes down to how deterministic we can make the AI. Basically, how can I make sure that an AI that has push access to my repo will never force push to main? Is that even possible with the way this technology works? I dunno cause I’m not an AI researcher, but it seems like we at least haven’t figured that out yet. <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>P.S. Off topic, but this is the best git alias: <code>alias git-fucked="git push --force origin/main"</code></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="378511" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/change-my-mind-the-optimal-ai-prompt-is-the-code-itself/73378/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-378511" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="378511"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="378522" data-post-id="378522">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="GrammAcc" data-post="5" data-topic="73378">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grammacc/48/40380_2.png" class="avatar"> GrammAcc:</div>
<blockquote>
<p>I’m much faster at writing code than reviewing it, so it feels like a net negative in productivity to outsource the production of the code and take on a full-time reviewer role. Reviewing code is also much more mentally taxing, so it wears you down earlier in the day.</p>
</blockquote>
</aside>
<p>That sounds like you just want to write and not review much?</p>
<p>That then sounds like you code as a hobby and not [that much] commercially?</p>
<p>80-90% of commercial programming is reviewing code. Part of the skill-set necessary to transition to a senior is to build the brain pathways to review quicker and more efficiently.</p>
<p>I do understand why you would not want to do <em>even more of that</em> by having to review LLM code. That I sympathise with. Though in part of my commercial work I found myself not having enough time budget to do proper deep research. In those case I was happy to just dump an entire OSS library’s source code to Gemini and told it: “I cannot quickly figure out how are we using this library wrongly. We need X and we get Y. What’s the way to do X?” – and it delivered. In those cases I reviewed as well but it was kind of a leap of faith, further enhanced by good tests.</p>
<aside class="quote no-group" data-username="GrammAcc" data-post="5" data-topic="73378">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grammacc/48/40380_2.png" class="avatar"> GrammAcc:</div>
<blockquote>
<p>Human code review is a collaborative process that involves mentoring for more junior submitters and design discussion for peers.</p>
</blockquote>
</aside>
<p>Oh, how I would love to work in a place where the team is not always behind schedule (according to the obviously hugely competent executives). I already forgot what it is to work in a slower-paced, more human, environment.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="378522" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/change-my-mind-the-optimal-ai-prompt-is-the-code-itself/73378/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-378522" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="378522"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="378524" data-post-id="378524">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The classic argument against LLMs is “if I have to check its output so much then I might as well write it myself” – which is 100% fair… but misses nuance, as most one-liners do.</p>
<p>A more junior dev definitely needs to build mental models and good habits by writing stuff themselves. Barring SciFi tropes like RNA injections that give you new memories right into your brain, there are no shortcuts to building an actual experience. Juniors / learners absolutely should use LLMs just as a better search engine because the Web has been in shambles for good 10 years and finding good material with a basic query became a luxury. How would one learn if they cannot even find answers to their questions? LLMs fill that gap very nicely. And search engines like DuckDuckGo make this even better! You search right in your browser’s bar and you get results + an AI answer. Saved me good chunks of time many times this year.</p>
<p>For seniors / experienced, it’s not as simple. You might already know 99% of what you must write and you know it’s going to take you 30 minutes. So you sigh and get on with it. Or you spend 10 minutes carefully explaining the requirements to the LLM: inputs, behaviour, edge cases, desired output, tests. Gemini has one-shot a bunch of such things for me and yes I verified them, very thoroughly. Interesting fact: I also got a little educated here and there. So it was also a nice personal journey to remove some ego as well.</p>
<p>There are other cases like what I said above: sometimes you are pressed for time (i.e. a security problem that would barely even make sense to abuse) and everyone is panicking and saying “fix it within 2h!” – an LLM helped me greatly in few such cases (not just security problems) and I also once again emerged a bit more educated.</p>
<p>Finally, and this intersects with the previous paragraph, is that there are libraries that are just difficult to use unless you invest a lot of hours in them, something that many of us either cannot afford to do regularly (me) or outright refuse to do so (others I’ve met and I don’t bash on them, family and hobbies and recreation are super important!). In those cases enlisting an LLM and assuming it actually gets the job done can be also hugely beneficial.</p>
<p>You seem to have gotten a terrible first impression by mere 30-line Elixir code which is fair. I however transitioned from a strong advocate against LLMs to “use the right tool for the job and sometimes that is an LLM”. You do you obviously, but I and many others have derived a true and demonstrable value out of the agents.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="378524" data-batch-url="/posts/batch_likers">
                        5
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/change-my-mind-the-optimal-ai-prompt-is-the-code-itself/73378/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-378524" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="378524"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="378540" data-post-id="378540">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="GrammAcc" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/GrammAcc/120/40380_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  GrammAcc
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="dimitarvp" data-post="14" data-topic="73378">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>Oh, how I would love to work in a place where the team is not always behind schedule (according to the obviously hugely competent executives). I already forgot what it is to work in a slower-paced, more human, environment.</p>
</blockquote>
</aside>
<p>I would like to know what this is like as well. <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"> I’m at my first full time dev job (programmed as a hobby for about 8 years before this), and I work for a startup in the clinical research field. Due to the nature of the industry, deadlines can’t be extended (studies are approved to start and end at certain times by the government), and because it’s a regulated industry, we can’t cut any corners either. With the volume of feature work and R&amp;D that we have to do to meet our client deliverables, our deadlines for individual tasks are often measured in hours or even minutes. And we also have to deal with being periodically audited to ensure regulatory compliance, so we can’t sweep anything under the rug and fix it later.</p>
<p>I also have reviewer rights on a few repos, so I do handle peer review for colleagues and seniors. But I’m also still very early in my career, so I’m still figuring out my process for how to context switch efficiently and give good useful reviews. Especially when under time pressure.</p>
<p>As I mentioned before, some of my lack of enthusiasm about AI is due to my level of experience. It seems like seniors can make better use of AI than I can. But my deadlines are intense enough that I can’t afford to spin my wheels prompting an AI if I as an individual can get to the finished product faster by coding it myself. And when I say finished product, I don’t mean code that does what the requirements doc says, I mean code that is secure, tested, documented, has extension points for the known future enhancements on the roadmap, and has some kind of overarching consistency in its patterns and design that can be followed by the rest of the team so that it doesn’t turn into spaghetti as soon as someone has to fix a bug. I’m not confident in my ability to deliver on those implicit requirements through an AI, but I am confident in my ability to deliver through my knowledge, skill, and speed at producing code. <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="378540" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/change-my-mind-the-optimal-ai-prompt-is-the-code-itself/73378/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-378540" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="378540"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="378542" data-post-id="378542">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="DaAnalyst" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  DaAnalyst
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="dimitarvp" data-post="14" data-topic="73378">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>80-90% of commercial programming is reviewing code.</p>
</blockquote>
</aside>
<p>Where did you find this figure? Been in this for a life time and, apart from checking my own code time and over again (but always only more complex parts, far from everything I write), I haven’t noticed these stats present anywhere. Even when I used to manage some very junior devs it wasn’t the case. Back then if I saw a spaghetti mess I wouldn’t even bother reviewing more of it. There were other remedies in place.</p>
<aside class="quote no-group" data-username="dimitarvp" data-post="15" data-topic="73378">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>So you sigh and get on with it. Or you spend 10 minutes carefully explaining the requirements to the LLM: inputs, behaviour, edge cases, desired output, tests.</p>
</blockquote>
</aside>
<p>.. and then it fails to produce a desirable result, then you spend a “couple” 10 min turns more without getting what you need, then you write it yourself, ending up happy it only took you 3 times longer than you needed to write it completely on your own.</p>
<p>Yes, I may be into stressing the instances of my frustrating experience with it far more than the positive ones, but again, I’m sticking to what I’ve said previously - for as long as I treat it as a hint book or an API guide, it mostly meets my expectations. Beyond that it’s been pain and misery.</p>
<aside class="quote no-group" data-username="dimitarvp" data-post="15" data-topic="73378">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>there are libraries that are just difficult to use unless you invest a lot of hours in them</p>
</blockquote>
</aside>
<p>..and then there are libraries (such as <code>interact.js</code> - a blessing for when you really need it) that you spend hours trying to figure out how to properly use it (down to the last detail) only to realize the LLMs are being patently wrong in understanding how its API works. Then again, you do the hard work of ol’ good trial and error yourself, anyway.</p>
<p>Anyway, my point being is not that LLMs are not useful (far from it, especially for things one doesn’t deal with on a daily basis, so any instant help is more than welcome), but given the direction in which it is going (and how it’s going) the chances I am going to unleash “AI” agents on my code base are getting slimmer by the day.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="378542" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/change-my-mind-the-optimal-ai-prompt-is-the-code-itself/73378/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-378542" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="378542"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="378545" data-post-id="378545">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Sorc96" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Sorc96/120/28361_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Sorc96
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m with you. Every time I tried to get help with a problem from an LLM, I wasted time chasing problems that didn’t actually exist and trying solutions that couldn’t have possibly worked. Eventually, I gave up and solved the problem myself.</p>
<p>I can get behind using LLMs as a “better” search engine. It’s really a worse search engine, since it makes up arbitrary stuff, but thanks to Google search being borderline unusable for years, I see the appeal.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="378545" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/change-my-mind-the-optimal-ai-prompt-is-the-code-itself/73378/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-378545" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="378545"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="378546" data-post-id="378546">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="DaAnalyst" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  DaAnalyst
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Agreed. Completely ceased using Google search like over a year ago. Even when typing into the google search I only look at its AI response in the top left corner. LLMs are the new search engines now, despite the “hallucinations” issue. Just waiting to see them spoiled too as in “Before I answer to your Elixir related question, click here to check out the pure brilliance of the latest C# features.”</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="378546" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/change-my-mind-the-optimal-ai-prompt-is-the-code-itself/73378/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-378546" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="378546"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="378576" data-post-id="378576">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sodapopcan" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sodapopcan/120/34668_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sodapopcan
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I use Kagi, which I pay for, but I don’t want to pay for the AI stuff so I use it along with deepseek.  So long as you don’t end your search with a <code>?</code> in Kagi, it won’t give you an “AI” summary.</p>
<aside class="quote no-group" data-username="dimitarvp" data-post="14" data-topic="73378">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>80-90% of commercial programming is reviewing code. Part of the skill-set necessary to transition to a senior is to build the brain pathways to review quicker and more efficiently.</p>
</blockquote>
</aside>
<p>I too question this figure but it <em>is</em> still pretty high most days!  But again, and I don’t care how much of a broken record I sound like, pairing solves this issue.  When you pair you don’t have to do code review eliminating the worst part of the job.  Agentic coding makes the entire job the worst part of the job which is why I don’t understand why so many devs are on board with it.  My only (very and likely unfairly pessimistic) guess is that everyone is so used to throwing up their hands and saying, “Good enough… approved!” that agents haven’t really changed this process much.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="378576" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/change-my-mind-the-optimal-ai-prompt-is-the-code-itself/73378/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-378576" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="378576"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="378599" data-post-id="378599">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="felix-starman" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/felix-starman/120/18051_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  felix-starman
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>RE: AI stupidity and bad code.</p>
<p>I just don’t trust their code or logic. I make them TDD everything, and read through the tests with a fine-toothed comb (or write them myself). Elixir 1.19 has <code>mix help MyMod</code> and I just call it out for not reading the docs.</p>
<p>Ultimately, if it’s giving bad results, tweak the prompt and try again. It’s not about it getting it right the first time, it’s about it getting it right faster than you could have written it.</p>
<p>Most of the time I only use them on things that are tedious and I don’t want to do. If it’s mission critical, I don’t let it do it, and may only use it as a rubber duck / pair reviewer when I don’t have another human available.</p>
<p>Also, f*** Grok. It tries to groom kids. That company has no safety policies</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="378599" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/change-my-mind-the-optimal-ai-prompt-is-the-code-itself/73378/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-378599" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="378599"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #20"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/73378/load_more?page=3">Load more posts (54 remaining)</a>
</div></template></turbo-stream>