people have read my blog

Monday, September 29, 2025

Will AI replace Humans - 2

If we are able to define what kind of tasks AI will be good at then retrospectively we will be able to come up with what tasks AI is not good at. So what is AI good at? AI is most certainly good at coming up with solutions where the outcome of the task is clearly defined, which is why AI is not going to replace researchers. Research at it's very core does not have the outcome clearly stated, thus the process is more important than the outcome, making it very hard to automate. 

A lot of people say coders, marketers, editors will be replaced but I think these will kind of become a single layer of identity, these people's jobs will converge into obtaining a specific outcome by breaking them into smaller chunks of outcomes. it will still take immense creativity (perhaps more, as lot more is being expected from the same person), thus these chunks of outcomes will be largely be done with the help of AI. 

So much hype around AI. So AI enables the creative, the deep thinkers that are excited about the output more than process. AI will become the process, does not mean you do not have to understand it. You still need it but a larger part will be done by large language models. 

Thursday, August 7, 2025

Will AI replace Humans - 1

AI is often perceived as a replacement for humans, but in reality, it is far from that. It’s not about the technology itself, but about how it’s perceived. Humans have the ability to practice, build patterns, and improve in a niche over time. AI still does not “learn on the job.” At present, one of the most widespread use cases of AI is software development, yet even here, the tools do not improve at runtime. They require constant orchestration, critical verification, and validation of outputs. These tasks may sound simple but demand deep knowledge and understanding of the systems involved.

Since the Industrial Revolution, people have predicted that human labour would become obsolete. Machines were expected to replace us, and indeed, they made many processes more efficient and production easier. Yet here we are in 2025, and I am using a machine to write this article—human labour is far from gone. The reason is simple: humans adapt, create new economies, and thrive within them. This tradition of evolution is still difficult for AI to replicate.

For example, I would never hire an AI designer in place of a human one. A human designer understands my taste, my product, and can actively learn from and question my choices. LLMs can mimic this to some extent, but the assumption that they truly “get it” is still hard to accept.

This is why I believe AI will go through a Dunning–Kruger–style cycle. Initially, many will overestimate its capabilities and use it as a human replacement. Over time, they will realise these systems are not being challenged in radically creative ways—the kind of challenge only humans can bring. This will increase demand for genuine insight and experienced professionals. The road to such experience may still require years of deep, focused learning, but tools will exist to support that journey. And while we live in a capitalist world, this reality will continue to shape how AI fits into human progress. Although there will be huge productivity jump in systems. I think it would be in order of magniute of cloud jump and not computer jump. So ideally how everything moved to cloud brought in productivity improvement, it was an era when you heard the words like (social local global cloud data science) for the first time. It was also the time when the phrase "data is the new oil" became extremely popular. This phase started in 2005, and followed till 2015. The AI era, which will enable people to orchestrate their jobs with bunch of prompts especially any kind of a soft job, which does sound scary but will eventually lead to new things quickly which weren't possible with AI before in not just software industry but in other industries as well. 

The quote (which I know most people in tech are tired of hearing) of "If I had asked people what they wanted, they would have said faster horses", is so much true today. 


Wednesday, August 6, 2025

MIVC - Replit + Ruby on Rails for CommandHive

MIVC - Memory, Interface, Verifier, Client -- A MCP Server Design Framework

Memory MCP Servers

An MCP server requires fetching very specific information with the right context. We have already seen multiple memory fetching implementations in order to serve the current context length limitations. Even if context length is increased (Gemini 2.5 Pro), the ability to serve intelligently on vast data decreases. Thus, there seems to be a clear need for intelligent fetching systems for blobs of information. Multiple methods for the same have emerged:

1. LLM Schema Generation + Database Record Creation

In this technique, the information blob is understood and a schema is created. Then with this format, the information is stored in the database. Once the database is populated, the schema is conveyed to the LLM for writing queries on the database to fetch required information.

2. (1.) + Vector Columns

A lot of times LLMs need to understand the relational context for different records. The idea here is not direct inference (SQL) but contextual inference (vectorized words). This requires some columns to be vectorized.

