{
  "video_id": "QmdCkaTM1P4",
  "channel_slug": "techwithtim",
  "channel_handle": "Tech With Tim",
  "title": "MiroFish Full Tutorial — Predict Any Scenario With AI",
  "duration_seconds": 1244,
  "url": "https://www.youtube.com/watch?v=QmdCkaTM1P4",
  "upload_date": "20260416",
  "transcript": "This is one of the coolest AI projects\nthat I've ever played with.\nNow it is called MiroFish.\nMiroFish, however you want to pronounce it,\nand the finished result ends up\ngiving you a really detailed knowledge graph\nthat looks something like this\nthat allows you to effectively predict the future\nby using a swarm\nintelligence of hundreds of different agents\nacross hundreds of different runs.\nIt is insanely cool.\nIn this video, I want to explain to you\nexactly what it is, how it works,\nand how you can run it yourself\nso that you can make your own predictions.\nI'm just quickly showing you the knowledge graph\nthat was built here, just on some basic sample data\nthat I passed in to attempt to predict the future\nprices of Dubai real estate.\nNow, after I ran through this whole simulation,\nyou can see that it generated a full, detailed\nreport.\nLet's go over to here saying, you know, this is the\nforecast of Dubai real estate downtown, specifically\nwhere I live in Dubai over the next ten years,\nbased on all of the information that we found.\nThere's 32 interactive agents\nthat have been communicating,\ndebating,\nyou know, writing articles, chatting with each other.\nAnd then I can go and talk\nwith any of these individual agents\nso I can just pick any of the ones that's here.\nWe can see we have UAE stock market analysis.\nWe have, I think, Trump, Nancy Pelosi,\nlike it's kind of funny what this ends up creating.\nAnd anyways, for this to make sense, let me first\nexplain what is micro fish and why should you care.\nSo let's generate\na quick presentation. Let's dive into it.\nBut what if you could simulate billions of people\nthinking,\ndebating and reacting to what happens next?\nWell, that is mirror fish.\nAt least at the time that I'm recording.\nThis video is probably much larger\nnow that 51,000 stars on GitHub.\nIt was built in ten days.\nFollow with over $4 million, had 7.6 thousand forks,\nand was the number one\nglobal trending GitHub repository\nthat's just recently being picked up.\nNow, effectively,\nwhat this allows you to do is run a parallel\ndigital world\nwhere you have autonomous agents that are simulating\nsomething like Reddit or Twitter and communicating\nwith each other to attempt to forecast the future.\nNow, effectively,\nwhat you do is you give it some base information.\nSo like a research report or trend data\nor anything that you want it to use\nas its kind of context for the simulation.\nAnd then you give it a very simple question.\nIn my case, I gave it a full, detailed\nresearch report of all of the historical data\nof Dubai real estate as well as current news,\nbecause obviously there's a war in the Middle East.\nAnd then I just asked it,\nwhat's the future price of two bedroom\napartments in Dubai\nreal estate going to be in, you know, 2035?\nBecause I own an apartment there\nand I'm interested to know, am I going to lose money\nor am I going to make money on that recent purchase?\nNow, the way that it works is the following.\nIt has five stages.\nThe first stage is that it\nbuilds an intense knowledge graph, like you\nkind of saw earlier that I showed you, that tries\nto associate all of this information together.\nSo it's not just randomly searching through files,\nbut it's using kind of this deep graph network.\nNext what it does\nis it starts to set up the environment.\nSo it actually will based on the data\nyou pass it, create a various number of autonomous\nAI agents that have different personas,\ngoals, tasks, etc.\nit will have, in my case, me, Tim,\nyou know the Dubai real estate investor,\nit will have Nancy Pelosi will have Donald Trump,\nit will have a UAE stock analysis.\nIt will have a US military guy.\nIt will have someone from Iran\nlike it will create all of these agents to make\nthis really interesting world where they can all chat\nwith each other and have their own opinions.\nIt then will run this dual simulation\nwhere it runs in two different worlds,\nwhich we'll talk about in a second,\nand the generates a report and allows you to interact\nwith everything in the environment\nto understand the rationale of these agents.\nNow, the graph building is going to extract all of\nthis data from the information that we give it.\nAgain I'll talk about how that works in a second.\nThen it's going to build these agent profiles right.\nSo we have name age memory social\nall of this kind of stuff for the environment.\nThen it's going to do a dual platform simulation.\nSo it's going to kind of simulate Twitter\nversus Reddit.\nYou know these agents can like post.\nThey can comment, they can dislike, they can repost.\nThey can, you know, quote, reply\njust like you would do on a real social network.\nSo they're actually chatting\nand communicating with each other.\nAnd then based on all of the information, it's\ngoing to generate a report\nusing a specialized report agent.\nAnd then perform\nthis deep interaction which allows you to go in\nand just see everything that's happening.\nAnd anyways, if you're interested, what's powering\nthis is the following tech stack.\nSo Oasis, this is kind of the thing\nthat's doing the simulation engine.\nSo that's how we're setting up\nthis kind of graph network.\nWe have Zepp Cloud. This is the only paid tool.\nHowever you can use it for free with limited\ncredits, fast API, Vue.js.\nAnd then you can use any OpenAI SDK compatible lamps.\nYou can use Claude, you can use OpenAI,\nyou can use minimax.\nDoesn't matter.\nAnd again,\nthe main kind of thing is that it's powered by Oasis.\nNow, just a few quick real world examples.\nTo give you some context here.\nPoly Market prediction trading bot\nsomeone made like 4K predicting the future.\nUsing this type of bot\nthere was a BTC fear and greed index.\nPeople are actually using this to analyze\nand figure out what the next chapter of a book\nmight be like,\nor the ending of certain movies or stories.\nPublic opinion, simulation.\nAnd then it was not going to get into the origin\nstory, because I don't think that's too important.\nThing is, this is super cool.\nNow I want to show you exactly how you can set it up\nso you can run it for yourself\nand see it working in the real world.\nOkay,\nso this is the official Miro Fish GitHub repository.\nI'm going to leave a link to it in the description.\nAnd again it is open source as well as Oasis\nwhich is the main thing powering this.\nSo you could just download on your computer\nand start running it.\nHowever, it does take a long time to run.\nIt's a little bit complicated to set up\nand if you just want to play with it,\nyou probably don't want to spend three hours.\nYou'll messing with it, configuring it, etc.\nso I actually was able to partner\nwith Hostinger on this video who has a one click\ndeployment option for Mirror Fish and to my knowledge\nis the first company to offer this.\nSo for as low as literally $6.50 per month,\nor you can go up to\nsome of the better plans, I'd recommend\nthe KVM two plan, which is $9 per month.\nYou can just have a deployed version of mirror\nfish that you can access from any device\nwith no hardware requirements.\nYou can plug in your own LLM,\nand you can run it securely\non a virtual private server,\nso it's not using up your host resources.\nSo what I would suggest,\nand what I've personally done for this\nvideo is I've just deployed a new hosting service.\nIn order to do that,\nyou can go to the link in the description.\nYou can just press this deploy button here.\nYou can choose your plan.\nAgain I would recommend the KVM two plan.\nAnd from here you can just select your period.\nIf you go to the period 12 months or greater,\nthen you're able to use the discount code here tech\nwith Tim, which will give you an additional 10% off\nbecause of my partnership with Hostinger.\nAnd then you can go ahead, press on, continue.\nAnd this is going to automatically deploy it for you\nin a secured environment using a Docker container.\nAnd then just give you one button\nto start using this,\nwhich again is going to save you\na massive amount of time\nand give you a secured environment\nwhere you can run this as many times as you want.\nLet me show you.\nAll right.\nSo as you go through the deployment process,\nwhether you're running this on your own machine\nor you're going to use something like hosting\nor you will need an LLM API key,\nI'm going to recommend you go with OpenAI,\nbut you can use anything that you want.\nAnd you're also going to need a Zepp Cloud API key.\nAgain, the steps I'm going to show you here,\nyou'll need regardless.\nSo make sure you follow along.\nNow what I'm going to suggest is that you\njust go to OpenAI and you just create a new API key\nso you can just go to platform.openai.com.\nI want to make a new key.\nI'm going to call this mirror fish video\nand just make the key like so copy that.\nAnd then I will just paste\nthat directly inside of here.\nAnd it will automatically get set\nas an environment variable.\nThen you can select the model that you want to use.\nNow this can be a little bit expensive\nbecause it is running a ton of different models.\nIn my case, the simulation I showed you before\ncost me $3 running with GPT four.\nOh, so I would suggest that you don't use\na super high end model like,\nyou know, opus 4.6 or 5.4,\nbecause that probably is going to cost\nyou like 20, 30, 40 or 50 bucks,\ndepending on the number of models that you have.\nGPT four works completely fine.\nIt's obviously not the best model.\nIt has some biases,\nbut if you just want to play around with it, that's\nprobably a good one to stick with.\nIf you want to use a different model\nthat's not from OpenAI,\nyou're going to have to change this base URL.\nNow, all of the model providers\nhave their own base URL.\nFor example, minimax has a different base\nURL, anthropic has a different base URL,\nand as long as you change the URL to the official one\nfrom the provider that you want to use,\nand you put a compatible name with that base URL,\nyou are good to go.\nNow this uses something that I believe\nis called OpenAI, our open API standard.\nSo any of them that supports\nthat you can use here again, you just put the key,\nchange the URL and then have the correct model name.\nNow the last step is using the Zepp Cloud API key.\nNow this is the only non open source thing.\nIf you wanted to change from zap\nthat would require a lot more configuration.\nSo what I would suggest is go to this URL apt.\nGet zepp.com. You can see I'm on it right here.\nMake a free account. You don't need to pay for it.\nAnd then what you're going to do\nis just create a new project.\nSo I made a new demo project right here.\nLet's just make a new one and go, you know,\nproject YouTube or something, okay?\nAnd I've actually paid for this myself,\nbut you don't need to pay for it.\nAnd then you can make a new API key.\nI'm just going to go with ten or something\nand then just copy it okay.\nAnd obviously\nyou don't want to share that with other people.\nNow if you're wondering how do I get to the API key,\njust go to your project,\ngo into the settings, find API keys, press add key.\nIt's going to give you a thousand credits for free,\nno credit card information required,\nand if you want more, obviously you can pay for more.\nIn my case, I did just because I'm\nrunning a bunch of simulations.\nSo I'm going to go on to paste in that API key\nand then press on deploy.\nWe'll just wait a few minutes and then again\nusing Docker hosting I will securely deploy this.\nIt will give us a URL we can go to which is Https.\nSo secured we just press on it\nand then we can start running the simulation.\nNow while hosting or spinning this up\nI will just quickly mention that\nif you did want to run this on your own computer,\nyou can do that.\nIn order to do so,\nyou will need to fill in the environment variables.\nIn this project, you will need to clone\nthis repository and then run the setup command.\nAs it states here.\nIt's not overly complicated,\nbut again, it can just take a little bit of time.\nAnd if you're not technical, it's going to be easier\nto go\nwith the method that I shared just to get it up\nand running and working immediately.\nAnyways, go to this repo\nif you want to run it locally.\nIf you want to use Hostinger\nthen of course use the link in the description.\nIt's going to take a few minutes.\nIt will provision everything\nand then you'll just be able to go right here.\nI'll show you in a second, press a single link,\ngo to a website and start using the simulation.\nAnd you can actually share that with other people\nif you want.\nBut just be careful because it is public,\nso other people would be able to\nthen run the simulation on your behalf.\nAnd if you have this connected to an external\nLLM that could cost you money.\nSo just be aware of that.\nProbably set a limit on your API account so you don't\nspend more money than you're comfortable spending.\nAll right.\nSo the deployment is finished.\nYou can now see that I can just press this open\nbutton under Docker Manager\nin the hosting portal here.\nWhen I do that it's going to open this up.\nNow you're going to notice that it's Chinese\nbecause this was developed by someone in China.\nSo I am just going to translate it\nautomatically with your browser.\nShould do if you're working in Google Chrome.\nAnd now you have the URL which you can use\nanytime you want to run a prediction.\nAnd the way that this works\nis that you just need to upload some kind of source.\nData can be multiple files,\nbut what you're going to want to do is upload\nlike a markdown file or a PDF or a text file.\nAny data that you want this to reason on.\nIf you were going to build this out yourself,\nyou could connect it to like real world data.\nHave it pulling in more stuff that is again,\nis a lot more complicated and not supported natively.\nWhat this does is just map\nthe source data that you give it.\nSo the data is super, super important to begin with.\nAnd make sure that you spend some time\ngathering that.\nNow what I did is I used Claude\njust to go do some research on everything\nhappening in the Middle East right\nnow, as well as to pull all of the real estate\nfigures for Dubai for the past year,\nthe last quarter trends, all of that kind of stuff.\nSo I gave it a really long prompt to Claude.\nI let it run for like 20 minutes.\nI let it spend all of my credits\ngenerating this massive report,\nand you can see that\nI have like maybe a 2030 page long report\nhere in markdown format,\nwhich is what I'm going to pass in.\nSo you need to generate the report first.\nAgain, Claude is really good at doing this\nor any research agent.\nOnce you have it, you could just pass it in.\nSo what I did is I just dragged it in here again.\nYou can add more if you want.\nAnd then what I'm going to do\nis give this a prompt to discuss what I wanted to do.\nNow it shows you an example, right?\nUse natural language\ninput to simulate or predict demand e.g.\nwhat a public opinion's you want.\nSo I'm going to say predict the future price\nof two bedroom apartments\nin downtown Dubai in the next 1 to 5 in ten years,\nbased on the current market data,\nas well as what's happening in the Middle East\nand the sentiment among investors\nbased on the war with Iran.\nOkay, now, by the way,\nif you're wondering how I'm dictating that\nbecause I use this in all of my videos,\nI'm using a tool called Whisper Flow.\nIt's free to use.\nI have a long term partnership with them.\nI'm going to leave a link to it in the description\nif you want to check it out,\nbut it gives you extremely fast\nAI powered voice dictation,\nwhich is significantly better\nthan what's built in to your host operating system.\nAnd it will even do things like automatic formatting\nif you're writing an email, etc., etc..\nAnyways, it's very, very good.\nMake sure you check it out if you want.\nThis dictation engine.\nAnyways is very very good.\nPoint is I use it all the time\nso I figured I would mention it.\nNow what I'm going to do is just press on, start\nthe engine.\nThere is five phases like I talked about before.\nYou do need to kind of click through them.\nSo it's going to upload the document.\nIt's going to start building\nthe graph. That takes a little bit of time.\nOnce that's done\nI'll be right back and we'll move through the phases\nand I'll show you exactly how it works.\nAll right.\nSo it's in the process of building out the graph\nright now.\nYou can actually move around the entities\nand kind of see what's going on.\nIf it starts to lag for you,\njust disable the edge labels,\nbecause sometimes those, make it a little bit laggy,\nor at least in my experience.\nAnd you will see kind of a little dashboard\nat the bottom that shows you the progress.\nIt's not always 100% accurate, but anyways, give it\na few minutes and it will move you to the next stage.\nOkay,\nso the graph has just finished being built here.\nNow it will start to be built out\nmore and more and connect to more relationships\nas the system continues.\nBut the next step here\nis going to be to enter the environment setup.\nSo what we're going to do is press enter here\nand what we're going to automatically see\nis we're going to start generating agent personas.\nNow these are the various agents\nthat are going to be a part of our simulation.\nIt will automatically determine\nhow many of them we need.\nSo in this case it's expecting 29.\nAnd then how many we currently have.\nSo you can see that\nwe have like U.S., UAE Ministry of Defense,\nGoldman Sachs, Nancy Pelosi, Trump 871.\nRight.\nSo it's creating usernames for them\nfor the social network that's about to be generated.\nAnd then we have character introduction.\nWe have the unique memory imprint. Right.\nAll of this stuff you don't need to do this.\nIt will happen automatically based on the question,\nthe source data that you give it.\nSo we'll take a second here to generate them.\nAnd then once it does we're going to move on\nto generate the dual platform simulation okay.\nSo you can see it's automatically moved to this.\nAgain you don't need to do anything here.\nIt will automatically step through.\nWhat it's going to do\nis attempt to create a simulated amount of time.\nSo it's going to say all right I want to simulate\n120 hours across this many rounds of communication.\nAnd the number of rounds that you run is\nhow many times the agents\nkind of go into this debate dashboard\nand start chatting with each other.\nSo if you want this to be a really drawn out\nprediction, you can run, you know, 100 rounds.\nThat's going to take you a lot of real world\ntime and API calls, then compute.\nBut you also could just run ten rounds\nwhere maybe it only takes five minutes to execute.\nI'll show you that in one second. Okay.\nSo you can see here that it's a simulation duration\n120 hours.\nThe duration of each round is 60 minutes.\nThe agents are only working during certain times.\nThere's morning hours, low period.\nAnd it's really trying to simulate like,\nyou know, maybe\nat certain times a day\npeople are going to message different things.\nSo you can see UAE Ministry of Defense.\nThis is the period in which it's active.\nGoldman Sachs is active at this period.\nAnd the reason you have that is not all\nagents are always active.\nSo you can have different agents communicating\nduring different real world time periods.\nThen you have the percentage of activity,\nemotional tendency\nall of this kind of stuff right,\nwhich is automatically generated for you.\nIt then goes through the phases\nof what's going to happen here with the inference,\nand then starts doing the initial activation\norchestration.\nSo these are hot topics that need to be talked\nabout like the Iran war,\nMiddle East geopolitical ceasefire and negotiations.\nYou get the idea.\nAnd it starts creating a few general posts\nto start the communication.\nThen we get to the preparation.\nSo at this point, what we're going to want to do\nis adjust the number of wheels.\nNow the wheels is going to dictate\nhow many times the simulation is running\nand how many times we kind of go and repeat this.\nSo if I move down to ten, which is the minimum,\nthis is what I'm going to do for this video.\nJust because I want it to run quickly,\nwe can move all the way up to 120.\nNow. We'll give you a prediction of what\nthe real world\nprocessing time is here,\nbased on the number of wheels that you run.\nSo it's a little bit confusing\nin terms of the timing, but essentially what it's\ngoing to attempt to do is simulate 120 hours\nof real world time, simulate real world time.\nSo it's not 120 hours.\nIt's simulated real world time across 60 minute\nrounds of these agents communicating with each other.\nSo if I put this to ten, it's effectively doing this\nten times.\nIf I put this 15, it's doing this 15 times.\nSo I'm going to put ten I'm going to go start here.\nThe parallel simulation.\nAnd what we're going to see now\nis that we have two worlds happening.\nWe have an info plaza and a topic community.\nOne is like X, one is like a Reddit right.\nAnd you'll start seeing these agents\ngenerating various posts, replying, quote,\nreplying, retweeting, liking whatever\nand effectively debating across these rounds.\nSo because I put that we're going to have\nthose ten wheels, it's a zero out of ten.\nIt will then tell you how much time has elapsed.\nAnd we should have various\ndifferent actions happening.\nSo you can see on the right hand side\nwe have true social post.\nI'm making a post USA, UAE, Ministry of Defense.\nIf there's comments and we click into it\nwe'll see those right.\nAnd then we have the same thing here\non the info plaza where we get\nslightly different types of communication.\nNow the round tracker you see here for me\nhas never really worked properly.\nSo don't worry too much about like the real time\nstatus of what's going on.\nBut effectively,\nonce you finish this and again the the higher wheels,\nthe better response you're going to get.\nYou can start generating the report.\nNow, what this is going to do\nis use an internal report generating agent.\nIt's still going to use your API key but it has some\nbetter system prompts, contacts, engineering, etc.\nwhere it's going to start\ncreating different parts of a report.\nThat is then the ultimate prediction or answering\nthe question that you asked at the beginning.\nSo let's wait for the report to be generated\nand we can quickly have a look at it.\nSo interestingly, the way it generates this report is\nthat it's actually interviewing the agents\nthat were a part of this process that have now been\ninfluenced by the other agents chatting with them.\nSo you'll see that there is if we go look here like\nan interview process, we get to find where it is.\nSo you'll see that if we go here,\nthere's like an agent interview\nwhere it's interviewing\nall of these different agents, and then you can see\nthat there's like different worlds or they're\nanswering different questions based on the world.\nSo it's really interesting to read through this.\nI'm not going to bore you with the details,\nbut the way it generates the report is not just like,\nyou know, combine all the context.\nIt's a pretty deep process\nwhere it's doing this like deep insight,\ninterviewing the various different agents,\nand you can see\nwhat agents are influencing\nwhat the overall prediction actually ends up being.\nYou can also see that we have this like kind of valid\nmemory, historical memory entities involved.\nAnd now we can see the report is fully complete\nand we can read through it\nand see what the ultimate result is.\nNow again, I'm not going to bore\nyou just by reading through everything,\nbut if I can come back up here,\nthere is a button that says like deep interaction.\nYeah. So it says entering deep interaction.\nSo we can press that button.\nNow that the report is generated.\nAnd what we can do is just ask any general question\nthat we want to the report agent\nthat will then allow us to interact with the report\nand get the ultimate result.\nSo what is the ultimate conclusion is\nthe price can increase or so I can dictate that.\nAnd let's see what result that gives us\nas the ultimate conclusion is the prices are likely\nto increase over the long\nterm, especially in central and business\ndistricts, due to by strategic location.\nOkay, there you go.\nAnd then what I can do is press this button and I can\nsee any agent that I want and I can chat with them.\nSo if I want to chat with the simulated Donald Trump,\nwhat do you think of Dubai?\nYou can\njust ask them a question and see what their influence\nwas based on the simulation,\nwhich is just kind of fun at minimum\nto go in here and see the results.\nSo I'm actually curious.\nI don't know what Trump's going to say here.\nLet's get the response.\nAnd you can see fascinating city and blah\nblah blah blah.\nAnd you get the idea.\nAnd it's funny when I was looking at this before,\nif you look at like\nthe tweets from Trump, for example,\nthey're kind of in his voice,\nwhich is just really funny to see how they\nthey've set that up.\nNow, look, there is a lot more stuff\nwe could go through related to this, but generally\nI think you should just play with it,\ntry it out, host it, run a few simulations.\nIt's really fun.\nIt's really interesting\nif you want to do that again, the easiest way to do\nso is using hosting\nor a long term partner of the channel.\nIf you guys enjoyed the video, make sure leave a\nlike subscribe and I will see you in the next one.",
  "transcript_chars": 25062,
  "ingested_at": "2026-05-21T19:02:06.406109+00:00",
  "source": "retry-no-transcript",
  "yt_meta": {
    "view_count": 45026,
    "like_count": 1219,
    "channel_id": "UC4JX40jDee_tINbkjycV4Sg"
  }
}