[HN Gopher] What if we set GPT-4 free in Minecraft?
___________________________________________________________________
What if we set GPT-4 free in Minecraft?
Author : ecliptik
Score : 113 points
Date : 2023-05-26 19:44 UTC (3 hours ago)
(HTM) web link (twitter.com)
(TXT) w3m dump (twitter.com)
| Imnimo wrote:
| It's always fun to look at the prompts used by these projects.
| Here are a few snippets from this one:
|
| >You are a helpful assistant that tells me the next immediate
| task to do in Minecraft. My ultimate goal is to discover as many
| diverse things as possible, accomplish as many diverse tasks as
| possible and become the best Minecraft player in the world.
|
| >8) Tasks that require information beyond the player's status to
| verify should be avoided. For instance, "Placing 4 torches" and
| "Dig a 2x1x2 hole" are not ideal since they require visual
| confirmation from the screen. All the placing, building,
| planting, and trading tasks should be avoided. Do not propose
| task starting with these keywords
|
| >7) Use `exploreUntil(bot, direction, maxDistance, callback)`
| when you cannot find something. You should frequently call this
| before mining blocks or killing mobs. You should select a
| direction at random every time instead of constantly using (1, 0,
| 1).
|
| >9) Do not write infinite loops or recursive functions.
|
| You can really imagine the sorts of pitfalls the agent fell into
| that induced the authors to add these stipulations.
| qayxc wrote:
| In the end it all looks like classical programming with extra
| steps to me :)
| Imnimo wrote:
| Even more than the complex prompts, they give the bot access
| to a variety of functions implementing primitive actions,
| which are crafted to give helpful hints if the bot is
| struggling. For example, the code for mining a block:
|
| https://github.com/MineDojo/Voyager/blob/main/voyager/contro.
| ..
|
| This function keeps a global count of how many times it's
| been called to mine a block that doesn't exist nearby, and
| will warn the bot that it should try exploring first instead.
|
| There's nothing necessarily wrong with all that - it's an
| important research question to understand how much hand-
| holding the agent needs to be able to do these sorts of
| tasks. But readers should be aware that it's hardly dropping
| an agent into the world and leaving it to its own devices.
| sterlind wrote:
| I do love their use of `bot.chat()` as, like, throwing an
| exception to the AI. maybe this finally gives developers an
| incentive to document their code and throw intelligible
| errors - the machines need it to figure out what they're
| doing wrong!
| ineedasername wrote:
| ChatGPT: _I am sorry for the confusion. I am a large
| language model (LLM) trained on natural language and my
| training data cutoff is September 2021. Hexadecimal
| references to memory addresses are not part of my
| training data set."_
| doctoboggan wrote:
| >9) Do not write infinite loops or recursive functions.
|
| did GPT-4 just solve the halting problem?
| geoelectric wrote:
| Seems slightly easier for me to guarantee something _I_ wrote
| halts. The halting problem is more about a process analyzing
| someone else 's arbitrary code.
| cyanydeez wrote:
| Is gpt conceptually always analyzing someone else's code?
| IIAOPSW wrote:
| Are you conceptually always analyzing some stackoverflow
| code?
| redox99 wrote:
| It's trivial to avoid infinite loops by adding some exit
| condition in case it takes too long, which is probably what
| you want here.
|
| And obviously trivial to avoid recursion too.
| narrator wrote:
| If the brain is like a computer, how do humans even solve the
| halting problem? Maybe it's because humans feel anxiety at
| the unproductive passing of time while computers will just do
| what they're doing forever.
| IIAOPSW wrote:
| Nothing you think about consciously has higher thread
| priority than the stay-alive loop.
| i2cmaster wrote:
| Humans tend to communicate/write software in what are
| really sub languages. Often these sub languages are not
| recursive.
| moffkalast wrote:
| if(going_to_halt) dont();
| tmountain wrote:
| How did you get the prompt?
| cjbprime wrote:
| https://github.com/MineDojo/Voyager/blob/main/voyager/prompt.
| ..
| jmugan wrote:
| I wish there was a summary of how this worked. I see the abstract
| and lots of figures and movies, but I still don't get a good
| sense of what exactly the algorithm is. I even skimmed the whole
| paper.
| ShamelessC wrote:
| https://twitter.com/DrJimFan/status/1662117785487704067
|
| You just scroll down a tiny bit on the twitter page and get
| this nice video and summary from the author.
|
| > Voyager has 3 key components:
|
| > 1) An iterative prompting mechanism that incorporates game
| feedback, execution errors, and self-verification to refine
| programs;
|
| > 2) A skill library of code to store & retrieve complex
| behaviors;
|
| > 3) An automatic curriculum to maximize exploration.
| iinnPP wrote:
| I imagine this is being worked on for OSRS as well. Exciting
| times. Terrifying times.
| nitwit005 wrote:
| I searched for the word "infinite", and my suspicion was quickly
| proven correct:
|
| > 9) Do not write infinite loops or recursive functions.
|
| > Sometimes GPT-4 will write an infinite loop that runs forever.
| csours wrote:
| do not write infinite loops
| [deleted]
| lsy wrote:
| I can only imagine the desperation of the researcher pleading
| with a computer to do its best to solve the halting problem.
| slg wrote:
| And yet it still digs straight down.
| neura wrote:
| Yeah... was wondering if it eventually learns that digging
| straight down is more likely to kill you than any other
| direction or if it could ever learn to down down only when
| standing on the edge of another block, instead of the one
| you're breaking.
| yazaddaruvala wrote:
| They don't explicitly talk about curriculum improvement based
| on negative reinforcement. It would be relatively straight
| forward to do tho.
|
| Perform self-reflection every time damage is taken (the
| iterations of self-reflection can depend on % health lost).
| Something like "Please output as a list of general guidelines
| / best-practices that any Minecraft player can use in the
| future. For each guideline add a risk profile that is
| introduced if the guideline is neglected. Based on the
| following game log over the last 100 steps, what should the
| Minecraft player have done differently to avoid taking
| damage? \n <game log>"
|
| And keep storing those guidelines over multiple iterations.
| If there start to become too many best-practices, ask GPT-4
| to "Please output as a list of general guidelines / best-
| practices that any Minecraft player can use in the future.
| For each guideline add a risk profile that is introduced if
| the guideline is neglected. Take the guidelines below and
| summarize them. Prioritize retaining more detail about the
| guidelines with a higher risk profile, and do merge
| guidelines if possible and appropriate. \n <old guidelines>"
| codeulike wrote:
| This is like its writing a bot to play minecraft?
|
| I'd like to see a visual/language model/AI that learns to play
| minecraft as an actual inhabitant of the game. i.e. processing
| visual input, recognising objects, working out whats going on,
| learning how to move around. Learning how to make food and avoid
| monsters. It would be an 'Embodied AI' within the world of
| Minecraft.
|
| The language part would allow us to talk to this being. You could
| ask it things like:
|
| "Do you prefer to make a house, or dig a cave?"
|
| "What are your hopes for the future?"
|
| "Is there a recent achievement you are particularly proud of?"
|
| etc
| AlecSchueler wrote:
| You could ask it those things but it will tell you that it
| doesn't have feelings, preferences or hopes. You'd also need to
| give a reason to do anything. Eventually you get back to the
| point where you're "writing a bot" but with behaviour closer to
| how you imagine it should be.
| [deleted]
| Geee wrote:
| Very interesting. Here LLM writes code that plays Minecraft. If
| software 2.0 is neural networks, then software 3.0 is code
| written by neural networks.
| ablyveiled wrote:
| And software 4.0 is sticks and stones. har har.
| tehsauce wrote:
| Earlier discussion: https://news.ycombinator.com/item?id=36085936
| ChrisArchitect wrote:
| [dupe]
|
| https://news.ycombinator.com/item?id=36085936
| smcl wrote:
| That opening sentence is a very funny statement when you take
| into account that "...in Minecraft" is a way some YouTubers hide
| hyperbolic/unserious statements (to skirt TOS violations). Like
| after 100 deaths to Malenia in Elden Ring: "Oh fuck me, I might
| as well kill myself ... IN MINECRAFT"
| opan wrote:
| I thought the same thing, although I think of the meme as being
| used to avoid feds and legal problems, like saying you'll kill
| someone "in Minecraft" to make it not a realistic-sounding
| threat.
| TylerLives wrote:
| It doesn't seem to be very effective -
| https://www.kotaku.com.au/2023/03/man-arrested-after-
| making-...
| IIAOPSW wrote:
| Its the kiddie version of "asking for a friend".
| tommywiseausmom wrote:
| Set this free in Minecraft. (grabs crotch) Oh!
| lsy wrote:
| It's not playing in-context of minecraft, it's playing in-context
| of an API to minecraft. You can see one of the limitations in its
| error condition when it tries to craft an "acacia axe" out of
| acacia planks and sticks, fails, and then replaces all the
| references to "wooden axe". Of course in the real world it
| doesn't matter what you call the axe you made, and it's pretty
| clear what an acacia axe is. Even if it did matter, you could
| also easily keep the function name and output message, and just
| make an "wooden axe" behind the scenes. The fact that the GPT is
| so tightly bound to the formalism of the API is an indication
| that this is a task the GPT can likely do quite well as this API
| is well-used and documented.
| thesuperbigfrog wrote:
| At first glance this just seems like an alternate approach at
| building expert systems.
|
| The Minecraft videos are impressive.
|
| Nethack (https://www.nethack.org/) has been used for AI
| development in the past and more recently:
|
| http://shelf2.library.cmu.edu/Tech/9997774.pdf
|
| https://portfolios.cs.earlham.edu/wp-content/uploads/2018/12...
|
| https://arxiv.org/abs/2211.00539
|
| https://proceedings.neurips.cc/paper/2020/hash/569ff987c643b...
|
| https://github.com/facebookresearch/nle
|
| https://ojs.aaai.org/index.php/AIIDE/article/view/12923
|
| I am curious how well Voyager would do in Nethack.
___________________________________________________________________
(page generated 2023-05-26 23:00 UTC)