3. Cyclic Knowledge Graphs

This is where LLMs generate knowledge graphs which are connected to each other in a cyclic pattern where edges denote relationships and nodes store specific information.

YADA YADA YADA.

Designing a memory layer should be able to encompass these use cases for information retrieval and any future implementations as well.

Example Code

Example code could look something like this:

fetch_gmail = MemoryClass(desc="fetch gmail email information via Vector Columns")
res = fetch_gmail.lookup(summary="flight tickets from india to new york")

The MemoryClass itself would look like:

# Schema
Id = email id 
Subject = string 
Summary = Vector DB 

def lookup(input):
    return model.summary.find(input)

This could also be cyclic knowledge graphs or Retrieval Augmented code.

Now one could load a compatible Vector Database from it like Pinecone, Milvus, or MongoDB. More thought needs to be put into how the actual code would look like. I'm happy to take feedback on the same. Right now this is akin to how models work in MVC architecture in Ruby on Rails.

Interface MCP Servers

Often these LLMs are required to act upon specific interfaces - e.g., Browsers, Software, Blender, Linux Terminals, Operating Systems. There are a limited number of interfaces where these LLMs can interact. The idea is to load an interface akin to a 'ruby gem'. The developer of these interfaces can constrain and define how the LLM talks to these interfaces. For example, in case of a browser, a DOM can be served as input, whereas output can be executed on the Browser console. In the case of software, the input can be different menus/clicks on the software and the output will be a screenshot of the software window after different actions.

Interface Components

Each interface will have three main components:

  1. Service Command - This is similar to MCP servers' commands with arguments. The difference is it points to terminal opening command, starting of docker command, running an operating system VM...

  2. Input Interface Experience - The inputs to these interfaces will be required to be constrained by the LLM. This will be based on the choice of interface developer.

  3. Output Interface Experience - The output design from the interface requires LLM communication. This again will be based on the choice of interface developer.

Unique Features of Interfaces

  • Each interface will be an MCP server in itself
  • Each interface can be loaded within another MCP server, to serve as a base layer to be built further

Example Interface Code

An example code can look like this for defining an interface:

Interface ABC

Service Commands:

@command
def start():
    args = ["commands"] / "start.sh"

@command
def stop():
    args = ["commands"] / "stop.sh"

Input Interface:

# take input as screenshot 
screenshot.validate(type: image) 
definition: "this image describes the state of the software, try to understand if the user is clicking something and how this image is different from base software..."

Output Interface:

# take output as actions on a software 
mouse.click(x: 123, y: 122)
keyboard.input("top players")
dom.execute("$('.find').click()")

More thought needs to be put into how the actual code would look like. I'm happy to take feedback on the same.

Verifier MCP Servers

The responses from the LLM need to be verified by a separate black box whose context is not visible to the LLM.

For example, the verifiers can be used to understand the LLM response, if it:

A. Serves the purpose or not. If the response further requires a deeper LLM probe or multiple subagents to complete the task.

B. Should be served to the individual asking it (based on role of the individual or personalization of the individual). If there is further personalization that can be done to the response.

Another example can be if the input is correct and needs to be further detailed or explained before giving it to the main interface/further passed on.

Verifier Features

These are basically a black box unit serving as an LLM which runs when the developer wants to. It can be:

  • Just after the LLM input
  • After the LLM response
  • During the interface communication

They can access the memory for personalization, fetching roles. They can modify the LLM response. We also want this to serve as an integral layer to integrate with other eval services for agents that exist such as TensorZero, LangChain evals. The idea, although, is that eval intelligence should be a black box to the definition of the agent.

Verifier Code Example

# response/input = as defined previously in code 
bool_access, sanitized_response = Verifier.verify(
    "this is meant for a HR professional in an organisation, check if they should have access to this answer/tool call"
)

if bool_access:
    return response
else: 
    return sanitized_response

Client

