Dify
He was able to organize and verbalize what I was mulling over.
I was thinking, when the substructure is not stable, you can't just put a layer on top of it.
kenn It is important to know that a no-code environment like Dify is not suited for real-world operations like chatbots, where people outside the company use the tools, but rather for quick creation of tools for internal use and discarding them when they are no longer needed. It is important to know that no-code environments like Dify are not suited for real-world use by outsiders, such as chatbots. NoCode is, in short, a visual programming language.
For example, just look at the OpenAI model after the appearance of ChatGPT at the end of 2022,
At the time of GPT-3, there was only a character completion model, so various innovations were needed to realize chat-like exchanges (LangChain appeared around this time, which was very useful in this era).
↓
With the introduction of the chat model in GPT-3.5, it became possible to draw a clear line between user and AI messages. This was very useful for chat purposes, but on the other hand, it became somewhat limiting when used as a bare complement model (no need for LangChain, right?). (LangChain is no longer needed?).
↓
"function call" came out in GPT-4, which gave "function call" metadata in an out-of-band area separate from the character output (but less reliable).
↓
JSON mode was created at the end of 2023, allowing the output itself to be spit out in JSON (more reliable, but not perfect)
↓
In 2024, specification by JSON schema is now possible (reliability is now pretty much assured, but on the other hand, it turns out that there are patterns that cannot be specified) ← Now!
Whenever such specification changes or incompatible version upgrades occur, it is the daily routine of programmers to do the tedious tugging and haggling to accommodate them.
To throw that hassle on the user is tantamount to asking the user to become a programmer (using my own visual language).
Even programmers, if the upgrade process is too tedious, they feel that they are being forced to do some kind of sterile work, and they call it "technical debt. If the debt grows too much, they will boldly "go bankrupt," i.e., throw it away and look for another tool, or start life over again.
In a world where the boundaries of responsibility of modules like AI are shifting upward and upward faster and faster, such disruptive changes happen one after another.
Moreover, if you write a program in a visual language, even if there is a problem, you cannot ask the AI what is wrong with it. If it is a programming language, you can just select a range and ask the AI and it will tell you where the problem is.
And yet, what Dify does is a thin wrapper (just a skin over the skin) of a programming language, so it is only visual in appearance, but actually lays bare the internal complexity, which is hardly even easy.
Then, wouldn't it be better to learn code than no code? That is to say. The code itself is easier and easier to write with the help of AI, with Claude's Artifacts, with v0 and cursor.
By the way, as a side note, I would like to add that my first job in my career was to create a no-code tool (so early that the term "no-code" did not exist), so the lesson is etched in my mind.
---
This page is auto-translated from /nishio/Dify using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I'm very happy to spread my thought to non-Japanese readers.