• 1 Post
  • 290 Comments
Joined 3 years ago
cake
Cake day: July 4th, 2023

help-circle

  • They dont lol

    Pretty much always this is just the fact cheaper, especially free, chatbots, have very limited context windows.

    Which means the initial restrictions you set like “dont do this, dont touch that” etc get dropped, the LLM no longer has them loaded. But it does have in the past history the very clear and urgent directives of it trying to do this task, its important, so it’ll do whatever it autocompletes its gotta do to accomplish the task. And then… fucks something up.

    When you react to their fuck up, it *reloads the context back in

    So now the LLM has in its history just this:

    1. It doing a thing against the rules
    2. The user yelling at it
    3. The users now getting loaded after that on top

    So now the LLM is going to autocomplete its generated text on top being very apologetic and going on about how it’ll never happen again.

    Thats all there is to it.








  • …wat?

    LLMs are completely capable of invoking npm install, the fuck you smoking lol.

    Theyre perfectly able to read docs and use existing libraries fine.

    Arguably I find better, because when I bump into a bug in a lib, I can fork it, fix the bug, get my patch up, and use the patch in my project in like 15min flat, no longer having to even worry about “ugh is it worth the effort to fix it”

    Yes, its so easy now. I just do it.

    Furthermore agents can look up documentation in mere seconds and read it (better than Id say a lot of junior devs tend to approach problems ngl)

    If the agent is equipped with adequate tools and instructions, its extremely productive under strict guidance.


  • The same way.

    The result the LLM produces is a link to the relevant information directly I can click and go to it.

    Example would be a giant collection of files, think like, 10gb+ of many pdfs, or more. I want any relevant sections on a topic, it quickly can aggregate on it and give me links I click to open up straight to relevant sections in specific files, and then read rhem.

    This stuff comes up a lot in my industry (software dev) as we often inherit huge data pools of legacy documentation on massive codebases.

    When I am tasked with fixing 1 small specific piece of the system, it could take me hours to find the specific stuff Im looking for on the (often poorly maintained) docs.

    But also vector db setup to map to that data, and an LLM wired up to it, can search it in milliseconds and pull up relevant sections asap, and I can click and dig deeper from there as much as I need.

    This sort of “fuzzy searching” vectorization of tokens is what an LLM does very well. Its part of how it produces its output, but you can reverse the process to create search indexes (effectively reversing the data through the LLM to turn the data into deterministic vectors)

    Amd its important to note, the fault tolerance you perceive here doesnt apply. Thos specific type of searching with vector DBs will always produce the same results from the same input, everytime. Its deterministic.




  • That sounds like a tooling problem.

    Either your tooling was outright broken, or not present.

    It should be a very trivial task to provide an agent with a MCP tool it can invoke to search for stuff like that.

    Searching for a known specific value is trivial, now you are back to just basic sql db operations.

    These types of issues arise when either:

    A: the tool itself just gave the LLM bad info, so thats not the LLMs fault. It accurately reported on wrong data it got handed.

    B: the LLM just wasnt given a tool at all and you prompted it poorly to give room for hallucinating. You just asked it “who has this license plate” instead of “use your search tool to look up who has this license plate”, the latter would result in it reporting the lack of a tool to search with, the former will heavily encourage it to hallucinate an answer.







  • Thats not directly engineered.

    They arent themselves making it that way, they’re just selecting the ones that happen to be that way.

    Its like genetic breeding.

    If I breed chickens and specifically breed red ones so every generation I get redder and redder chickens, thats not “engineering” them to be red.

    I just kept the ones that happened to be red for the next generation.

    Thats not engineering, its not deterministic, its just pulling the slot machines handle enough times until it pays out.

    If I say “Im gonna keep pulling this slot machines handle until I hit the jackpot”, then do that, hit the jackpot after 2000 pulls, and stop there, would you say I “engineered” the jackpot occurring just cuz I stopped and my last pull was on the jackpot outcome?