{"id":4880,"date":"2026-10-02T22:02:04","date_gmt":"2026-10-03T05:02:04","guid":{"rendered":"https:\/\/www.sheer.us\/weblogs\/?p=4880"},"modified":"2026-10-02T22:02:04","modified_gmt":"2026-10-03T05:02:04","slug":"tips-for-co-coding-with-a-llm","status":"publish","type":"post","link":"https:\/\/www.sheer.us\/weblogs\/uncategorized\/tips-for-co-coding-with-a-llm","title":{"rendered":"Tips for co-coding with a LLM"},"content":{"rendered":"<p>OKay, so, it has become very popular to cowrite code with a LLM. And I cannot argue that it is a tremendous force multiplier, however, I do have some suggestions<\/p>\n<p>#1) Painful as it might be, *read every diff*. Do not ever commit code you haven&#8217;t read.<br \/>\n    a) While you&#8217;re reading, see if you can shorten the comments. LLMs overcomment &#8211; the reason this matters is if you are going to use<br \/>\n       LLMs to maintain the code over long terms, you do *not* want to be burning tokens with excessive comments<\/p>\n<p>    b) Check the logic and approach. LLMs make mistakes. <\/p>\n<p>#2) If the LLM says something improbable, *definitely* push back. *Expect* the LLM to draw incorrect conclusions from individual failures &#8211; one example, recently Claude concluded that the shopify metaobject filter didn&#8217;t work because you can only create a metaobject filter for a metaobject<br \/>\nwhich exists. It didn&#8217;t know that, got errors, and concluded the errors were fatal in scope to the operation. It was all set to create a implementation with 30 webhook registrations where only 3 were needed. I repeatedly pushed back, and led it down the correct road, until it understood the right way to do things.<\/p>\n<p>#3) Point out when the LLM says something blatantly wrong.  among other things, there isn&#8217;t any real reasoning going on &#8211; remember, LLMs have no aboutness, they&#8217;re in no way anchored in reality &#8211; they can&#8217;t tell a cat from a cow, they just are a sliding set of activations of weights moving through a transformer, also thought of as a feed-forward ANN with a attention head. By pointing out a blatently wrong statement, you may well nudge them into the correct alignment.<\/p>\n<p>#4) *TEST* everything. One *good* thing about LLMs is they are wonderful at writing unit tests. Use this ability &#8211; but also end to end test the system under development unless you can tell by reading the code that it&#8217;s going to work &#8211; and maybe even then. Certainly don&#8217;t release anything to production that hasn&#8217;t been tested. <\/p>\n<p>#5) Sometimes, write it yourself. You need to keep the ability to write code, and it will atrophy if you don&#8217;t use it. You want to occasionally exercise those pathways &#8211; neural skills are use it or lose it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OKay, so, it has become very popular to cowrite code with a LLM. And I cannot argue that it is a tremendous force multiplier, however, I do have some suggestions #1) Painful as it might be, *read every diff*. Do not ever commit code you haven&#8217;t read. a) While you&#8217;re reading, see if you can [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4880","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.sheer.us\/weblogs\/wp-json\/wp\/v2\/posts\/4880","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sheer.us\/weblogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sheer.us\/weblogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sheer.us\/weblogs\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sheer.us\/weblogs\/wp-json\/wp\/v2\/comments?post=4880"}],"version-history":[{"count":1,"href":"https:\/\/www.sheer.us\/weblogs\/wp-json\/wp\/v2\/posts\/4880\/revisions"}],"predecessor-version":[{"id":4881,"href":"https:\/\/www.sheer.us\/weblogs\/wp-json\/wp\/v2\/posts\/4880\/revisions\/4881"}],"wp:attachment":[{"href":"https:\/\/www.sheer.us\/weblogs\/wp-json\/wp\/v2\/media?parent=4880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sheer.us\/weblogs\/wp-json\/wp\/v2\/categories?post=4880"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sheer.us\/weblogs\/wp-json\/wp\/v2\/tags?post=4880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}