{"id":112455,"date":"2026-10-16T12:00:00","date_gmt":"2026-10-16T12:00:00","guid":{"rendered":"https:\/\/www.red-gate.com\/simple-talk\/?p=112455"},"modified":"2026-09-29T15:12:41","modified_gmt":"2026-09-29T15:12:41","slug":"what-i-learned-after-a-weekend-of-ai-troubleshooting-gone-wrong-8-key-lessons","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/ai\/what-i-learned-after-a-weekend-of-ai-troubleshooting-gone-wrong-8-key-lessons\/","title":{"rendered":"What I learned after a weekend of AI troubleshooting gone wrong (8 key lessons)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Grant Fritchey walks through a real troubleshooting saga &#8211; using Wine, a shim DLL, a misconfigured registry entry, and a lot of trial and error &#8211; to get a BridgeCom Maverick radio&#8217;s Windows CPS running on Linux Mint. Along the way, repeated dead ends revealed a pattern: AI tools stay locked onto whatever direction you last pointed them, and it&#8217;s up to you to redirect, request alternatives, and demand measurement over guesswork.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>In this article, Grant shares everything he learned from the experience, including 8 key takeaways to help you avoid similar trouble<\/strong> <strong>when using AI in the future.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But first, some background&#8230;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-hobby-ham-radios\">The hobby: ham radios<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">My hobby is <a href=\"https:\/\/en.wikipedia.org\/wiki\/Amateur_radio\" target=\"_blank\" rel=\"noreferrer noopener\">ham radios<\/a>. No, I\u2019m not going to spend endless time talking about that. I just bring it up because, a whole lot of ham radio these days involves using a computer. One of the most common things you\u2019ll see people doing with a computer and their radio is using what is called Customer Programming Software (CPS) to \u201cprogram\u201d the radio (basically, set up <a href=\"https:\/\/en.wikipedia.org\/wiki\/Radio_frequency\" target=\"_blank\" rel=\"noreferrer noopener\">frequencies<\/a>, <a href=\"https:\/\/wiki.radioreference.com\/index.php\/Offset\" target=\"_blank\" rel=\"noreferrer noopener\">offsets<\/a>, and a slew of other settings for digital radios).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The fun starts when I decide to see if I can set up <em>all<\/em> my radios on a <a href=\"https:\/\/www.linux.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Linux<\/a> machine. Now, understand, there\u2019s not just one CPS. My BridgeCom Systems Maverick radio has a CPS. As does my Baofeng DM32-UV. Another for my Radioddity GD-88. Then, one CPS for a stack of analog radios called <a href=\"https:\/\/tidradio.com\/blogs\/news\/chirp-radio-software-explained\" target=\"_blank\" rel=\"noreferrer noopener\">CHIRP<\/a>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now, CHIRP runs natively on Linux, but these other radios are Windows-only. So, I need to get a Windows program to run on Linux, and I\u2019d sure love to avoid just setting up a slow <a href=\"https:\/\/en.wikipedia.org\/wiki\/Virtual_machine\" target=\"_blank\" rel=\"noreferrer noopener\">virtual machine (VM)<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, what did I do? Asked an AI, of course.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-did-i-turn-to-ai-to-help-me-get-a-windows-program-running-on-linux\">Why did I turn to AI to help me get a Windows program running on Linux?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I\u2019ve been putting <a href=\"https:\/\/www.ibm.com\/think\/topics\/large-language-models\" target=\"_blank\" rel=\"noreferrer noopener\">large language models (LLMs)<\/a> to work for some time now. I first presented a session on using an LLM to build a database, write queries, and even do a little tuning, three years ago. At work, and at home, I take advantage of what <a href=\"https:\/\/www.ibm.com\/think\/topics\/agentic-ai\" target=\"_blank\" rel=\"noreferrer noopener\">agentic AI<\/a> has to offer. Heck, I even pay for my own Claude account to use with my radios. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Along the way, <a href=\"https:\/\/www.red-gate.com\/simple-talk\/collections\/how-i-built-an-app-just-by-talking-to-an-ai-llm\/\" target=\"_blank\" rel=\"noreferrer noopener\">I\u2019ve learned some stuff about how to work with the AI<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The first thing you should do is make darned sure that <strong>the<\/strong> <strong>AI knows what tools you have<\/strong>. Whether we\u2019re talking data platform or, in my case, radios, you have to <strong>make that clear to the AI up front<\/strong>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You could, if you wanted, type stuff in to the prompt. For example, <em>\u201cI\u2019m working with PostgreSQL 18 and I need to add the postGIS extension\u201d<\/em> could help you get some decent advice from the AI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>However, if you really want to get the most out of AI, you need to feed it a lot more than that.<\/strong> In my case, I outline what radios I have, what I use them for, and what my goals with the radios are. I even list the equipment and software I have to help me work with the radios. I have all of this stored in a markdown file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-feeding-the-ai-why-a-markdown-file-changes-everything\">Feeding the AI: why a markdown file changes everything<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>First up, text is the best way to work with AI.<\/strong> Sure, they can look things up, examine images, etc., but when you\u2019re in <a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Visual Studio Code (VSCode)<\/a> working with <a href=\"https:\/\/github.com\/features\/copilot\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub CoPilot<\/a> or, in my case, <a href=\"https:\/\/www.red-gate.com\/simple-talk\/ai\/the-best-ai-developer-tools-in-2026-from-coding-agents-to-code-review\/#:~:text=you%20should%20know.-,Claude%20Code,-Claude%20Code%20is\" target=\"_blank\" rel=\"noreferrer noopener\">Claude Code<\/a>, text is your best buddy. Markdown supplies that. However, markdown also has a couple of other uses. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First up, you can structure a markdown file, grouping information under headings and subheadings. Lay out tables of data. All sorts of stuff that\u2019s going to make communicating with the AI more efficient. Next, you can format that stuff so it\u2019s easier for a human to read too. This makes it a very effective mechanism of communication between both parties: the evil AI, and those lovable rascals (humans).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, when I finally go to the AI to say, <em>\u201cI\u2019d like to be able to program my BridgeCom Maverick from a Linux machine\u201d<\/em>, I don\u2019t have to explain what a Maverick is, if I have a programming cable, etc etc. The markdown communicates this for me, up front. I can either paste the information in at the start of a session, or simply reference it as an attachment to a conversation or task. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Another choice is to make it one of the definitional documents for the AI engine running locally on my machine. I even sometimes just plop it in the project I\u2019m working on in VSCode so it\u2019s always there, in the repo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-more-effort-you-put-in-the-better-the-ai-will-serve-you\">The more effort you put in, the better the AI will serve you<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Is this a lot of work? Yes. <em>&#8220;Then why do it?&#8221;, <\/em>I hear you ask.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Well, see the title of the article: <em>the AI struggle is real<\/em>. Can you just deposit yourself in front of the AI and start typing prompts? Sure. Will you get consistently good results? Nope. In fact, chances are you\u2019ll forget something, make a typo, whatever. Your prompt will be poor and so the answers you get from the AI will be poor also. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Tip: if you forget something, add it to the markdown file. It&#8217;ll now be stored, so it doesn&#8217;t matter if you forget it again!<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now, my actual prompt to the AI was quite a bit more extensive. I didn\u2019t keep it (because I was playing at home, not planning to write this article), but it was something along the lines of:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u201cI\u2019d like to be able to program my Bridgecom Maverick on a Linux machine. The CPS needed is Windows only. Without installing a Windows VM, what alternatives do I have to get a piece of Windows software up and running on Linux?\u201d<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The AI came back with several possibilities, but the one we\u2019re going to concentrate on here is <a href=\"https:\/\/www.winehq.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Wine<\/a>.<\/p>\n\n\n\n<section id=\"my-first-block-block_7ba4a27c3d7cf1d202389a0e446d40ed\" class=\"my-first-block alignwide\">\n    <div class=\"bg-brand-600 text-base-white py-5xl px-4xl rounded-sm bg-gradient-to-r from-brand-600 to-brand-500 red\">\n        <div class=\"gap-4xl items-start md:items-center flex flex-col md:flex-row justify-between\">\n            <div class=\"flex-1 col-span-10 lg:col-span-7\">\n                <h3 class=\"mt-0 font-display mb-2 text-display-sm\">\u201cEveryone wants to move faster with AI, but few are truly ready for it.&#8221;<\/h3>\n                <div class=\"child:last-of-type:mb-0\">\n                                            What does the AI landscape look like in 2026? Get the full overview in Redgate&#8217;s 2026 State of the Database Landscape AI mini report >>                                    <\/div>\n            <\/div>\n                                            <a href=\"https:\/\/www.red-gate.com\/solutions\/state-of-database-landscape\/2026\/ai-mini-report\/\" class=\"btn btn--secondary btn--lg\" aria-label=\"Download the AI mini report: \u201cEveryone wants to move faster with AI, but few are truly ready for it.&quot;\">Download the AI mini report<\/a>\n                    <\/div>\n    <\/div>\n<\/section>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-installing-the-cps-with-wine-and-where-it-went-wrong\">Installing the CPS with Wine &#8211; and where it went wrong<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><a href=\"https:\/\/www.winehq.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Wine<\/a> is an open-source compatibility layer that makes it possible to install and run Windows software on Linux &#8211; or, to be more specific, run Windows on a <a href=\"https:\/\/en.wikipedia.org\/wiki\/POSIX#:~:text=The%20Portable%20Operating%20System%20Interface,maintaining%20compatibility%20between%20operating%20systems.\" target=\"_blank\" rel=\"noreferrer noopener\">POSIX<\/a>-compliant operating system. It does this by translating Windows API calls into POSIX statements. There&#8217;s no operating system (OS) or license needed &#8211; just run Windows native software as if it was Linux native. <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Whoop! Perfect. So, I got Wine installed, and then ran through the process of installing the Maverick\u2019s CPS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s when things went off the rails just a little. I launched the CPS and it crashed, with a <em>really<\/em> obscure error message. Of course, I took the error message to Claude Code, and its answer was very confident. Not only did it know what the error was, it also knew <em>exactly<\/em> how to fix it. Or so it said.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-another-problem-emerges\">Another problem emerges<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">While it got the first bit right (correctly identifying the error), the fix it gave was a different story. Basically, I tried implementing the fix for most of a Saturday afternoon, laser-focused on making Wine work. There was a specific error so, let\u2019s eliminate that error, right? My focus kept the AI focused as well. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We were not exploring alternatives, of any kind, during this process. And ultimately, a whole lot of back and forth (and even a paid product trial) later, we had to give up. The AI guessed it must be a bug in Wine, and who was I to argue? I&#8217;d never even <em>heard<\/em> of Wine prior to this. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Understand the struggle here. I was focused. Because I was focused, so was the AI. Yes, I told it to search for solutions to the fundamental problem. Cool, right? Well, no. What should I have done? Simple: ask it if there was any other way around the problem. It just didn&#8217;t occur to me at the time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-shim-dll-detour-and-why-it-was-a-red-herring\">The shim DLL &#8216;detour&#8217; (and why it was a red herring)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I\u2019ve got to go on the road, so leave my Linux laptop and the Wine problem at home. Later, when I get back to looking at it, I finally think, <em>\u201csurely someone else has tried this before.\u201d<\/em> So, I post questions online, and ask the AI to do some searching of its own. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Between us, we get results &#8211; and, as it turns out, someone <em>has<\/em> done it before! They built a custom DLL to run in front of Wine to solve the problem. They called it a shim (slim\/thin) DLL. Well, heck, we\u2019re off to the races. I prompt the AI to work on a shim DLL, which it does pretty darn quickly. We test it with Wine. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No crash!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I\u2019m sitting there, slack-jawed, looking at a Windows app is running directly on my Linux Mint <a href=\"https:\/\/www.xfce.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Xfce<\/a> machine (old laptop, more lightweight implementation). This is awesome! I immediately connect up the radio and go to read from it (a good habit to get into, read from the radio first). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Oh, no. There&#8217;s no <a href=\"https:\/\/en.wikipedia.org\/wiki\/COM_(hardware_interface)\" target=\"_blank\" rel=\"noreferrer noopener\">COM (communication) port<\/a> available. Back to the AI. I watch it trying to read from the radio, which reboots the radio over and over. STOP! As a general rule, only read from the radio when you have a substantially improved test to run &#8211; and that&#8217;s what I tell it. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Suddenly, it&#8217;s now doing most of the work from a single read, and everything speeds up. It then finally throws up its hands and admits that, <em>nope, this can&#8217;t be fixed<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now, though, unlike last time (maybe I\u2019m more rested or something), I do the <em>smart thing<\/em>. I start a new session, with a new engine and a new prompt. I\u2019ve also got a log of what we&#8217;ve already tried, so the session has that knowledge.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-key-takeaway-teach-the-ai-to-measure-not-guess\">The key takeaway: teach the AI to measure, not guess<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, the AI is smart, but you absolutely must provide guidance because it won\u2019t figure this out on its own. It can troubleshoot what it sees and correlate that to other steps, including coming up with its own validations and tests. It just won\u2019t readily see a hole in its own logic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let me tell you another thing I\u2019ve gotten into the habit of doing: <strong>make the AI document its work<\/strong>. I\u2019ll have it create a readme file that describes what it has done, what worked, what failed. This is because, without it, the AI will circle back to failed solutions &#8211; just as we saw with its insistence on reading from the radio over and over!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With the readme (markdown), however, we can ensure a state of knowledge from one session with the AI to the next. No more repeating already failed solutions. Is this more work? A little more, not a lot, but a great habit to develop. It keeps the crazy-sophisticated search engine from finding the same thing over and over. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And, just to be clear, all these things go into source control &#8211; so you have a history.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-real-fix-a-misconfigured-wine-registry-setting\">The real fix: a misconfigured Wine registry setting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Back to the story and, this time, I prompt the AI with: <em>&#8220;Here\u2019s what we\u2019ve done. Here\u2019s where we\u2019re stuck. You can read everything attempted so far. I need to know if there are alternative solutions to this problem. Have other people ran into this. Further, is there a way we can measure and observe the behavior, rather than just trying it over and over again with adjustments to the code?\u201d<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In response, I gave it permission to stop knocking its head against the misbehaving shim DLL and look for alternatives instead. I also told it to measure what it does. The AI then made just <em>one<\/em> attempt to run the shim dll, measuring and observing the behavior along the way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The result? It immediately declared the path to be a dead end. It wasn\u2019t a problem with Wine that needed to be hidden behind a fake DLL. The actual problem was that Wine was misconfigured. The shim DLL was stripped away and the configuration setting &#8211; actually a registry entry &#8211; was done to Wine. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What happened next was joyous: the software fired up! We had a COM port. It worked. TA-DA!!!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With that issue resolved, I then read from the radio (good habit, remember), which put the radio into PC READ mode &#8211; a great sign, handshake accomplished.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unfortunately, though, it just sat there. 0% complete. OK. Sure. Windows to POSIX, probably kind of slow. I\u2019ll wait a bit. 0%. FUDGE! OK. I go back to the AI. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-ai-now-knows-what-to-do\">The AI now knows what to do<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It now knows to look for alternatives, and to measure and observe what it does. It cogitates for a bit and comes up with a plan\u2026 and immediately launches the software. Unbeknownst to me, after launching the CPS, it gave me instructions. I just couldn\u2019t see them because the CPS is there. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I\u2019m sitting there for a while, thinking that the CPS must have hung, so finally kill it. I then discover my instructions. ARRGGHH! Back to the AI which, of course, responds with<em> \u201cif you need me to do things within the app, you\u2019ll have to tell me what to do, before you launch the app.\u201d<\/em> For crying out loud. See, this is a struggle!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Regardless, the AI is at least now observing and measuring, and it identifies the issue quickly. It&#8217;s all obscure stuff on how reads are done in Linux versus Windows, and what a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Visual_Basic_(classic)\" target=\"_blank\" rel=\"noreferrer noopener\">Visual Basic (VB6)<\/a> app (yes, the app is brand spanking new and written in VB6, don\u2019t hate me, hate how old school ham radio can be) needs to see.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-result\">Result!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">So, the AI figures it all out, builds a radio emulator (when you tell them to let themselves off the hook, they do), and begins to test a number of solutions without ever connecting to the radio. And they all lived happily ever after (well, the test harness was run against the proposed solution, and it worked).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For confirmation, we then tested it with the CPS. This, too, worked, albeit slowly. Nothing a little tuning couldn&#8217;t sort. Next up, write to the radio. Claude Code at this point was crazy conservative about testing and measuring before doing anything, so I was ready to jump in and just do the write myself. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, it ran everything through the test harness in the other direction, which worked like a champ. All I did was do the tests that Claude couldn\u2019t. And everything was functional. Result!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>I\u2019ll be sharing these insights with the BridgeCom community, so that others can take advantage!<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-final-thoughts\">Final thoughts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Don\u2019t get me wrong, I\u2019m not here to complain about how awful AI is. It helped me to get things working in an area I had <em>zero<\/em> knowledge of (and still have very little knowledge of). I&#8217;d never even heard of Wine. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yet, with the help of the AI, I have a Windows app running in Linux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The real purpose of this article is to give you some advice on improving your use of AI. Because, let\u2019s be clear: <strong>AI is just another tool.<\/strong> I\u2019ve had frustrations with hammers, despite having worked with them for around 59 years (yes, I got a wood working set when I was 4&#8230;and yes, I put nails in the floor and sawed the leg off a table).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ultimately, knowledge and understanding improves your usage (and judgement) of any tool. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-8-ways-to-work-better-with-ai-the-key-takeaways\">8 ways to work better with AI (the key takeaways)<\/h2>\n\n\n<div class=\"block-core-list\">\n<ul class=\"wp-block-list\">\n<li>Create one (or more) markdown files that outline your tools, purpose, and goals, and feed this to the AI agent <em>before <\/em>you start prompting.<br><br><\/li>\n\n\n\n<li>Tell the AI to keep a markdown log of its own. In concise terms (tell it to be concise, or you\u2019ll get a tech manual), record what you attempted, what worked, and what didn\u2019t.<br><br><\/li>\n\n\n\n<li>Make sure the AI knows to measure and observe the work. Without instruction, it\u2019ll just do the <em>thing<\/em> &#8211; whatever the <em>thing<\/em> is &#8211; and see if worked or not.<br><br><\/li>\n\n\n\n<li>Give the AI permission to look at alternatives. If you\u2019re stuck, tell it to try something else. Otherwise, it\u2019s going off your last instruction, which may have just been<em> \u201cfix it\u201d<\/em>.<br><br><\/li>\n\n\n\n<li>Don\u2019t be afraid to interject and redirect the AI in what it\u2019s doing and how it\u2019s doing it. AI can be interactive &#8211; you just have to make it so.<br><br><\/li>\n\n\n\n<li>Tell it alternatives. For example, I once told the AI to compare our desired outcome with a changed input, so as to see where the change <em>actually went<\/em>. Sure enough, it fixed the issue.<br><br><\/li>\n\n\n\n<li>Run one AI agent or model against another. Frequently, another model may spot alternatives or false assumptions that the first missed, or a session may just be hopelessly lost in its own context. For the latter, you could also just start a new session. <br><br><\/li>\n\n\n\n<li>Ask the AI how best to work with it. Many of these tricks were taught to me <em>by the AI itself<\/em>.<\/li>\n<\/ul>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Finally (and most importantly): never forget that, while we\u2019re using the AI as a <em>tool<\/em>, you still always have one more available &#8211; your own brain. I love these agents, but I\u2019m still needed &#8211; and so are you.<\/strong><\/p>\n\n\n\n<section id=\"my-first-block-block_d1c776c411233f0db75d2c1c547cecbc\" class=\"my-first-block alignwide\">\n    <div class=\"bg-brand-600 text-base-white py-5xl px-4xl rounded-sm bg-gradient-to-r from-brand-600 to-brand-500 red\">\n        <div class=\"gap-4xl items-start md:items-center flex flex-col md:flex-row justify-between\">\n            <div class=\"flex-1 col-span-10 lg:col-span-7\">\n                <h3 class=\"mt-0 font-display mb-2 text-display-sm\">Simple Talk is brought to you by Redgate Software<\/h3>\n                <div class=\"child:last-of-type:mb-0\">\n                                            Take control of your databases with the trusted Database DevOps solutions provider. Automate with confidence, scale securely, and unlock growth through AI.                                    <\/div>\n            <\/div>\n                                            <a href=\"https:\/\/www.red-gate.com\/solutions\/overview\/\" class=\"btn btn--secondary btn--lg\" aria-label=\"Discover how Redgate can help you: Simple Talk is brought to you by Redgate Software\">Discover how Redgate can help you<\/a>\n                    <\/div>\n    <\/div>\n<\/section>\n\n\n<section id=\"faq\" class=\"faq-block my-5xl\">\n    <h2>FAQs<\/h2>\n\n                        <h3 class=\"mt-4xl\">1. Why should I give an AI agent a markdown file before starting a project?<\/h3>\n            <div class=\"faq-answer\">\n                <p dir=\"ltr\">A structured markdown file lets you document your tools, goals, and setup once, then reuse or attach it across sessions \u2014 so the AI doesn&#8217;t need re-explaining and gives more consistent, relevant answers.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">2. Why did the AI get stuck troubleshooting the same Wine error repeatedly?<\/h3>\n            <div class=\"faq-answer\">\n                <p dir=\"ltr\">Without being told to consider alternatives, the AI stayed focused on the last instruction it received \u2014 fixing a specific error \u2014 rather than stepping back to question whether the underlying approach was even right.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">3. What are the most important habits for working with AI on technical troubleshooting?<\/h3>\n            <div class=\"faq-answer\">\n                <div>\n<div tabindex=\"0\" role=\"article\" aria-label=\"Message 2 of 8\">\n<div>\n<div>\n<div>\n<div>\n<div>\n<div>\n<div>\n<p dir=\"ltr\">Give the AI project context up front, have it log attempted solutions, insist on measurement before assumptions, explicitly ask for alternatives when stuck, and don&#8217;t hesitate to start a fresh session or try a different model.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n            <\/div>\n            <\/section>\n","protected":false},"excerpt":{"rendered":"<p>A real troubleshooting story reveals 8 practical lessons for getting better, more reliable results from AI coding agents.&hellip;<\/p>\n","protected":false},"author":221792,"featured_media":112472,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[159169,53,3],"tags":[159075],"coauthors":[6785],"class_list":["post-112455","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-featured","category-opinion","tag-ai"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/112455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/221792"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=112455"}],"version-history":[{"count":7,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/112455\/revisions"}],"predecessor-version":[{"id":112477,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/112455\/revisions\/112477"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media\/112472"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=112455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=112455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=112455"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=112455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}