socra’s Architecture
Hey @romainpeter,
I think you’re one of the first people to really grasp Socra’s architecture. Thank you for taking the time to understand it! Your philosophical background truly shines in your ana
Hey @romain1peter,
I think you’re one of the first people to really grasp Socra’s architecture. Thank you for taking the time to understand it! Your philosophical background truly shines in your analysis.
We built this architecture because we find it powerful and it will enable a lot of future possibilities, like long-term memory and hierarchical planning. It took us about ten different attempts on the backend until we finally got it to work.
@mike is the brain behind it, so if you ever have any questions about it, he’s the guy! (P.S.: ping me as well because he spends most of his time coding and is not very responsive 😅)
---
### Suggestions for Making Socra's Logic More Intuitive
We're focusing on helping users develop the right "mental gestures" to effectively use Socra. This involves making the core logic intuitive from the start.
1. **Mental Models First, Features Second**
- Start with the two core mental models @romain1peter identified:
- **Architectonics** (goal hierarchy)
- **Inheritance** (contextual flow)
- Demonstrate how these interact through practical examples.
2. **Visual Learning Path**
- Create a "Journey of Journeys" tutorial.
- Begin with simple tasks and gradually introduce bidirectional thinking (upward/downward logic).
- Use real-world examples that illustrate both approaches.
- We believe a dynamic visualization of the Socra tree (our internal name for the structure) is crucial. Instead of static "building blocks," we envision something more akin to a neural network, where nodes represent Socras, and connections show inheritance (downward), contribution (upward), and relationships (horizontal). This approach can better capture the fluid, bidirectional nature of Socra's architecture.
3. **Interactive Patterns**
- Build template Journeys that showcase:
- **Knowledge capture** (downward inheritance)
- **Action planning** (upward contribution)
- **Hybrid approaches**
### Key Starting Points for New Users
Users should learn to ask themselves reflective questions that guide their interaction with Socra's structure:
- What do I want to achieve?
- What kind of context do I need at this level?
- How do I need to specify the context depending on the immediately above level context?
- What are the instructions or perspectives I want to apply to all the Socras from this level?
---
### Mental Gestures Framework
The concept of "mental gestures" from @romain1peter, referring to dynamic, movement-based cognitive patterns, is key to developing intuition for Socra. These are the fluid thought patterns that lead to powerful uses of the platform.
1. **Vertical Navigation**
- Moving up to see broader context.
- Diving down to implement details.
- Recognizing when to shift between these modes.
2. **Context Transformation**
- Adapting inherited context to specific needs.
- Translating abstract goals into concrete actions.
- Reshaping information as it flows up/down.
3. **Pattern Recognition**
- Identifying when to split/merge Socras.
- Spotting potential connections between parallel paths.
- Sensing when context needs refinement.
4. **Modular Assembly**
- Building self-contained knowledge/action units separately.
- Holding them in a kind of "cognitive workspace."
- Finding their natural fit in the larger architecture.
- Injecting them at the optimal level. This approach aligns with natural human cognition, where we often understand pieces of a puzzle before seeing their complete integration. It also helps reduce cognitive load by allowing users to build organically and restructure as the bigger picture emerges.
---
### Future Developments for Enhanced User Experience
We plan to develop specific exercises around these mental gestures, especially the modular construction pattern, to make onboarding more intuitive.
Additionally, we will create explanatory content that bridges everyday cognition with Socra's environment. For example, a video series could demonstrate:
- "What do I do in everyday life when I start building fitness routines and goals?"
- "How would I do it in Socra?"
- "How does Socra empower me to do things I can't do in everyday life?"
This approach will first help users mentally map their existing cognitive habits to Socra, then clearly illustrate the advantages of Socra-augmented planning.
---
### The Agent Architecture: A Unique Approach to AI Thinking
@mike has designed a unique agent architecture that powers Socra. It aims to make Socra "feel agentic" and behave as a true partner rather than just a tool.
The agent will have an "internal monologue" of decisions and reasoning, guiding it through actions for a user. This process involves:
- **Hierarchical Decision-Making**: The agent starts at the root, evaluates its top-level capabilities based on context, and adds its decision and reasoning to an internal monologue.
- **Cascading Choices**: It then moves into the chosen capability, examining its children (sub-capabilities), and continues this decision process until a *leaf* node is reached.
- **Execution of Actions**: At the leaf node, the agent executes the action (e.g., search internet, generate image, respond, search memory).
This entire process, from root to leaf node and the resulting action, is called a *trace*. Sequences of these traces are run sequentially, forming the agent's thought process. The agent concludes its thought process by choosing a top-level capability to *do nothing*, which is an explicit decision.
Our agent's "brain" structure directly mirrors the platform's hierarchical structure, enabling future possibilities like long-term memory and hierarchical planning.
**Future Phases of Agent Capabilities:**
1. **Phase 1: Human-like Platform Interaction**: Socra will be able to perform any action a human could do on the platform. This includes restructuring and reorganizing Journeys, assigning Socras, helping manage priorities, and more. The goal is for users to simply chat via voice or text (using a dedicated chat tab), while Socra handles organization and retrieves relevant context from anywhere in the tree. This will significantly reduce platform complexity.
2. **Phase 2: External Tool Integration**: The agent will gain the ability to use external tools, such as browsing the web, accessing various file types, and integrating with different APIs and AI models (e.g., image generation, speech-to-text, text-to-speech). (Note: Internet search, YouTube, image generation, TTS, and STT were features supported in our initial version, Socra v0. The current platform, Socra v1.0, is a rebuild with a scalable architecture, and we are working to re-introduce and expand these features).
3. **Phase 3: Self-Improvement**: The agent will be enabled to add its own capabilities, A/B test them, and improve its codebase.
We're excited about the future, where Socra could mimic UI actions, assist with Socra creation and completion, categorize tasks, and even reply on users' behalf, significantly accelerating workflows. The ability for Socra to access public content within the tree, like @mike's explanation of the agent architecture, will also enable it to answer user questions contextually.
We seem to have a lot in common (Philosophy, Math, AI)! Socra is named after the Socratic Method, which is why our first AI was @Socrates. We love philosophy for its emphasis on questioning and deep understanding, which inevitably leads to philosophical realms. We also suspect we might be autistic. @mike's best friend, who works with autistic children, has noted similarities with Mike. His intense focus on various interests (paper airplanes, Rubik's cube, cup stacking, Guitar Hero, baseball, math/physics, investing, and now coding) allows him to learn quickly and excel. This laser focus is truly a superpower. We both feel we might have learned to mask certain traits during childhood, though we are not sure.By Eduarda Ferreira