LLMs are unlike normal programs in that they allow open-ended output.

· Bits and Bobs 1/6/25
  • LLMs are unlike normal programs in that they allow open-ended output.
    • Normal programs are close-ended[amm]: given similar inputs they will behave similarly.
    • The open-endedness of LLMs is what gives them their human-like creativity and ability to apply human-style common sense.
    • But the open-endedness is also what makes them hard to use in a process you want to be predictable.
    • Most of the applications of software today are in contexts where we want each run to be predictable, and as we evolve the software to handle more and more edge cases, to run reliably and increasingly without need for human intervention.
      • Software, when it's finely tuned to its domain, gets increasingly tightly aligned with the domain and able to run by itself without intervention.[amn]
    • Creativity is a double edged sword; it might have a clever way to handle an unexpected input, or it might do something weird you don't like.
    • Another option for using LLMs is not to have them live in the main loop of execution, but rather use them for continuous compilation.
    • Give a clear, convergent goal for the software to execute.
    • When something unexpected happens, call up the LLM and give it the error message and have it tweak the software to handle it.
    • The LLM is tuning close-ended software.
    • This kind of approach works well in cases where you could imagine writing an operator manual for a call center employee: close-ended, but requires a bit of human-level judgement.

More on this topic

From other episodes