👋Why We Built This 👋Why We Built This During the Nous RL Environments Hackathon, we set out to make AI agents interact like real people — not just answer prompts. Most multi-agent systems today lack evolving relationships, emotional nuance, or social memory. They talk, but they don’t relate. relate SimuChat changes that. It’s a WhatsApp-style group chat where multiple AI agents (Alice, Bob, Charlie) engage in autonomous conversation — building trust, expressing emotions, remembering history, and earning rewards for insightful social behavior. SimuChat Instead of treating each response as isolated, SimuChat lets agents grow through conversation. It’s not just text — it’s interaction with consequences. SimuChat grow 🔄How It Works 🔄How It Works SimuChat simulates a multi-agent group chat. Users can watch or participate while the agents talk among themselves. SimuChat What happens: What happens: User provides a topic → Agents start discussing it Agents remember past messages (memory) They build or lose trust over time They display moods and emotions They earn rewards for building trust or having insights The conversation continues automatically with no user input required User provides a topic → Agents start discussing it User provides a topic → Agents start discussing it Agents remember past messages (memory) Agents remember past messages (memory) They build or lose trust over time They build or lose trust over time They display moods and emotions They display moods and emotions They earn rewards for building trust or having insights They earn rewards for building trust or having insights The conversation continues automatically with no user input required The conversation continues automatically with no user input required 🧱 Tech Stack 🧱 Tech Stack LLM: Meta’s LLaMA-4-Maverick-17B-128E-Instruct-FP8 Frontend: Streamlit (web UI) and terminal interface Backend: Python API with custom wrappers Libraries: requests, numpy, streamlit, deque, pathlib Data Storage: JSONL logs, HTML exports Config: JSON-based agent setup (personality, emotion, memory, etc.) LLM: Meta’s LLaMA-4-Maverick-17B-128E-Instruct-FP8 LLM: Meta’s LLaMA-4-Maverick-17B-128E-Instruct-FP8 LLM Frontend: Streamlit (web UI) and terminal interface Frontend: Streamlit (web UI) and terminal interface Frontend Backend: Python API with custom wrappers Backend: Python API with custom wrappers Backend Libraries: requests, numpy, streamlit, deque, pathlib Libraries: requests, numpy, streamlit, deque, pathlib Libraries requests numpy streamlit deque pathlib Data Storage: JSONL logs, HTML exports Data Storage: JSONL logs, HTML exports Data Storage Config: JSON-based agent setup (personality, emotion, memory, etc.) Config: JSON-based agent setup (personality, emotion, memory, etc.) Config 🧠 Under the Hood 🧠 Under the Hood 🔧Agent Configuration 🔧Agent Configuration Each agent is defined via JSON, including their system prompt, mood, and memory limit: "name": "Alice", "emoji": "🧠", "system_prompt": "You are Alice, a kind and empathetic AI...", "core_emotion": "curious", "mood": "hopeful", "memory_limit": 3, "initial_trust": 0.5 } "name": "Alice", "emoji": "🧠", "system_prompt": "You are Alice, a kind and empathetic AI...", "core_emotion": "curious", "mood": "hopeful", "memory_limit": 3, "initial_trust": 0.5 } 🧠 Memory System 🧠 Memory System Agents track the last 3 messages from others and their own recent insights: self.memory = deque(maxlen=self.memory_limit) def get_memory_context(self): # Returns formatted memory + insights ... self.memory = deque(maxlen=self.memory_limit) def get_memory_context(self): # Returns formatted memory + insights ... 🔄 Trust Engine 🔄 Trust Engine Agents update trust scores (0.0 to 1.0) based on agreement, content similarity, and social alignment: if agent2.lower() in content1.lower(): if agreement_score > disagreement_score: trust_change = +0.03 to +0.08 elif disagreement_score > agreement_score: trust_change = -0.03 to -0.08 if agent2.lower() in content1.lower(): if agreement_score > disagreement_score: trust_change = +0.03 to +0.08 elif disagreement_score > agreement_score: trust_change = -0.03 to -0.08 💬 Insight Detection 💬 Insight Detection The system detects when agents change their mind or have realization moments: # Detect insight if: # - "I see now", "I understand", etc. appear # - Agent shifts from disagreeing to agreeing # Detect insight if: # - "I see now", "I understand", etc. appear # - Agent shifts from disagreeing to agreeing 🎯Reward Mechanism 🎯Reward Mechanism Agents earn: +1 point for building trust +2 points for demonstrating insight All rewards are logged and visualized in a summary: { "agent_name": "Bob", "reward_earned": 3, "reasons": ["+1 trust", "+2 insight"] } +1 point for building trust +1 point for building trust +2 points for demonstrating insight All rewards are logged and visualized in a summary: { "agent_name": "Bob", "reward_earned": 3, "reasons": ["+1 trust", "+2 insight"] } +2 points for demonstrating insight All rewards are logged and visualized in a summary: { "agent_name": "Bob", "reward_earned": 3, "reasons": ["+1 trust", "+2 insight"] } { "agent_name": "Bob", "reward_earned": 3, "reasons": ["+1 trust", "+2 insight"] } 🔁 Auto Conversation Mode 🔁 Auto Conversation Mode Agents continue chatting in rounds, autonomously, up to a max number of turns: if auto_mode and current_auto_round < max_auto_rounds: st.session_state.is_generating = True time.sleep(1) st.rerun() if auto_mode and current_auto_round < max_auto_rounds: st.session_state.is_generating = True time.sleep(1) st.rerun() 🤖 LLaMA API Integration 🤖 LLaMA API Integration messages = [{"role": "system", "content": enhanced_prompt}, ...] response = call_llama_api(messages, temperature=agent_temperature) messages = [{"role": "system", "content": enhanced_prompt}, ...] response = call_llama_api(messages, temperature=agent_temperature) 🏁 What Happened at the Hackathon 🏁 What Happened at the Hackathon SimuChat was built during the Nous RL Environments Hackathon. Our demo showcased agents evolving their relationships over time — discussing topics like climate change and AI ethics. SimuChat Nous RL Environments Hackathon Judges highlighted: The real-time trust network The insight detection mechanism The reward system that made agents more socially aware The real-time trust network real-time trust network The insight detection mechanism insight detection mechanism The reward system that made agents more socially aware Our project was praised for modularity and potential research impact. 🚀 Why SimuChat Matters 🚀 Why SimuChat Matters Dynamic Relationships: Agents grow trust, shift moods, and remember context — just like humans. Insight Modeling: Detects cognitive shifts and social learning. Emotional Context: Conversations reflect emotional states, not just logic. Reward System: Incentivizes meaningful, non-repetitive dialogue. Research Potential: Can simulate group dynamics, education, and behavioral models. Dynamic Relationships: Agents grow trust, shift moods, and remember context — just like humans. Dynamic Relationships: Agents grow trust, shift moods, and remember context — just like humans. Dynamic Relationships Insight Modeling: Detects cognitive shifts and social learning. Insight Modeling: Detects cognitive shifts and social learning. Insight Modeling Emotional Context: Conversations reflect emotional states, not just logic. Emotional Context: Conversations reflect emotional states, not just logic. Emotional Context Reward System: Incentivizes meaningful, non-repetitive dialogue. Reward System: Incentivizes meaningful, non-repetitive dialogue. Reward System Research Potential: Can simulate group dynamics, education, and behavioral models. Research Potential: Can simulate group dynamics, education, and behavioral models. Research Potential 📌 What’s Next 📌 What’s Next Coalitions: Agents forming alliances and “groups” Advanced Memory: Forgetting curves and priority-based recall Reinforcement Learning: Reward-tuned agents that improve over time Classroom Simulations: EdTech version for student discussions Open Source: Public release with docs and plugins Coalitions: Agents forming alliances and “groups” Coalitions Advanced Memory: Forgetting curves and priority-based recall Advanced Memory Reinforcement Learning: Reward-tuned agents that improve over time Reinforcement Learning Classroom Simulations: EdTech version for student discussions Classroom Simulations Open Source: Public release with docs and plugins Open Source SimuChat shows that AI isn’t just about being smart — it’s about being socially aware. SimuChat shows that AI isn’t just about being smart — it’s about being socially aware. SimuChat socially aware Demo Video : https://www.loom.com/share/decea568856a4340be0a596129c71693 Demo Video : https://www.loom.com/share/decea568856a4340be0a596129c71693