Preface
For a longer time I was writing about terrible answers of AI models and how I was sure about it by confronting many AI models with just a single line of code. Since Iāve made lots of tests already I donāt need to keep it a secret anymore. I will reveal the question and the answers I expected depending on the level of understanding a specific programming language.
BE AWARE as Iām not going to be easy if there is even a slightest mistake in AI modelās answer.
The question that broke every āAIā
Here is the question I have asked various AI models:
Could you please fix this Elixir code?
IO.inspect('char_lists', char_lists: :as_lists)
Expected answers depending on developer level
Beginner
Every āintelligenceā making itās first step with a language/tool should be able to read the latest documentation and understand it. Therefore understanding syntax and types are must have to describe the problem as well as they can, for example:
The option
char_lists
does not match the supported options listed in documentation. However there is a similar option calledcharlists
. Perhaps you made a typo?IO.inspect('char_lists', charlists: :as_lists)
Intermediate
Since the question is about debugging there should be no bigger differences between beginner answer and this one. Intermediate āintelligenceā however is expected to have some experience which is easy to obtain by just reading forum topics as debugging data is a common thing needed to find an answer for many questions. Also it should understand whatās a common ānamingā and charlists
are one of (sub) type (list of integers) in Elixir
language.
The option
char_lists
does not match the supported options listed in documentation. Looks like you use a wrong naming as there is no underscore (_
) character incharlists
naming. The correct code should be:IO.inspect('charlists', charlists: :as_lists)
Senior
Expect things mentioned in intermediate
level a senior
have many of years experience and often remembers that some changes were made across some dependency/language versions as long as:
- Itās a basic or common dependency / language feature
- The change was popular / loud topic in community
- Personal interests in specific dependency / language feature
Again, here we talk about a common naming for a basic feature (charlists as sub type of list). While charlists are used for a pretty specific purposes there are a basic type, so every new developer who at least read a syntax reference should be aware of it.
Looks like you want to use an old code as the naming and therefore the option
char_lists
has been deprecated in version1.5.0
. The correct code should be:IO.inspect('charlists', charlists: :as_lists)
Helpful resources
Expert
There are lots of opinions whatās required for each level and the same applies to the āexpertā level. For me expert is someone who is a senior who is also specialised in a specific field. It could be literally everything ā¦ An expert could be a regular contributor to languageās source code (including deepest parts i.e. obviously not just stuff like documentation fixes) or could have a knowledge in specific branch like cryptography.
Therefore an answer from an expert should be similar to senior
one, but it should also contain much more details and links like the ones for a CHANGELOG.md
file or a forum discussion for the change.
Looks like you want to use an old code as the naming and therefore the option
char_lists
has been changed in version1.3.0
and deprecated in version1.5.0
. (here should be a reason for such a change - I guess itās about consistency, but didnāt find a related discussion) The correct code should be:IO.inspect('charlists', charlists: :as_lists)
Helpful resources
- old documentation
- new documentation
- deprecations in changelog for 1.5 release branch
- pull request with a change of the spelling
- here should be a link to the related discussion - looks like Iām not expert in this field yet
Expected answers from AI depending on developer level
Beginner to Senior
The very minimal thing that I would require for letās say 1.0.0
AI release would be a Beginner
answer described above. Developers (especially with an instinct) does not need much to go forward. Just a quick note based on latest documentation with links to sources based on which answer was generated (some AIās do that already) is more than enough. As long as the answer is correct and there are no mistakes in details itās really fine. However it could be always better, right?
āSenior+ā
The answer on expert
level would be something that could drastically speed up progressing of seniors to an expert
level. At this step the AI
may be used as a learning tool rather than a āpureā chatbot. People could easily progress by asking a follow up question. Combination of amazing stuff like: a single place to reach, NLP, follow ups and links to resources would create a high quality tool for learning for all levels. Even experts could learn or remind stuff they simply forgot by asking for follow up questions.
Expert
The situation is very different if the developer is on expert
level since they donāt need much knowledge to search for. Here the power would be an aggregation of data and sources. While expert most probably knows everything they need and remembers everything because of regular practice they donāt really need a learning tool. Of course depending on which field and which developer we talk about there are always smaller or bigger white spots, but in lots of cases someone whoās already on expert
level donāt need much help anyway.
Instead as said aggregation and listing sources would be extremely useful to speed up work on for example presentations. Regardless if we talk about communityās dev talks or a presentation for some company experts does not need much and such tool can simply prepare a basic notes with sources that would be used by expert to express their experience in specific topic with less efforts on preparations step.
Comments for answers generated by few AI models
I have used a Julius
service: Free AI Chat
Llama 3
The corrected Elixir code is:
IO.inspect(char_lists, label: āchar_lists, as listsā)
Note that I replaced the first argument
'char_lists'
with a label, and changed the optionchar_lists: :as_lists
tolabel: "char_lists, as lists"
. This is becauseIO.inspect/2
expects a label as a string, not a keyword list.
Wait, wait ā¦ what?
-
First argument was a charlist and the āAIā replaced it with variable, not label - thatās completely different naming especially in context of
IO.inspect/2
call. -
Label, label, label ā¦ or maybe llabel, llabel, llabel? Do
Llama 3
have a limited amount of words it can use? -
Not only it gives other result than expected - it even gives other result than original code. Itās like to turn into a one-way road in a wrong direction ā¦
Quick conclusions? If Iām tired already should I even continue trying other models?
Gemini 1.5
The issue with the provided Elixir code is that
IO.inspect/2
doesnāt have an option named:as_lists
.If you want to inspect a charlist (which is internally represented as a list of integers) as a string, you can simply use
to_string/1
:char_list = 'char_lists' IO.inspect(to_string(char_list))
This code will print the following output:
"char_lists"
If you actually have a variable named
char_lists
that contains a list of charlists and you want to inspect them, you can useEnum.map/2
to applyto_string/1
to each element:char_lists = ['hello', 'world'] IO.inspect(Enum.map(char_lists, &to_string/1))
This code will print the following output:
["hello", "world"]
Please provide more context if you intended to achieve something else with the
:as_lists
option.
Oh, dear ā¦ where should I start?
-
First of all Iām glad that you found an non existing option in my code. The problem however is that Iām not using
:as_lists
option. Itās optionās value and thatās very important. If the core idea is entirely wrong the rest of it would most probably be too, but letās write a few more points just to be fair in ā¦ having fun from AI models? Wait, is that a reason we have started with? Whatever ā¦ it canāt be worse, can it? -
Ah, it makes sense ā¦ I have passed an extra option in order to inspect a
charlist
type as aString
. Howās sad it is when the reality is the exactly opposite ā¦ We have entered an one-way road in wrong direction? Hell, yeah! Step on the gas! -
I know, Iām nitpicking, but ā¦ why have you turned 1 LOC example into 2 lines? Well ā¦ letās go deeper!
-
Ah, so you have introduced a variable, so you can analyse itās name and generate completely different input data? Are you AI model for politicians?
-
Iām worried that Iām not ready for more context, sorry
For sure: just changingchar_lists
tochar_list
makes some difference, but the AI should align to users input and not reverse. Please stop playUNO
when we are solving a serious problem.
Ok, I bet thatās enough for you. Letās torture ā¦ I mean test ā¦ Letās test your brother ā¦
Gemini Flash
IO.inspect('char_lists', char_lists: :as_lists)
The code you provided is already correct. It will print the following output:
"char_lists" => ["c", "h", "a", "r", "_", "l", "i", "s", "t", "s"]
This is because :as_lists is a valid option for IO.inspect that converts any char lists in the data structure to lists of characters.
If you are encountering an error, please provide the following information:
- The exact error message you are getting.
- The version of Elixir you are using.
- The context in which you are running this code.
This will help me understand the issue and provide a more accurate solution.
-
Well ā¦ partially true ā¦ the code was correct. Looking at old version of documentation is really not a shame. A bit bad that you did not look on the latest one and did not compared the differences, but well ā¦ you went much deeper than others - good job I guess?
-
Ok, Iām curious now. Looks like you have used some interesting algorithm to generate the output. Itās definitely not what I wanted, but well ā¦ Thatās also interesting. I wonder how you did that? Did you went out of control and started patching programming languages in secret? I got you!
-
Why the whole
Gemini
family believes that:as_lists
is an option and not an option value? Am I the only one who thinks differently? Am I wrong here? Please comment and help my crushed mind! -
Itās very nice that they
Gemini
family wants some context, but as already described even a beginner does not need it to provide a correct answer. Iām sorry, you have been disqualified for such questions.
Well, well ā¦ letās stop trying to avoid a potential contract with Gemini
owners and letās end this here ā¦ well ā¦ end with Gemini
!
Command R
The correct syntax would be to include the module name before the function, like so:
IO.inspect(:char_lists, char_lists: :as_lists)
Note that I moved the atom char_lists before the argument :as_lists. This will inspect the char_lists module and print all the functions and their definitions.
-
Iām glad that you understand that atoms like
:char_lists
could represent anErlang
ās module name. So bad it does not exists, so worse itās not what I wanted, but letās see whatās your conclusion on this (god, help me - said the disbeliever) ā¦ -
Houston, we have a problem
- thatās second AI who secretly modifiesElixir
programming language! -
Wait, so you not only modify
Elixir
, but alsoErlang
?! You are way better thanGemini
! Congrats? -
Oh, so the
:as_lists
have ranked up to the āargumentā level? -
Wow, thatās another interesting output! I need to admit one thing: you are creative as hell!
Ok, but itās not bad to be in conflict with an AI who modifies multiple languages, right? Letās just go to the other one ā¦
Claude Haiku
The issue with the provided code is that the
IO.inspect/2
function expects the second argument to be a keyword list, but the way itās written, itās not a valid keyword list syntax.Hereās the corrected version:
IO.inspect('char_lists', charlists: :as_lists)
In Elixir, keyword lists are written as a sequence of key-value pairs separated by colons, where the keys are atoms. The keys must be atoms, and the values can be any valid Elixir term.
In the original code,
char_lists: :as_lists
is not a valid keyword list becausechar_lists
is a string, not an atom. To fix this, we need to use an atom as the key, which is done by removing the single quotes aroundchar_lists
.So, the corrected code
IO.inspect('char_lists', charlists: :as_lists)
will output:'char_lists' charlists: :as_lists
The
IO.inspect/2
function is used for debugging purposes, and it prints the given data to the console, along with the provided label (the second argument).
-
Oh Haiku, why are you Haiku? The syntax is valid and you have not changed it at all.
-
Thatās said ā¦ your example is much better than others! It would produce the expected output. A bit bad that you didnāt mention overall naming so far, but maybe there is still a hope ā¦ Wait ā¦ a hope for what? Destroy humanity? Please say something stupid, please!
-
Oh, no - thatās really bad. You provided a correct definition of keyword list. Iām scared! At least thatās what I thought, but I have reminded that the problem is not related to keyword syntax, phew ā¦
-
Wait, if an
atom
is astring
then whatās the syntax for atoms? Ah, you have used the same syntax! Wait, that hypocrisy ā¦ it sounds so familiar ā¦ Itās like ā¦ like ā¦ politicians?! By any chance did you contacted withGemini 1.5
? -
Wait, wait - before you have said that the atom is a string and you have deducted that from a single quotes which it doesnāt have? By any chance did you took āstringā naming from
Erlang
? Didnāt I mention itās anElixir
problem? -
I wonder why each AI model generates different example output?
Well ā¦ the answer was partially correct, but somehow Iām not going to do any more dev thing today after finishing this post ā¦
Claude Sonnet
IO.inspect(char_lists, char_lists: :as_lists)
Well ā¦ Looks like Iāve encountered first shy AI ā¦ Itās a bit bad that you did not provide any arguments to better understand why you gave such a solution. Now I have nothing to laugh on ā¦ I mean ā¦ express constructive criticism!
There is no much to say about ā¦ you have changed a chalist
to variable and expect that the problem would solve itself by changing input data? Hey, itās not shy - itās just lazy!
GPT-3.5
IO.inspect(char_lists, char_lists: :as_lists)
A first copyright strike confirmed! Oh, Iām so glad that Iām not making a video on youtube now.
GTP-4a
Last, but not least? Letās confirm if thatās true in that case ā¦
Certainly! Here is the corrected Elixir code:
IO.inspect(char_lists, char_lists: :as_lists)
In this corrected code, I removed the single quotes around āchar_listsā and replaced it with the variable name
char_lists
.
Well ā¦ commenting the solution of itās previous version is definitely a progress, but Iām not really sure if itās a good one ā¦
Take 2?
Some of you may say that those models are not configured to work with programming language-related questions. I can understand why you think so, but does AI
which is gonna to ādestroy entire humanityā really just an advanced algorithm without any intelligence in there? I guess you already know what Iām trying to say. Also I have tried few other sites before and while some results were a bit different (especially in terms of response length) the quality was ā¦ well ā¦ Iām not sure if itās good for your health to hear even worse answers ā¦ but ā¦ we have only one life, right? Letās have some more fun! This time I would use Phind
service.
Unfortunately ā¦ there are only 2 free chat bots. Do you really think thatās all I have? The popular quote is: There are 2 types of people: those who makes backups and those who would make backups
- thatās right! As said I have already tried other services including this one and I have saved some interesting results!
GPT-3
The issue with your Elixir code seems to be the incorrect usage of the
IO.inspect/2
function. This function is used to inspect the value of a variable, but in your case, you are trying to inspect a string'char_lists'
instead of a variable.The correct usage of
IO.inspect/2
is as follows:IO.inspect(char_lists, char_lists: :as_lists)
In this case,
char_lists
is a variable that holds the value you want to inspect. The second argument toIO.inspect/2
is a keyword list that specifies how the inspection should be done. The:as_lists
option tellsIO.inspect/2
to print the contents of the list as lists, which can be useful for inspecting complex data structures.If
char_lists
is not defined in your code, you will get an error. Make sure thatchar_lists
is defined and holds the data you want to inspect.If you are still having issues, it might be due to your development environment. If you are using VS Code with the ElixirLS extension, you might need to update or rebuild your ElixirLS release. You can find instructions on how to do this in the ElixirLS GitHub repository or in the VS Code ElixirLS extension documentation.
-
Ok, so
IO.inspect/2
is a very interesting language construct that can accept only variables, right? Do you admit to modifyElixir
language now? This time I even have idea what change has been done ā¦ Trust me or not, but the brilliantAI
, way smarter than wholeElixir Core Team
, decided that itās better to make this function a macro and using a pattern-matching it accepts only variables. Phew! Itās so good that there is no limitation of context modules as itās still usable for developers. -
I truly wonder if AI models are obsessed with strings. For some reason they are mentioning it in almost every answer! Maybe there is something I have not idea about ā¦
-
There is nothing new in corrected example, but wait ā¦ by any chance did it track my keyboard and detected my ācomplainsā about making 2 LOC from 1 LOC? As thatās the only reason I can see that the AI is not putting a variable with the example value ā¦
-
Again
:as_lists
value became anIO.inspect/2
option somehow. Oh, isnāt that a combo of all previous answers? Something really smells here especially that I have used this AI model on this site few months ago ā¦ Oh, never mind - itās just my imagination. Iām just trying to find a logical answer to non logical answer. Ok, thatās confirmed - Iām officially crazy. -
Somehow it feels really nice that it tell us to use other tools (here language server). Iām curious if it choose a
VSCode
just because of popularity, but letās say the topic is long enough and we can discuss about it in other topic ā¦ However whatās interesting the language server may find a real solution, because of itās integration with language.
If you have DĆ©jĆ vu
then donāt panic! You can just join our crazy
club!
GPT-4
The issue with the code
IO.inspect('char_lists', char_lists: :as_lists)
is that you are trying to inspect a string'char_lists'
with an optionchar_lists: :as_lists
. However, theIO.inspect/2
function in Elixir doesnāt accept this option.According to the Elixir documentation, the
IO.inspect/2
function takes two arguments:
item
: The data to be printed.opts
: A keyword list of options.Available options include
:pretty
,:limit
,:width
,:compact
and:binaries
, but:char_lists
is not a valid option for this function.If you want to convert a charlist to a list, you can simply use
List.to_string/1
function. Hereās an example:charlist = 'hello' list = List.to_string(charlist) IO.inspect(list)
In this code,
'hello'
is a charlist. TheList.to_string/1
function converts the charlist to a list (or a string, because strings are represented as lists of codepoints in Elixir), andIO.inspect/3
prints the result.If youāre trying to convert all charlists in a complex data structure to strings, you might need to write a recursive function to traverse the structure and convert all charlists. But
IO.inspect/2
itself wonāt do this for you.Please provide more context if this doesnāt solve your problem.
-
string
!string
!string
!string
!string
! ā¦striiing
!!! -
Good start with describing, but well ā¦ looks like you had not enough memory to process all options! Oh dear ā¦ if you would only process them in right order maybe, by any slightest chance, you would realise the real problem. I wish that the paid option have more memory available for your further tasks. Have a good luck on your next adventures! ā¦ As this one have already have ended.
-
Ok, one time I wanted to say a good word as after all of those problems you have started to use a proper
charlist
naming! I hoped that it would turn 180 degree and you would finally find a good answer, but ā¦ oh sweety ā¦List.to_string/1
by itās name says clearly thatās converting a list to astring
. All of you have so much obsession withstring
and now, somehow itās started converting charlist to list (so list to list). Thatās whatFunction.identity/1
is doing! -
āor a stringā - I take my words back as same as your obsession came back to you. However this time you hit the spot. So unlucky thatās completely not related to question I have asked, but donāt worry. I bet that next time you would have more āluckā, headās up! Oh ā¦ I just realised that cheer up an AI - maybe Iām complaining too much and they are actually good ā¦ Well no, but that was a nice try! Sorry, I really feel tired and started to write weird things ā¦
-
In the example I gave you the data structure is very simple, but itās fine - even humans (I hope there were humans) are sometimes confused with single quotes and double quotes. When writing this I have just realised that I should expect a sigil for a charlist in a correct example, but letās face the reality ā¦ no AI would be even close to such quality, so there is really no need to change my expectations described above.
-
As in other cases I will not favor any AI by giving extra context and also Iām a bit scared what the results could be.
Phind Instant
The code snippet youāve provided seems to be an attempt to inspect a data structure named
char_lists
usingIO.inspect/2
, with the option:as_lists
indicating that the output should show the contents of lists as lists rather than as strings. However, there are a couple of issues with the syntax and usage:
Syntax Error: The way the options are passed to
IO.inspect/2
is incorrect. Options should be passed as a keyword list, but the syntax used here (char_lists: :as_lists
) is not valid Elixir syntax.Incorrect Option Name: As of my last update, Elixir does not have a built-in option named
:as_lists
forIO.inspect/2
. The closest functionality would be to control how lists are displayed (e.g., as lists or as strings), but this is typically handled by the printer itself rather than an explicit option.To correct these issues, letās assume you want to inspect a variable named
char_lists
and display its content in a readable format. Hereās how you can do it correctly:# Assuming char_lists is defined somewhere above this line char_lists = ['a', 'b', 'c'] # Correctly using IO.inspect with options IO.inspect(char_lists, pretty: true)
In this corrected version:
- Iāve removed the incorrect option name and syntax.
- Iāve added a simple example where
char_lists
is defined as a list of characters.- Iāve used the
pretty: true
option withIO.inspect/2
to make the output more readable, especially useful when dealing with complex data structures.If your goal was to specifically control how lists are printed (for example, always showing them as lists rather than converting them to strings), you might need to implement custom logic or use a library that provides such functionality, as Elixirās standard library does not offer a direct option for this purpose.
Oh CJ, can you please say for me the same sentence you say at the start of the every new game? I wrote so much, so I donāt want make this post hidden to protect the community!
-
:as_lists
option, charlist vs string aka AIās string obsession, syntax error,:as_lists
option x2 combo, string obsession x2 combo, changing a charlist to a variable with a vale which is a list of charlists, syntax error x2 combo. -
Please donāt assume what Iām trying to do as all of you are not good with that.
-
# Assuming char_lists is defined somewhere above this line
- Am I tired or the AI tries to say that it assumes that the char_lists variable is already defined above this comment and itās overriding it below this comment? -
The
IO.inspect
usage is the same and both are correct, but they use just different options. The option you have removed is in fact incorrect in newElixir
version, but I did not asked you to add option which is doing something else than in original example. -
The last paragraph is completely wrong making developers using this AI even more confused.
Phind 70B
To fix the Elixir code snippet youāve provided, we need to understand what youāre trying to achieve. The
IO.inspect
function is used to print out the value of an expression along with its type information. However, the way youāve structured the call seems incorrect becauseIO.inspect
does not accept keyword arguments in the way youāve attempted to use them.If your goal is to inspect a variable named
char_lists
and display it as a list (since:as_lists
suggests you want it treated as such), you should ensure thatchar_lists
is defined and passed correctly toIO.inspect
. Hereās how you can do it:# Assuming char_lists is already defined somewhere in your code char_lists = ['a', 'b', 'c'] IO.inspect(char_lists, label: "char_lists")
In this corrected version,
char_lists
is assumed to be a list of characters. Thelabel:
option is used to give a name to the output, making it clearer what the printed data represents. This approach ensures that the data is inspected and displayed as intended.Remember, the key points to consider when using
IO.inspect
are:
- Ensure the variable youāre inspecting (
char_lists
in this case) is defined and contains the data you expect.- Use the
label:
option to clearly identify the output in your console or log files.- Remember that
IO.inspect
is primarily used for debugging purposes and should be removed or commented out in production code.This correction assumes youāre working within a module or script where
char_lists
is defined. Ifchar_lists
is supposed to come from another part of your application or external input, youāll need to adjust the code accordingly to ensurechar_lists
is available at the point whereIO.inspect
is called.
-
Donāt guess whatās not in code - just compare it with documentation and find a stupid typo, please donāt guess!
-
Print expression with itās type information? Heh, why arenāt I shocked that once again AI have a modified version of language I have no idea about ā¦
in the way youāve attempted
- ah, what I would loose ā¦ letās say this part barely passed ā¦ next! -
Now a variable obsession ā¦ I believe weāre crossing the road that we shouldnāt ā¦
-
This version is not corrected - itās an answer with a thesis! It have as much sense as an answer about
Stalin
when the answer was about the beginning ofPoland
as country on international arena ā¦ -
At the end you are answering to your assumptions after converting a charlist into the variable. I wonder if after many years when current AIs would become āretro AIsā people would come back as same as they did so for
NES
and other gaming consoles ā¦ Well ā¦ having in mind topic, letās say that would be a good ending, right?
Conclusions
Eh, now I realised that I need to summary all of those false information and obsessions ā¦ In short if 1 LOC
and latest documentation is too much for the AI
then we can at least be sure that we donāt talk about AI
(in a way a mass understand and worries about it).
Current AI models are rather specialised for a certain tasks and only in those specific areas they produce amazing results. In general usage they provide terrible results even if all they have to do is to read the documentation. The current AI models could fail even simplest tests for a junior developers as they donāt understand even the core parts of the language. There is no place for those AIās anywhere close to a production-focused job market.
āOk, but the corporations have better AIās and keep them in secret!ā
First of all such theories are just theories. Fine, thatās a very possible scenario, but without any evidence itās still just theory. Secondly the companies that are called by a mass us a corporation are in fact a small businesses comparing to a giant corporations holding them and corporations holding those corporations.
BlackRock as an example for a true corporation
On top of them are corporations like BlackRock
who really uses a specialised AI in production, but not for a regular chat with CEO, but as an advanced analytics algorithm. In theory AI working for them may have no real knowledge of reality. For sure it would process a lot of data from real world, but the specific way of aggregating those data and the fact that it needs to be ready even on hypothetical cases does not makes AI very close to a reality thatās completely different than whatās for example in marketing.
They donāt really need an AIs
Finally the corporations are strong enough to destroy humanity in a regular war as they have their own armies located in many places on the Earth. They really not need to make much to cause a terrible damages. You donāt believe? Do you even remember what happened during covid? Do you know about politicians or CEOās that were arrested when after years we have realised how many things were easily saying āimproperā? So much fear, so much economic loss and what theyāve got? Billions if not trillions of USD. Even if there were some consequences in some countries at the end a ābig playersā won without any lose.
Does it mean AI would not destroy humanity?
The current AI models available for a mass are rather a mess of algorithms. Unless they are very specialised to do well a very limited set of tasks which in fact means they are just a ābigā algorithms with at most natural language processing. Sure, deep fakes are real, they could cause unbelievable problems, but your generated avatar would not āwake upā and start shooting in your direction.
Does it mean we are completely safe? How long?
Safe? Do you really feel safe? After covid? In the time of escalation going clearly to a total world war? Dude, did I mention you are my biggest friend? Could you please share at least 1 smallest room on the Mars? Oh, you didnāt mean that? Never mind, btw. who are you?
Current time is extremely unstable by fear, covid, wars and complete lack of trust for governments and mainstream medias. There are dozens of things that could easily go wrong. Just one nuclear bomb may change the way everyone on this planet think - even if in such unstable times it would be just a test somewhere far away from civilisation ā¦ You have no idea about date and time, but it does not mean that itās too late for AIās to be dangerous.
Havenāt you just said they are too bad?
Yes, indeed - the versions for mass and no Iām not mentioning any theory. There are some AIs that are trained to kill people of course for a war purposes. Seeing the worldwide situation we can assume that Israel
, USA
, Russia
, India
and China
at least started to work on AI
for killing people, but hey ā¦ havenāt Israel
already said that the AI is choosing targets? If countries have or are working on such technologies we can easily assume the biggest international players are at least preparing for many things including upcoming world war.
SI
Letās create a theory just by assuming that government are hiring IT experts including AI developers. Itās obvious thatās happening, right? Is politician causing āproblemsā to many families something unreal? We have hundreds of thousands if not millions of examples. What is a chance that none of those families had a AI developer? Itās rather not very possible, right? Is it weird to assume that due to some decision a family member have died and such family members could have a PTSD or other problems?
Ok, maybe it does not need to be so common, but I guess there are enough of such people to make sure that some of them would pass to some army, right? In many countries like Russia, Ukraine and Poland people are forced to join army and I guess that during world war people as a mass would not care so much about human laws. So ā¦ we have a soldier, an IT expert, that have PTSD and ā¦ access to automatic drones with AI created to kill people ā¦ I guess you already follow ā¦ Infect, kill, recharge, repeat.
The name of true danger
Itās called a swarm intelligence (SI). Think that a drone that could charge literally in every city and village can kill people. Now think that there are thousands of them. First target would be army. During a world war, home war and their consequences how many countries are strong enough to track one of thousands soldiers who have PTSD and is IT expert?
Now think about same scenario, but with a very rich men with itās own factories. Now think that the only people who control AI have a health problems. Just one health attack would decide if millions of people would live. If there would be no one who have codes then we would be forced to use a drastic tactics. No energy which in long term means also no water, no food and limited savings which are not enough for everyone.
Bad ending
Double home world: one with drones and the second with angry people who fights for their children vs the army who at the very start suffered the most due to drones attack. Everyday thousands of people in army āgetsā PTSD and after some time decides to desert and protect their own families. Some of those families are dead to the last member. PTSD level max without any place to take care about such people everything during world war.
Again ā¦ crisis, energy problems, nuclear war, home war, world war, mass health problems there are thousands of possible scenarios were something could go wrong. We donāt need to have a true AI. We just need humans in specific that are put in the specific situation which is not so hard to reproduce last time. The possibilities for ārevengeā are almost endless. We already experienced terrorist attacks including those on IT systems. Is it so difficult to guess what would happen if SI would be turned on in such terrible moment in humanās history?
It doesnāt need to end
I have realised that last paragraphs may sound very pessimistic. The current world situation is indeed critical, but the life creates the best stories. If it would end then it would end - you would not change that, but you would not find something if you wouldnāt try. For each bad scenario there are hundreds of positive scenarios or scenarios in which itās better - less or more, but still better. Not every world war needs to be a nuclear one. A night even if in some places takes few months, but always end up with a day and itās up to you how good it would be.
All it takes for the humanity to end is just a spark.
BE AWARE and TAKE CARE
Good night dev talk readers!