I'm a 17yo student from Taiwan. I was having a hard time with my multi-agent project, so I was like, what about we make LLM do whatever it wants instead? Maybe even self-evolve?
So I built Atlas – an attempt to engineer a "digital organism" using Control Theory and Cognitive Science principles.
The Core Architecture (How it works):
1. Adaptive Homeostasis (The Endocrine System) Instead of infinite loops, Atlas is driven by internal variables: Fatigue, Curiosity, Anxiety, and Satisfaction.
Implementation: I implemented a feedback loop where parameters self-adjust based on history.
Mechanism: High Fatigue actively inhibits Curiosity rewards (diminishing returns). If the agent repeats the same action (e.g., read_file), the reward decays logarithmically, forcing it to seek novelty.
Code ref: cognition/homeostasis.py in the repo.
2. Dreaming & Memory Consolidation (The Hippocampus) To solve the context window limit without losing "self", I implemented a sleep cycle.
Trigger: When Fatigue > 0.85, the main loop pauses (Dreaming state).
Process: It retrieves recent high-importance vectors from ChromaDB (Episodic Memory), uses the LLM to synthesize them into abstract rules/insights, and stores them into a JSON-based Semantic Memory.
This effectively compresses "what happened" into "what I learned".
3. The Body (Visual Browser) BTW, I also wrote a Playwright-based visual browser using Set-of-Mark (SoM) prompting. I decoupled this as a standalone MCP (Model Context Protocol) server so anyone can plug it into Claude/other agents.
Repo for the browser tool: atlas-browser-mcp on PyPI/GitHub.
Why I built this: I want to move away from "Chain of Thought" towards "Chain of Being". The goal is an agent that exists and evolves even when no user is prompting it.
The code is fully async (Python asyncio) and currently uses Gemini 2.0 Flash for vision/speed, though the architecture is model-agnostic.
I'd love to hear your thoughts on the Homeostasis implementation – specifically how to prevent parameter drift over long uptimes.
If you want to get a better understanding about Atlas, check: "https://deepwiki.com/LingTravel/Atlas". While some information might be wrong, it's a quicker way to get a comprehensive understanding about Atlas' structure.
Hi HN,
I'm a 17yo student from Taiwan. I was having a hard time with my multi-agent project, so I was like, what about we make LLM do whatever it wants instead? Maybe even self-evolve?
So I built Atlas – an attempt to engineer a "digital organism" using Control Theory and Cognitive Science principles.
The Core Architecture (How it works):
1. Adaptive Homeostasis (The Endocrine System) Instead of infinite loops, Atlas is driven by internal variables: Fatigue, Curiosity, Anxiety, and Satisfaction.
Implementation: I implemented a feedback loop where parameters self-adjust based on history.
Mechanism: High Fatigue actively inhibits Curiosity rewards (diminishing returns). If the agent repeats the same action (e.g., read_file), the reward decays logarithmically, forcing it to seek novelty.
Code ref: cognition/homeostasis.py in the repo.
2. Dreaming & Memory Consolidation (The Hippocampus) To solve the context window limit without losing "self", I implemented a sleep cycle.
Trigger: When Fatigue > 0.85, the main loop pauses (Dreaming state).
Process: It retrieves recent high-importance vectors from ChromaDB (Episodic Memory), uses the LLM to synthesize them into abstract rules/insights, and stores them into a JSON-based Semantic Memory.
This effectively compresses "what happened" into "what I learned".
3. The Body (Visual Browser) BTW, I also wrote a Playwright-based visual browser using Set-of-Mark (SoM) prompting. I decoupled this as a standalone MCP (Model Context Protocol) server so anyone can plug it into Claude/other agents.
Repo for the browser tool: atlas-browser-mcp on PyPI/GitHub.
Why I built this: I want to move away from "Chain of Thought" towards "Chain of Being". The goal is an agent that exists and evolves even when no user is prompting it.
The code is fully async (Python asyncio) and currently uses Gemini 2.0 Flash for vision/speed, though the architecture is model-agnostic.
I'd love to hear your thoughts on the Homeostasis implementation – specifically how to prevent parameter drift over long uptimes.
If you want to get a better understanding about Atlas, check: "https://deepwiki.com/LingTravel/Atlas". While some information might be wrong, it's a quicker way to get a comprehensive understanding about Atlas' structure.