DEV Community

Michael Flanagan
Michael Flanagan

Posted on • Edited on

My AI Adventure Begins

🚀 Starting an AI Journey

AI is everywhere these days—🤖 LLMs, 🕵️‍♂️ agents, and beyond. I'm adding my own contribution to that 🌊 wave by starting this project blog. On the flip side, this project is an opportunity to embark on a learning journey—exploring how AI can help solve my personal challenges, from managing ✨ creative projects to organizing everyday 📋 information.

The biggest challenge is figuring out which problems in my life these solutions might address. To that end, I turned to my 🎨 hobbies and discovered a common theme across all of them—something that I could leverage the AI 💥 to help solve.

Whether it’s recording 📚 learnings from books and blogs, managing and sharing 🍲 recipes, or organizing 📖 narratives and notes for the tabletop games I run with friends, they all share a common need. Each requires a way to submit data with minimal structure, tag it contextually, and easily review, ✏️ edit, and aggregate that data.

This intersection of ⚙️ technology and everyday creativity is what excites me most. In the coming posts, I’ll explore how 🤖 LLMs and automated agents can help manage and elevate these processes, turning abstract capabilities into practical 🛠️ solutions.

⚔️ Challenges in Managing Creative Complexity

Running 🎲 tabletop games is a complex endeavor, especially when managing multiple games across different settings, each with its own set of evolving narratives, affected entities, and ongoing events. There are so many moving parts—characters with rich backstories, interlinked events, places with history—that the potential for losing or misplacing important details is high. Even with a solid ✍️ note-keeping system, it can feel overwhelming, and critical information can easily fall through the cracks.

This complexity, though challenging, is precisely what excites me and presents a significant opportunity for leveraging 🤖 AI. The more dynamic and intertwined these games get, the more potential there is for automated processes to streamline note-taking, identify 🔗 connections, and keep track of the myriad of details that otherwise could be lost or forgotten. Imagine having an 🤖 AI agent that not only keeps track of every NPC's motivations but also suggests new story twists based on past events. Each time I submit a new event, I get a glimpse into how it might affect planning and play workflows down the road.

While the primary focus is on narrative 🎲 tabletop games, the approach I'm building should be extensible to almost any agent-driven 🤖 LLM content management platform. Beyond games, I anticipate using this system for managing project and meeting notes, providing structure and context to different types of content, making the platform adaptable for broader use cases.

And, in a fun twist of going full 🔄 ouroboros, I’ll likely use this very platform to manage the project's own organization as it evolves.

🛠️ Making the Vision a Reality

The project has several key components that I'll dive into as we move forward. Each of these components plays a crucial role in building a system that can help manage creative and narrative-driven tasks effectively:

☁️ Serverless Architecture and AWS Services: Leveraging AWS for infrastructure and deployment is at the heart of this project. A "serverless first" approach means we can minimize maintenance, easily scale, and tap into the rich ecosystem that AWS offers. This provides the stable, reliable backbone needed for all other components to work effectively.

🤖 AI-Powered Agents: These agents are the core of the project. An AI agent, in this context, is a software program capable of interacting with its environment, collecting data, and using it to perform tasks aimed at achieving specific goals (AWS definition). While these agents hold great promise for managing complex tasks—such as tracking characters, plot twists, and evolving narratives—I remain skeptical about relying on them for key functions until their reliability is fully validated.

🐝 Agent Orchestration / Swarms: Beyond single agents, orchestration is a powerful concept. By coordinating multiple agents working towards a common goal, we can tackle larger, more dynamic problems in a distributed way. This approach is like having a "swarm" of helpers, each specializing in a different aspect of the narrative or data management, making the system more resilient and effective.

🛠️ Tool Use / Function Calling Framework: Agents should not just provide information; they need to act meaningfully within the system. This means being able to call external tools, invoke APIs, and interact with various parts of the platform to achieve their goals. This function-calling framework will enhance the practical utility of 🤖 AI agents by allowing them to be proactive contributors, not just passive assistants.

🏗️ Laying the Foundation

To get things moving, I'm starting by laying the groundwork—defining the entities and their basic actions. These entities will be the core building blocks, each with its own purpose and properties, and establishing those will give me a foundation to build on. The initial focus will also be on getting basic entity actions in place, creating the essential CRUD operations that will let me interact with and manipulate these entities in meaningful ways.

Initially, I'll be working with agents sequentially. This means one action at a time—no complex handoffs, no many-to-many agent relationships, and no intricate graph-like dependencies. I want to understand the flow deeply before trying to orchestrate more complex behaviors. There's something valuable about that simplicity: it forces you to consider every step, every action, and how one thing leads into the next.

It's worth mentioning that there are already frameworks designed to make this kind of orchestration much easier. Langchain and Langgraph come to mind, both of which are fantastic for streamlining agent interactions and orchestration. Recently, I also came across an educational framework from OpenAI around swarm orchestration that was a big inspiration for kicking off this project (OpenAI Swarm). But, to be honest, I want to be in the weeds. I want to feel the mistakes and learn from them firsthand. With 🤖 AI tooling becoming more commonplace, I think the "under the hood" knowledge might become harder to acquire if we always rely on ready-made solutions. So, I’m diving in headfirst, hoping that my path will be full of lessons—mistakes and all—that will make this journey interesting and engaging.

📅 What to Expect Moving Forward

In the upcoming posts, I'll dive deeper into specific components of the project, explore the challenges I encounter, and share the lessons I learn along the way. This series is going to be an evolving journey, and I’d love for you to follow along as things progress. Feel free to comment with your own experiences or share your thoughts on how these ideas might apply to your projects. I want to invite you to be part of this exploration—engage, provide feedback, and share your thoughts. Let's make this an engaging, shared experience!

"The world reveals itself to those who travel by foot" - Werner Herzog

Top comments (0)