This can be a pub/sub Kafka on a socket, it can be terminal commands, it can be a chat interface. The idea here is to make the current IO for MCP servers more flexible to serve different clients. The client can be customized to have authentication, social OAuth, yada yada again loaded into the server with packages/gems/libraries which can act as proxy. The idea here is to build composable client units for main IO. Right now what's defined by Python decorators actually needs to be a lot more flexible serving more use cases. The idea here is to not restrict the intelligence by a single "chat client" design but allow more feature-rich clients to exist.

Example Agent Flow

Here is what an example flow and code for an agent may look like. This is an agent which checks my email address for specific flights, finds my passport information from a personal database and applies to VISA for a country I am travelling to:

# Initialize components
email_memory = MemoryClass(desc="Gmail flight information via Vector DB") # defined in Memory folder
personal_vault = MemoryClass(desc="Personal documents storage") # defined in Memory folder 
browser_interface = Interface("BrowserAutomation") # Similar to Importing a gem 
visa_verifier = Verifier("travel_document_validator") # defined in travel_document_validator.py
country_verifier = Verifier("country_verifier") # Verify LLM response 

# Agent workflow
def travel_visa_agent():
    # 1. Fetch flight information
    flights = email_memory.lookup("recent flight tickets")
    destination_country = email_memory.lookup(flights + " countries as an Indian I need visa to and can be given online")

    # 2. Verify the destination country obtained is correct from the email. 
    can_proceed, destination_country = country_verifier.verify("check if it is valid country, just return the country name, indian citizens require a visa and visa can be obtained online")
    if !can_proceed:
        return

    # 3. Retrieve passport details
    passport_info = personal_vault.lookup("passport document current")

    # 4. Verify eligibility
    can_proceed, sanitized_data = visa_verifier.verify(
        f"visa application for {destination_country}", 
        context={"flights": flights, "passport": passport_info}
    )

    if !can_proceed:
        return

    # 5. Interface with visa portal
    browser_interface.start()
    browser_interface.navigate("visa-portal.gov")
    browser_interface.fill_form(passport_info, flights)
    browser_interface.submit()

    return "Visa application submitted successfully"

Friday, December 27, 2024

What does post AGI world looks like and how to prepare for it?

 The LLM models are seemingly extremely good at making making decisions and doing the soft tasks, now that with down the road integrated with hardwares and robots would result in a lot of current human tasks being done by machines. So what do I think are going to be big themes of next few decades?

•⁠  ⁠Ideas that help unite people around common theme. Humans have had innate need to organise themeselves to accomplish complex and great ideas. If these ideas are decentralised then it does not need a central identity (like companies or nations) but decentralised communities (like religions and online forums/telegram groups). These communities will be driven by arts - memes, music, comedy, roasts and short form videos. So creativity and connecting with audience will still be important, the tools for the same could very well be driven by AI software and tools. These will lead to parallel economies which governments will definitely come for. Best way to prepare for it will be trying to build an audience organically by creating content (with or without AI). 

•⁠  ⁠⁠Deep research and experimentation will gain more prominence. Master of one should pursue research. 
If you are someone who has gained tremendous specialization in a specific field then try to be more creative and come up with original ideas that you wish to pursue. 

•⁠  ⁠⁠Experiences and anything to do with energy, travel and community will be big, so it translates to pure science, experiences and building audiences(communication)

•⁠  ⁠⁠every industry will have human conformism to take accountability and responsibility, this will be given to jack of all trades. Thus taking accountability for AI’s actions will be a major theme.

Monday, September 30, 2024

Bitcoin, Hinduism and Armies

Book titled - Bitcoin, Hinduism and Armies  

Chapter 1 - Temple Economies 

Chapter 2 - AI, Not one God but Many? 

Chapter 3 - 195 countries, 195 constitutions, 195 religions? 

Chapter 4 - By Guns, not by Choice 

Chapter 5 - Palestine, Ethereum and Ayodhya  

Chapter 6 - Vidhi se hi Vidhaan hai  

Chapter 7. - Bright and not so Bright Future

Chapter 8. - Data Religions