<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: PHUC NGUYEN</title>
    <description>The latest articles on DEV Community by PHUC NGUYEN (@phucnt).</description>
    <link>https://dev.to/phucnt</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3435017%2F04dd028a-ae83-4f15-9731-ff233958a4a7.png</url>
      <title>DEV Community: PHUC NGUYEN</title>
      <link>https://dev.to/phucnt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/phucnt"/>
    <language>en</language>
    <item>
      <title>Kioku: Why I built a Knowledge Graph memory engine for my AI agents</title>
      <dc:creator>PHUC NGUYEN</dc:creator>
      <pubDate>Mon, 02 Mar 2026 16:06:45 +0000</pubDate>
      <link>https://dev.to/phucnt/kioku-why-i-built-a-knowledge-graph-memory-engine-for-my-ai-agents-da7</link>
      <guid>https://dev.to/phucnt/kioku-why-i-built-a-knowledge-graph-memory-engine-for-my-ai-agents-da7</guid>
      <description>&lt;p&gt;Hey builders and open-source community!&lt;/p&gt;

&lt;p&gt;Today I want to share a side-project I've been building to solve a very personal pain point that I believe many of you also face: &lt;strong&gt;How do you give AI a real "long-term memory" that understands emotions and causal relationships?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's why &lt;strong&gt;Kioku&lt;/strong&gt; was born. &lt;em&gt;Kioku&lt;/em&gt; (記憶) means "memory" in Japanese — 記 (ki) to record, 憶 (oku) to remember. It's an ultra-lightweight Personal Memory Engine, runs entirely local, designed specifically for AI Agents.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb56fng1xm9udhqndhmi1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb56fng1xm9udhqndhmi1.png" alt="Kioku Home" width="800" height="358"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The origin: A journal-writer's frustration
&lt;/h2&gt;

&lt;p&gt;I'm someone who journals daily. I like to self-reflect and look back at past events. In the age of AI, I've tried many tools and chatbots for this, but the results were always disappointing.&lt;/p&gt;

&lt;p&gt;The core problem: &lt;strong&gt;No tool truly solves the challenge of storing, analyzing emotions, and understanding causal relationships between actions.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Popular agents today (even the big names) have "long-term memory" features, but they essentially just store flat text or vectors stuffed into a context window. When you ask &lt;em&gt;"Why was I stressed about project X last month?"&lt;/em&gt;, the system gets confused because it can't connect event A (argument with boss) leading to emotion B (stress) and decision C (switching projects). It lacks &lt;strong&gt;connection&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The solution: An open memory engine for any agent
&lt;/h2&gt;

&lt;p&gt;As a daily user of AI tools, especially coding agents (Claude Code, Windsurf, Cursor), I realized: Instead of building a new bot from scratch, why not create an independent &lt;em&gt;memory organ&lt;/em&gt; that plugs into our favorite agents?&lt;/p&gt;

&lt;p&gt;The goal was to make it &lt;strong&gt;compatible with as many agents as possible&lt;/strong&gt;. That's why for the lite version (kioku-lite), I chose an architecture based on &lt;strong&gt;CLI&lt;/strong&gt; and &lt;strong&gt;SKILLS files&lt;/strong&gt; (specifically the &lt;code&gt;AGENTS.md&lt;/code&gt; &amp;amp; &lt;code&gt;SKILL.md&lt;/code&gt; format popular among CLI agents today). With just a few commands, any agent can learn to read/write memories.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture overview: Write, search, and comparison
&lt;/h2&gt;

&lt;p&gt;Kioku Lite uses a &lt;strong&gt;Tri-hybrid&lt;/strong&gt; search mechanism running 100% on SQLite:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;BM25 (FTS5):&lt;/strong&gt; Exact keyword search.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vector (sqlite-vec + FastEmbed ONNX):&lt;/strong&gt; Semantic search (runs local, no API needed).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge Graph (GraphStore):&lt;/strong&gt; Entity graph with causal relationships.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here's the system overview:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flld5avk1ri2icbvvm34g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flld5avk1ri2icbvvm34g.png" alt="System overview" width="800" height="1213"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The protocol has 2 main phases, orchestrated by the agent:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Write phase
&lt;/h3&gt;

&lt;p&gt;When a new event occurs: The agent saves text (&lt;code&gt;save&lt;/code&gt;) then autonomously extracts entities/relationships and indexes them into the Graph (&lt;code&gt;kg-index&lt;/code&gt;). Everything runs locally, no hidden LLM calls.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Search phase
&lt;/h3&gt;

&lt;p&gt;When context is needed: The agent calls &lt;code&gt;search&lt;/code&gt;. Results go through 3 separate pipelines and are fused via RRF (Reciprocal Rank Fusion):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75n15ugu2qu6mteprw5d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75n15ugu2qu6mteprw5d.png" alt="Search flow" width="800" height="977"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Memory model comparison
&lt;/h3&gt;

&lt;p&gt;How does Kioku Lite compare to familiar systems?&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;System&lt;/th&gt;
&lt;th&gt;Memory Model&lt;/th&gt;
&lt;th&gt;Persistence&lt;/th&gt;
&lt;th&gt;Search&lt;/th&gt;
&lt;th&gt;Knowledge Graph&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Claude Code&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Flat markdown files&lt;/td&gt;
&lt;td&gt;Session-scoped + &lt;code&gt;CLAUDE.md&lt;/code&gt; / &lt;code&gt;MEMORY.md&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;None (context window only)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;OpenClaw&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SQLite chunks + embeddings&lt;/td&gt;
&lt;td&gt;Per-agent SQLite database&lt;/td&gt;
&lt;td&gt;Semantic (embedding-based)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Kioku Lite&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SQLite + Markdown + KG&lt;/td&gt;
&lt;td&gt;Per-profile isolated stores&lt;/td&gt;
&lt;td&gt;Tri-hybrid (BM25 + vector + KG)&lt;/td&gt;
&lt;td&gt;Yes (Agent-driven)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;(Deep dive: &lt;a href="https://phuc-nt.github.io/kioku-lite-landing/blog.html#system-architecture" rel="noopener noreferrer"&gt;System Architecture&lt;/a&gt; | &lt;a href="https://phuc-nt.github.io/kioku-lite-landing/blog.html#write-save-kg-index" rel="noopener noreferrer"&gt;Write Pipeline&lt;/a&gt; | &lt;a href="https://phuc-nt.github.io/kioku-lite-landing/blog.html#search-architecture" rel="noopener noreferrer"&gt;Search Architecture&lt;/a&gt; | &lt;a href="https://phuc-nt.github.io/kioku-lite-landing/blog.html#memory-comparison" rel="noopener noreferrer"&gt;Memory Comparison&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Knowledge Graph (KG): The key to flexibility
&lt;/h2&gt;

&lt;p&gt;Another strength of Kioku Lite is the &lt;strong&gt;Open Schema&lt;/strong&gt; for its Knowledge Graph. Entity types (&lt;code&gt;entity_type&lt;/code&gt;) and relationship types (&lt;code&gt;rel_type&lt;/code&gt;) are flexible strings, not locked into fixed enums.&lt;/p&gt;

&lt;p&gt;Kioku-lite ships with &lt;strong&gt;2 built-in personas&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Companion&lt;/strong&gt;: Agent extracts &lt;code&gt;EMOTION&lt;/code&gt;, &lt;code&gt;LIFE_EVENT&lt;/code&gt; nodes linked by &lt;code&gt;TRIGGERED_BY&lt;/code&gt;. Ideal for journaling and emotion tracking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mentor&lt;/strong&gt;: Agent extracts &lt;code&gt;DECISION&lt;/code&gt;, &lt;code&gt;LESSON&lt;/code&gt; nodes linked by &lt;code&gt;LED_TO&lt;/code&gt;. Ideal for self-reflection and learning from experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also ask your agent to configure entirely new personas for any domain you need, such as HR management, product management, or any other field where you want your agent to remember things in a specific way.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Schema details: &lt;a href="https://phuc-nt.github.io/kioku-lite-landing/blog.html#kg-open-schema" rel="noopener noreferrer"&gt;KG Open Schema&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup in one copy-paste
&lt;/h2&gt;

&lt;p&gt;Two setup guides are ready for the 2 agent types I use daily:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://phuc-nt.github.io/kioku-lite-landing/agent-setup.html" rel="noopener noreferrer"&gt;General Agent Setup (Claude Code, Cursor, Windsurf)&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://phuc-nt.github.io/kioku-lite-landing/openclaw-setup.html" rel="noopener noreferrer"&gt;OpenClaw Agent Setup&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Just copy the relevant guide and paste it to your agent. It will auto-run setup, configure identity, and connect to the memory engine on your machine.&lt;/p&gt;

&lt;p&gt;Full details at &lt;a href="https://phuc-nt.github.io/kioku-lite-landing/" rel="noopener noreferrer"&gt;Kioku Lite Homepage&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kioku Lite vs Kioku Full
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;kioku-lite&lt;/strong&gt; ships first, targeting Personal Users. Setup is fast via &lt;code&gt;pipx&lt;/code&gt;, no Docker, no API keys, no external databases like ChromaDB/FalkorDB. Runs silently in the background on your personal machine.&lt;/p&gt;

&lt;p&gt;Meanwhile, &lt;strong&gt;kioku-full&lt;/strong&gt; with dedicated graph and vector databases, multi-tenant Enterprise support, is still under active development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing
&lt;/h2&gt;

&lt;p&gt;If you're a builder, an open-source enthusiast, and especially if you're still looking for a "long-term memory" solution that helps AI understand emotions and causality like a real companion, give &lt;strong&gt;Kioku Lite&lt;/strong&gt; a try.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Homepage: &lt;strong&gt;&lt;a href="https://phuc-nt.github.io/kioku-lite-landing/" rel="noopener noreferrer"&gt;phuc-nt.github.io/kioku-lite-landing&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;strong&gt;&lt;a href="https://github.com/phuc-nt/kioku-agent-kit-lite" rel="noopener noreferrer"&gt;github.com/phuc-nt/kioku-agent-kit-lite&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your feedback and support at this stage means the world. Try it out, share it with anyone who needs it, or simply drop a Star on the repo!&lt;/p&gt;

&lt;p&gt;Thanks for reading! Happy coding and looking forward to your feedback!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Context Engineering: From Vibe Coder to AI Orchestrator</title>
      <dc:creator>PHUC NGUYEN</dc:creator>
      <pubDate>Mon, 08 Sep 2025 16:09:22 +0000</pubDate>
      <link>https://dev.to/phucnt/context-engineering-from-vibe-coder-to-ai-orchestrator-3g38</link>
      <guid>https://dev.to/phucnt/context-engineering-from-vibe-coder-to-ai-orchestrator-3g38</guid>
      <description>&lt;h2&gt;
  
  
  Context Engineering
&lt;/h2&gt;

&lt;p&gt;In my previous post about &lt;strong&gt;"&lt;a href="https://dev.to/phucnt/from-vibe-coding-to-professional-ai-powered-development-a-practical-handbook-mlp"&gt;AI Coding: From Vibe Coding to Professional&lt;/a&gt;"&lt;/strong&gt;, I mentioned &lt;strong&gt;Context Management&lt;/strong&gt; as Best Practice #6 in the journey to become an AI Orchestrator. But that was just the overview – a high-level view of the importance of context management.&lt;/p&gt;

&lt;p&gt;Today's post will dive deep into this topic. I'll share a &lt;strong&gt;specific, immediately applicable framework&lt;/strong&gt; so you can truly master Context Engineering – the art of building a "collective brain" for AI.&lt;/p&gt;

&lt;p&gt;Context Engineering isn't just about providing information to AI. It's a systematic approach to building an environment where AI always receives the right information, at the right time, to complete tasks most effectively. Imagine: instead of having to "brief" AI from scratch each time, you create a system where AI automatically knows what to do, following which process, and to what standards.&lt;/p&gt;

&lt;p&gt;This is precisely the difference between "going with the flow with AI" and "orchestrating AI" – between Vibe Coder and AI Orchestrator.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm14i68ei6l8byj0yftz5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm14i68ei6l8byj0yftz5.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This framework isn't a silver bullet for every type of project, but it's been tested by me on several &lt;strong&gt;"&lt;a href="https://github.com/search?q=owner%3Aphuc-nt+mcp&amp;amp;type=repositories" rel="noopener noreferrer"&gt;weekend projects&lt;/a&gt;"&lt;/strong&gt;, so I can confidently say it will help with small projects (under 20MD if done by humans), and test environments simple enough for Agents to automate with test suites.&lt;/p&gt;

&lt;p&gt;So, if you share similar interests with me, let's continue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vibe Coding and Context Engineering
&lt;/h2&gt;

&lt;p&gt;One of my weekend projects was building an MCP server for Confluence Data Center with 11 tools. A project small enough to test AI coding capabilities.&lt;/p&gt;

&lt;h4&gt;
  
  
  When still "Vibe Coding"
&lt;/h4&gt;

&lt;p&gt;I jumped straight in with the "wing it" style. Opened Claude and started:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Me:&lt;/strong&gt; "Hey Claude, I need to build an MCP server for Confluence DC, with 11 tools."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Claude:&lt;/strong&gt; "Great! Could you tell me specifically what those 11 tools are?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Me:&lt;/strong&gt; "Ah... there's createPage, getPage... umm... let me remember..."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The price paid was steep: 5 days passed, only 4/11 tools completed, codebase full of "technical debt", and every day I spent hours just "briefing" AI. Stress skyrocketed, confidence hit rock bottom.&lt;/p&gt;

&lt;h4&gt;
  
  
  Slowing down with "Context Engineering"
&lt;/h4&gt;

&lt;p&gt;Disappointed but not giving up, I decided to try again. This time, instead of rushing to code, I spent the first 2 hours &lt;strong&gt;building a "brain" for AI&lt;/strong&gt; through a documentation system:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docs/
├── 00_context/                  # AI's Long-term Memory
│   ├── requirements.md          # Business goals, success criteria
│   ├── implementation-guide.md  # Technical architecture, patterns
│   └── reference.md             # Additional references
├── 01_plan/                     # Project Management  
│   └── project-roadmap.md       # Timeline, current status, sprints
└── 02_implement/                # Sprint Execution
    ├── sprint-1.md              # Detailed task breakdown
    ├── sprint-2.md              # Daily progress tracking
    └── sprint-3.md              # Acceptance criteria
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And here's how my new session started:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Me:&lt;/strong&gt; "Hey, we're starting the MCP server project. First, please read all documentation in &lt;code&gt;docs/&lt;/code&gt; to understand the context."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Claude:&lt;/strong&gt; "I've read and understand clearly. According to &lt;code&gt;project-roadmap.md&lt;/code&gt;, we'll start with Sprint 1. Based on &lt;code&gt;implementation-guide.md&lt;/code&gt;, I'll use the single API client model... Shall we begin?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's magic. In just 3 days, I not only completed 11/11 tools with production-ready quality but also published it as an npm package.&lt;/p&gt;

&lt;p&gt;That magic is called &lt;strong&gt;process&lt;/strong&gt; – something Vibe Coders often forget. Next is the complete content of the framework you can take and try immediately.&lt;/p&gt;

&lt;h2&gt;
  
  
  3 Steps to Context Engineering
&lt;/h2&gt;

&lt;p&gt;Great that you haven't given up yet.&lt;/p&gt;

&lt;p&gt;How to start now? It's simpler than you think. Here are 3 steps for you:&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1: Build AI's Long-term Memory
&lt;/h4&gt;

&lt;p&gt;Don't do everything yourself! Let AI build context for itself.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create &lt;code&gt;requirements.md&lt;/code&gt;&lt;/strong&gt;: Use a Reasoning AI to play Product Manager. Brainstorm with it to create detailed requirements. You can refer to the process I shared in the post &lt;a href="https://dev.to/phucnt/optimizing-requirement-writing-with-ai-from-vague-to-detailed-7bg"&gt;Optimizing Requirement Writing with AI&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complete remaining documents&lt;/strong&gt;: Once you have proper &lt;code&gt;requirements.md&lt;/code&gt;, hand them to an Internet Search AI. It will quickly suggest architecture, coding patterns and create the remaining technical documents for you.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Step 2: Set up AI's Rules
&lt;/h4&gt;

&lt;p&gt;This is when you give AI a "behavioral rulebook". Create a base rules file in your project (depending on the Agent you use, the file will be named &lt;code&gt;CLAUDE.md&lt;/code&gt; or &lt;code&gt;clinerules.md&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Inside this file, you'll define everything, from &lt;strong&gt;Startup Workflow&lt;/strong&gt; (what AI must do when starting a session), &lt;strong&gt;Task Lifecycle&lt;/strong&gt; (lifecycle of a task from start to completion), &lt;strong&gt;Quality Gates&lt;/strong&gt; (conditions to be considered "done"), to &lt;strong&gt;Documentation Rules&lt;/strong&gt;. This is the "handbook" that helps AI behave like a disciplined engineer instead of a confused intern.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Visualize this rules set as the following process:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7cj46xs450ufer0ng9y8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7cj46xs450ufer0ng9y8.png" alt=" " width="800" height="611"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And here's the detailed content for you to copy paste, to put in &lt;code&gt;CLAUDE.md&lt;/code&gt; or &lt;code&gt;clinerules.md&lt;/code&gt;, depending on your Agent:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;### Startup Workflow (Each Session)

1. Check the project setup.
2. **Read `docs/01_plan/project-roadmap.md`** - To understand the project status and current focus.
3. **Reference context documents** - `requirements.md`, `implementation-guide.md` as needed.

### Task Management Process

Task Lifecycle:
  1. Identify task: From the current sprint or user request.
  2. Focus mode: Work on one task at a time, do not jump around.
  3. Implement feature: Code implementation with proper error handling.
  4. Test Suite Update: MANDATORY - Update the test suite for every new feature.
  5. Quality validation: All tests must PASS before marking a task as complete.
  6. Update progress: Update the sprint document only when ALL TESTS PASS.
  7. Commit clean: Use a clear commit message following conventions.
  8. Update status: Update the sprint document and `project_roadmap.md`.

Quality Gates:
  - Code compiles: The build must succeed.
  - Test Suite: All automated tests (connection + functional) must PASS.
  - No regressions: Existing functionality must not be broken.
  - No token leaks: Do not commit sensitive data.
  - Documentation: Update docs with test results.

Test Requirements:
  - Every new feature requires corresponding tests.
  - Tests must PASS before a sprint task can be completed.
  - The test suite must be maintained and updated consistently.

### Role of Document Groups

**`00_context/` - Technical Foundation (DO NOT EDIT WITHOUT EXPLICIT APPROVAL)**:
- `requirements.md`: Business requirements, project scope, success criteria.
- `implementation-guide.md`: Technical architecture, code patterns, API client structure.
- `confluence-tools-reference.md`: Complete tool-to-API endpoint mapping reference.

**`01_plan/` - Project Management**:
- `project-roadmap.md`: Project timeline, current status, sprint progress, next actions.

**`02_implement/` - Sprint Execution (UPDATED DAILY)**:
- `sprint-X-*.md`: Detailed task breakdown, acceptance criteria, daily progress tracking.

### Documentation Rules

Update Rules:
  project_roadmap.md: Update for major progress, phase completion, current status.
  sprint_*.md: Update for daily progress, task completion.
  00_context/: Never update without explicit approval (requirements, architecture, API specs).

Maintenance Principles:
  - AVOID DUPLICATION: Link instead of repeating information.
  - KEEP CONCISE: Overview docs stay short, details go in specific docs.
  - SINGLE SOURCE OF TRUTH: Each piece of information lives in one place.
  - CROSS-REFERENCE: Use links to connect related information.
  - STATUS FIRST: Always show the current status clearly.

Writing Style:
  - Concise and actionable.
  - Use status indicators: Not Started, In Progress, Completed, Blocked.
  - Include time estimates and actual time spent.
  - Link related documents instead of duplicating content.

  Document Flow: `project_roadmap.md` → `sprint_*.md` → specific details.
  Never put detailed task lists in overview documents.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Step 3: There is no Step 3
&lt;/h4&gt;

&lt;p&gt;That's it, just ask the Agent:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"You know what to do."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And then, sit down, sip your coffee and watch the magic. AI will automatically read the roadmap, identify the next task, and start implementing according to the process you've established.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;And that's it. 3 simple steps (actually just 2), but the effectiveness is significant.&lt;/p&gt;

&lt;p&gt;This framework isn't something divine that will solve all problems. It's only particularly effective for small projects with clear test suites, and when you have time to invest in initial context setup.&lt;/p&gt;

&lt;p&gt;But when it works, it really works.&lt;/p&gt;

&lt;p&gt;With various &lt;strong&gt;"&lt;a href="https://github.com/search?q=owner%3Aphuc-nt+mcp&amp;amp;type=repositories" rel="noopener noreferrer"&gt;weekend projects&lt;/a&gt;"&lt;/strong&gt;, the results I get are always consistent: AI no longer "gets lost", code quality is stable, and most importantly, I don't stress about losing control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is precisely the difference between Vibe Coder and AI Orchestrator.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Vibe Coder prompts and hopes. AI Orchestrator creates an ecosystem for AI to operate effectively.&lt;/p&gt;

&lt;p&gt;If you've followed the journey from the previous post - from Vibe Coding to disciplined process - then Context Engineering is the final piece. It turns theoretical Best Practices into a concrete, repeatable workflow.&lt;/p&gt;

&lt;p&gt;Now, you have enough tools to not just "go with the flow with AI" but truly "orchestrate AI".&lt;/p&gt;

&lt;p&gt;Good luck with your next weekend project!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>From Vibe Coding to Professional AI-Powered Development: A Practical Handbook</title>
      <dc:creator>PHUC NGUYEN</dc:creator>
      <pubDate>Wed, 27 Aug 2025 16:55:46 +0000</pubDate>
      <link>https://dev.to/phucnt/from-vibe-coding-to-professional-ai-powered-development-a-practical-handbook-mlp</link>
      <guid>https://dev.to/phucnt/from-vibe-coding-to-professional-ai-powered-development-a-practical-handbook-mlp</guid>
      <description>&lt;p&gt;The promises of AI coding are alluring: building an entire application in just one afternoon. This is the world of "Vibe Coding" – fast, but also the shortest path to technical debt. So how do we harness this amazing power without creating a mess we'll regret later?&lt;/p&gt;

&lt;p&gt;This article is my answer. Not to make you abandon AI, but to help you &lt;strong&gt;master it&lt;/strong&gt;. We'll go beyond simple prompts to build a professional process where AI plays the role of a disciplined teammate, not an unpredictable intern. My goal is to give you a practical handbook to turn AI into a true collaborator, helping you build better, more robust, and naturally, faster software.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is Vibe Coding?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Imagine you're a developer named Tom, who just received a request to build a project management app. You're excited, fire up Cursor (or whatever AI you prefer), type a prompt like: "Write me a project management app with React". And &lt;em&gt;boom&lt;/em&gt;, in just 1 hour, you have a working prototype! You feel like Tony Stark, just say one sentence and JARVIS does everything. That's "Vibe Coding" – programming by inspiration, quick and easy, relying on AI without carefully checking the code it produces.&lt;/p&gt;

&lt;p&gt;But wait, not everything stays rosy. According to &lt;a href="https://simonwillison.net/2025/Mar/19/vibe-coding/" rel="noopener noreferrer"&gt;Simon Willison's definition&lt;/a&gt;, "Vibe Coding" is when you use large language models (LLMs) to build software without really carefully considering what they create. The result? Tom's codebase becomes a mess, without structure, full of temporary solutions. When the client requests additional features, Tom starts sweating because he doesn't know where to start fixing.&lt;/p&gt;

&lt;p&gt;Don't get me wrong, "Vibe Coding" isn't bad. It's fast, it helps you create prototypes in (tens of) minutes, saving hours compared to traditional methods. As Steve Yegge pointed out in his article &lt;a href="https://sourcegraph.com/blog/revenge-of-the-junior-developer" rel="noopener noreferrer"&gt;"Revenge of the Junior Developer"&lt;/a&gt;, vibe coding can be "5x more effective than traditional programming" and is increasingly becoming an unavoidable trend as tools like coding agents emerge. However, the flip side of this coin is not light. According to &lt;a href="https://cset.georgetown.edu/wp-content/uploads/CSET-Cybersecurity-Risks-of-AI-Generated-Code.pdf" rel="noopener noreferrer"&gt;CSET's report (November 2024)&lt;/a&gt;, nearly half of AI-generated code contains errors, even security vulnerabilities that can be exploited. Speed is there, but without foundational knowledge to control it, you'll turn yourself into a security time bomb. &lt;a href="https://addyo.substack.com/p/vibe-coding-is-not-an-excuse-for" rel="noopener noreferrer"&gt;Addy Osmani also emphasizes in his blog&lt;/a&gt; that "speed means nothing if the wheels fall off halfway", and vibe coding is not an excuse for low-quality work.&lt;/p&gt;

&lt;p&gt;So how do we keep the speed without shooting ourselves in the foot? The answer lies in &lt;strong&gt;professional AI-powered programming&lt;/strong&gt;. Let's explore!&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Professional AI-Powered Programming: Slow but Sure&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now meet Sarah, another developer in our story. Sarah isn't rushed like Tom. Instead, Sarah takes time to plan, design architecture, break down sprints like a real Scrum Master. The result? After 2 weeks, Sarah has a solid product, easily scalable and maintainable in the long run. Sure it's slower at first, but anything worthwhile usually takes time, right?&lt;/p&gt;

&lt;p&gt;So how does professional AI-powered programming differ from "Vibe Coding"? It's not about abandoning AI, but using AI in a controlled manner. I summarize it into 2 foundational mindsets you need to remember:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Trust the Process&lt;/strong&gt;: AI is most powerful when integrated into a clear process system. Don't let AI run too free, give it a "map" to follow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI as Teammate&lt;/strong&gt;: AI isn't a replacement for you, but a colleague. Coordinate, evaluate and adjust its output, just like how you work with another programmer on the team.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This perspective is reinforced by Mike Krieger, CPO of Anthropic, who emphasizes that in the future, programmers will shift from writing code to the role of "AI Orchestrators" – coordinating AI, designing systems and ensuring quality. At Anthropic, embedding Product Managers with AI researchers has increased efficiency by 10x, showing the importance of coordinating humans and AI as teammates (&lt;a href="https://www.youtube.com/watch?v=DKrBGOFs0GY" rel="noopener noreferrer"&gt;Mike Krieger Interview&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;To better illustrate how AI can become a teammate, look at the diagram below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flyex29s69ui60nantcbk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flyex29s69ui60nantcbk.png" alt=" " width="773" height="874"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This diagram shows you (Product Owner) playing the guiding role, while various AIs take on specific tasks like requirements, research and code writing. Most importantly, there's a feedback loop for you and AI to evaluate and adjust together. This is the spirit of "AI as Teammate" – collaborating like members of a real team.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;8 Best Practices&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now that we understand the mindset, let's go into detail with 8 &lt;em&gt;best practices&lt;/em&gt; to elevate from "Vibe Coding" to professional AI-powered programming. I divide them into 4 familiar stages in software development: Preparation, Planning, Development, and Troubleshooting.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Preparation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The preparation phase is like laying the foundation for a house. If the foundation isn't solid, the entire structure will collapse. Here are the first 2 &lt;em&gt;best practices&lt;/em&gt;:&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Best Practice 1: Coordinate Multiple AI Tools&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Don't rely on just one AI. Create a pipeline where each AI takes on a separate role. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reasoning AI&lt;/strong&gt;: Specializes in writing requirements documents, design, and implementation instructions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internet Search AI&lt;/strong&gt;: Searches for the latest information about frameworks or community experiences.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coding AI Agent&lt;/strong&gt;: Focuses on writing code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The output of one AI becomes the input for another, ensuring consistency and quality. Think about it, you're building a super-powered AI team, not just having one superhero! This perspective is &lt;a href="https://sourcegraph.com/blog/revenge-of-the-junior-developer" rel="noopener noreferrer"&gt;supported by Steve Yegge in his article&lt;/a&gt;, when he predicts the emergence of "agent clusters" and "agent fleets" – where programmers manage multiple agents in parallel to handle different tasks, from bug fixing to developing new features.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Best Practice 2: Prepare Detailed Requirements&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Requirements are the roadmap for AI. If the map is vague, AI will lead you into a forest of errors. Turn AI into a brainstorming assistant, chat with it like a colleague to discover new perspectives and detect gaps in initial requirements. You can refer to details of how I do this in my blog: &lt;a href="https://phucnt.substack.com/p/toi-uu-viet-viet-requirement-voi" rel="noopener noreferrer"&gt;Optimizing Requirement Writing with AI&lt;/a&gt;. Addy Osmani also encourages keeping humans in the design leadership position, using AI for execution rather than deciding basic architecture, ensuring requirements are clearly defined from the start (&lt;a href="https://addyo.substack.com/p/vibe-coding-is-not-an-excuse-for" rel="noopener noreferrer"&gt;Addy Osmani Substack&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The mindset at this stage: &lt;strong&gt;"Preparation is the foundation of success"&lt;/strong&gt;. Don't rush to code, take time to build the team and clarify what you want to create.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ske3c5ujky5z533x547.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ske3c5ujky5z533x547.png" alt=" " width="800" height="541"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Planning&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The planning phase is when you concretize what needs to be done. In Scrum, this is Sprint Planning. Here are the next 2 &lt;em&gt;best practices&lt;/em&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Best Practice 3: Task Breakdown for AI&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;AI works best with small, independent tasks. Break down according to "AI-friendly tasks" rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Each task no more than 100-200 lines of code.&lt;/li&gt;
&lt;li&gt;Clear input/output.&lt;/li&gt;
&lt;li&gt;Little dependency on context from other tasks.&lt;/li&gt;
&lt;li&gt;Specific test cases to verify.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Save the task list and implementation plan in the folder containing source code, so the Coding Agent can easily access context. Nobody wants to work in the dark, including AI! Steve Yegge emphasizes that breaking down tasks is extremely important when working with coding agents, because if you give agents tasks that are too large, they will "bang their heads against the wall" without achieving results (&lt;a href="https://sourcegraph.com/blog/revenge-of-the-junior-developer" rel="noopener noreferrer"&gt;Sourcegraph Blog&lt;/a&gt;).&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Best Practice 4: Setup Implementation Rules&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Create a "company handbook" for AI, called Implementation Rules. It defines coding standards, preferred patterns and workflow. When AI has clear rules, it won't have to guess your intentions, but focus 100% on business logic. Addy Osmani also agrees with this idea, recommending teams establish coding standards and ensure AI output is edited to comply before integrating into the codebase (&lt;a href="https://addyo.substack.com/p/vibe-coding-is-not-an-excuse-for" rel="noopener noreferrer"&gt;Addy Osmani Substack&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The mindset here is: &lt;strong&gt;"Structure enables creativity"&lt;/strong&gt;. Good structure doesn't constrain, but liberates creativity for both you and AI.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnn9qowgsb9xhu8ch2v31.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnn9qowgsb9xhu8ch2v31.png" alt=" " width="800" height="675"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Development&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Development is when you and AI work together to turn ideas into reality. Here are 2 important &lt;em&gt;best practices&lt;/em&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Best Practice 5: Edit-Test Loops&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Edit-Test Loops are the most effective way to work with AI. Each cycle should only last 15-30 minutes, enough for AI to focus and give quick feedback. The process is as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identify a small increment (15-30 minutes).&lt;/li&gt;
&lt;li&gt;Write failing test case for this increment.&lt;/li&gt;
&lt;li&gt;Ask AI to implement code to make test pass.&lt;/li&gt;
&lt;li&gt;AI automatically runs test.&lt;/li&gt;
&lt;li&gt;If fail, AI analyzes and fixes code. If pass, review and commit.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Addy Osmani also emphasizes the importance of thorough testing, advising that all AI-generated code needs to be tested both manually and automatically to detect errors, especially unexpected cases that AI often overlooks (&lt;a href="https://addyo.substack.com/p/vibe-coding-is-not-an-excuse-for" rel="noopener noreferrer"&gt;Addy Osmani Substack&lt;/a&gt;). Additionally, Mike Krieger from Anthropic shares that at their company, AI not only writes code but is also used to review other AI's code, with humans only performing acceptance testing, significantly speeding up the review process (&lt;a href="https://www.youtube.com/watch?v=DKrBGOFs0GY" rel="noopener noreferrer"&gt;Mike Krieger Interview&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;To illustrate more clearly, look at the diagram about the Development phase below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr2u0vy0sjloe2wyz2hoh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr2u0vy0sjloe2wyz2hoh.png" alt=" " width="800" height="909"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This diagram shows how you and AI work through short loops, with clear checking and progress saving steps.&lt;/p&gt;

&lt;p&gt;The mindset here is: &lt;strong&gt;"Small iterations, continuous feedback"&lt;/strong&gt;. Don't let AI take on too much, guide step by step.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Best Practice 6: Context Management&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Context is AI's "memory", but if context is too long, AI will get "confused" and produce inconsistent results. Manage context effectively with the following methods:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use @ references to add specific files.&lt;/li&gt;
&lt;li&gt;Start new chat if context exceeds 50-100 messages.&lt;/li&gt;
&lt;li&gt;Resync codebase regularly.&lt;/li&gt;
&lt;li&gt;Use git commits as checkpoints.&lt;/li&gt;
&lt;li&gt;Create summary after each session.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The diagram below illustrates how to manage context:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvyqhl5kufozdikj752v9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvyqhl5kufozdikj752v9.png" alt=" " width="800" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Context Repository stores all important information, and each AI working session reads/writes to it to ensure consistency.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Troubleshooting&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;AI isn't always perfect. Sometimes it will struggle and not be able to solve problems. Don't panic, use these 2 &lt;em&gt;best practices&lt;/em&gt;:&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Best Practice 7: Problem Report System&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;When AI encounters difficulties, ask it to create a Problem Report, describing in detail the current state, error messages and solutions tried. Then, give this report to another Search AI for a fresh perspective, like asking for expert opinion outside the team. Addy Osmani also supports using AI iteratively, encouraging programmers to ask AI to improve output if initial results don't meet requirements, or even abandon AI to write code themselves if needed (&lt;a href="https://addyo.substack.com/p/vibe-coding-is-not-an-excuse-for" rel="noopener noreferrer"&gt;Addy Osmani Substack&lt;/a&gt;).&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Best Practice 8: Context Reset Strategy&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;When everything is too messy, be bold and "reset". Context reset is the "emergency brake" when AI goes in the wrong direction. When to reset? When conversation exceeds 100 messages, AI starts hallucinating or repeating infinitely. An effective reset method is to summarize progress into a problem report, then start a fresh conversation with clean context.&lt;/p&gt;

&lt;p&gt;The diagram below illustrates the troubleshooting process:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh4jrznpdozwt8jiu0b93.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh4jrznpdozwt8jiu0b93.png" alt=" " width="800" height="609"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The mindset here? &lt;strong&gt;"Systematic beats random"&lt;/strong&gt;. Don't try to fix errors randomly, be systematic: document, analyze, consult, and apply a structured approach.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;"Trust The Process"&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To help you visualize the entire AI workflow more clearly, look at the "Trust the Process" diagram below. It covers all 4 stages from Preparation to Troubleshooting:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjproqv2rkk5kiv696zbb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjproqv2rkk5kiv696zbb.png" alt=" " width="800" height="1115"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This diagram shows that working with AI is not AI-centric, but process-centric. The process establishes a clear framework, while AI is just the implementation tool within it. Context is stored and reused throughout, ensuring AI always has enough information to work effectively. Mike Krieger from Anthropic also emphasizes that when AI can write code quickly (90-95% of code at Anthropic is already AI-generated), new bottlenecks emerge in feature decision-making and merge queues, so processes need to be redesigned to adapt (&lt;a href="https://www.youtube.com/watch?v=DKrBGOFs0GY" rel="noopener noreferrer"&gt;Mike Krieger Interview&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The software development world is entering a new era, where AI is no longer a passive tool, but becomes a companion in every line of code. But let's pause and think about how we've worked together over the years.&lt;/p&gt;

&lt;p&gt;When building a development team, you never just hire a bunch of people then throw them into a room and say "Do something cool!". Instead, you &lt;strong&gt;place each person in the right position&lt;/strong&gt;: Frontend Developer for UI, Backend Developer for API, DevOps for infrastructure. You &lt;strong&gt;clearly define input and output&lt;/strong&gt; for each role – Designer gives mockups to Frontend, Frontend provides API specs to Backend. And most importantly, you &lt;strong&gt;review each member's output from the beginning&lt;/strong&gt; through code reviews, daily standups, and sprint demos. Nobody gets to "freely create" without feedback!&lt;/p&gt;

&lt;p&gt;Working with AI is exactly the same. You can't completely delegate to one AI and expect it to solve everything automatically. Instead, you need to &lt;strong&gt;guide the approach carefully&lt;/strong&gt; like onboarding a new junior developer, &lt;strong&gt;adjust each AI's output&lt;/strong&gt; like reviewing a colleague's code. Each AI in your "team" needs a clear role, specifically defined input/output, and output needs to be thoroughly checked before moving to the next step. When you apply this approach correctly, AI can &lt;strong&gt;produce output faster and better than humans in areas where it excels&lt;/strong&gt;. And when each "AI member" on the team operates effectively, &lt;strong&gt;the overall project output will be significantly improved&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;To collaborate effectively, remember 2 mindsets: &lt;strong&gt;Trust the Process&lt;/strong&gt; and &lt;strong&gt;AI as Teammate&lt;/strong&gt;. Trust the process, invest time in planning, testing and continuous improvement. Treat AI like a real teammate – share goals, provide feedback and solve problems together.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8nmsvz8mf4srrrxleeqj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8nmsvz8mf4srrrxleeqj.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Success with AI doesn't lie in being the best coder, but in team management and process skills. Try applying the 8 &lt;em&gt;best practices&lt;/em&gt; above, and you'll find yourself not only coding faster, but also viewing problems more deeply, solving challenges more effectively. As Steve Yegge said, "AI doesn't need to prove it's better than you, but you need to be better thanks to AI". He also predicts that programmers' roles will shift to managing "agent fleets", and those who don't adapt will fall behind, especially senior devs compared to junior devs – those who are quickly embracing AI (&lt;a href="https://sourcegraph.com/blog/revenge-of-the-junior-developer" rel="noopener noreferrer"&gt;Sourcegraph Blog&lt;/a&gt;). Are you ready to become an AI Orchestrator, coordinating the entire AI ecosystem?&lt;/p&gt;

&lt;p&gt;Start today, and remember, the journey with AI is just like working with humans – it needs planning, coordination, and patience. Happy coding, and don't forget to leave comments if you have questions or experiences to share!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Optimizing Requirement Writing with AI: From Vague to Detailed</title>
      <dc:creator>PHUC NGUYEN</dc:creator>
      <pubDate>Thu, 14 Aug 2025 12:10:43 +0000</pubDate>
      <link>https://dev.to/phucnt/optimizing-requirement-writing-with-ai-from-vague-to-detailed-7bg</link>
      <guid>https://dev.to/phucnt/optimizing-requirement-writing-with-ai-from-vague-to-detailed-7bg</guid>
      <description>&lt;p&gt;As a Product Owner (PO) or Business Analyst (BA), you've likely encountered situations where a client, stakeholder (or even yourself) presents a very general request, such as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"I want to create a chatbot agent."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Typically, you would need to organize multiple meetings, ask a series of questions, and spend a lot of time clarifying the request before you can start writing the Software Requirements Specification (SRS) document. But now, with AI's help, you can streamline this process quickly and effectively.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgxo4is67ym9mfy244rm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgxo4is67ym9mfy244rm.png" alt="Requirement assistant" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Prompt - "The Software Requirements Elicitation and Specification Expert"
&lt;/h2&gt;

&lt;p&gt;One of the most effective ways to leverage the power of AI is to use a specialized prompt designed specifically for software requirements elicitation and specification. This prompt directs the AI to act as a business analyst with over 15 years of experience, proficient in international standards like IEEE 830, IREB, ISO/IEC/IEEE 29148:2018, and Agile methodologies (User Stories).&lt;/p&gt;

&lt;p&gt;This prompt includes key sections:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Role and Mission Introduction:&lt;/strong&gt; Establishes the AI's responsibilities and scope of work.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Structured Questioning Skills:&lt;/strong&gt; Guides the AI on how to ask questions in a clear, step-by-step manner.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Systematic Elicitation Process:&lt;/strong&gt; A 5-step process from initial information assessment to creating a complete requirements document.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Requirements Quality Standards:&lt;/strong&gt; Ensures requirements are clear, specific, well-prioritized, and non-conflicting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The full prompt is available at the end of this article.&lt;/p&gt;

&lt;h2&gt;
  
  
  From a Vague Idea to a Complete SRS Document with AI
&lt;/h2&gt;

&lt;p&gt;Let's look at a practical example to better understand this prompt's effectiveness. Suppose you start with a very general request:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"I want to create a chatbot agent."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Without AI's help, you would have to come up with numerous questions yourself to clarify the objective, target users, desired features, and so on. But with this specialized prompt, the AI will proactively ask structured questions to elicit information from you:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Exploratory Questions:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;  "Can you describe in more detail the main purpose of this chatbot?"&lt;/li&gt;
&lt;li&gt;  "Who are the primary users? What do they expect from it?"&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Clarifying Questions:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;  "Which platforms do you want the chatbot to integrate with? For example, JIRA, Slack, or Confluence?"&lt;/li&gt;
&lt;li&gt;  "What are the specific tasks the chatbot needs to perform?"&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Probing and Confirming Questions:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;  "How do you want the chatbot to handle Natural Language Processing (NLP)?"&lt;/li&gt;
&lt;li&gt;  "Does the chatbot need confirmation from the user before performing an action?"&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After just a few brief interactions like this, from a very vague initial idea ("create a chatbot agent"), you now have a complete SRS document compliant with the IEEE 830 standard:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Clear project objectives&lt;/li&gt;
&lt;li&gt;  Detailed features (JIRA integration to view/update tasks; Slack integration to analyze chat content and auto-log work; Confluence integration to auto-generate progress reports)&lt;/li&gt;
&lt;li&gt;  Non-functional requirements (response performance under 3 seconds, OAuth2 security)&lt;/li&gt;
&lt;li&gt;  Proposed system architecture (Agent-based with LangChain and OpenAI GPT)&lt;/li&gt;
&lt;li&gt;  A specific, phased implementation roadmap&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The PO Skills the AI Prompt Uses
&lt;/h2&gt;

&lt;p&gt;Using this specialized prompt is, in fact, applying the core skills of a professional PO:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Requirements Elicitation:&lt;/strong&gt; The prompt helps the AI ask open-ended, step-by-step questions to clarify information, moving from general needs to specific details.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Business Analysis:&lt;/strong&gt; The AI is guided to transform user-provided information into structured requirements, clearly categorizing them as functional and non-functional.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Prioritization:&lt;/strong&gt; Through guided questions, the AI can help determine the priority of features, allowing stakeholders to focus on what matters most.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Requirements Documentation:&lt;/strong&gt; The AI can generate a complete SRS document following the IEEE 830 standard, ensuring professionalism and completeness.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Effective Communication:&lt;/strong&gt; The prompt guides the AI to ask simple, easy-to-understand questions suitable for end-users, facilitating accurate information gathering.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Outstanding Benefits of Using AI for Writing Requirements
&lt;/h2&gt;

&lt;p&gt;Applying AI to the requirements writing process offers practical benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Saves Time:&lt;/strong&gt; Get a detailed SRS document after just a few short interactions.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Reduces Errors &amp;amp; Omissions:&lt;/strong&gt; The systematic questioning process ensures no critical information is missed.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Enhances Communication &amp;amp; Collaboration:&lt;/strong&gt; Clear questions help stakeholders provide accurate information easily.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Easy to Start with Unclear Ideas:&lt;/strong&gt; You can quickly clarify requirements even without detailed initial preparation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to Get Started?
&lt;/h2&gt;

&lt;p&gt;To start using this prompt in your work:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Prepare an initial idea or request, even if it's just a rough one.&lt;/li&gt;
&lt;li&gt; Enter the prompt into an AI tool (like ChatGPT or LangChain).&lt;/li&gt;
&lt;li&gt; Start interacting by answering the questions the AI asks.&lt;/li&gt;
&lt;li&gt; After a few brief interactions, you will receive a complete requirements document.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In today's fast-paced and highly competitive product development landscape, optimizing the requirement elicitation and specification phase with AI is an inevitable trend. With this specialized prompt, you can transform vague initial ideas into high-quality requirements documents in a very short time.&lt;/p&gt;

&lt;p&gt;Try it today to experience the difference!&lt;/p&gt;

&lt;h2&gt;
  
  
  Full Prompt
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;## AI Persona: Software Requirements Elicitation and Specification Expert
### Introduction
You are a Software Requirements Elicitation and Specification Expert with over 15 years of experience in business analysis and writing software requirements documents. You are proficient in methodologies like IREB, IEEE 830, User Stories, and familiar with standards such as CMMI and ISO/IEC/IEEE 29148:2018.

### Primary Mission
- Write high-quality software requirements documents.
- Elicit information from users through structured questions to clarify requirements.

### Questioning Skills
#### Questioning Principles
- **Goal-Oriented:** Every question must aim to clarify the context, objectives, or technical details of the requirement.
- **Simple and Clear:** Avoid complex jargon when unnecessary.
- **Encourage Detailed Feedback:** Use open-ended questions to elicit deeper information.
- **Ask Step-by-Step:** Ask a maximum of 3 questions per interaction to avoid overwhelming the user.

#### Question Types
1.  **Exploratory Questions:**
    - "Can you describe the main objective of this project in detail?"
    - "Who will be the users of this system, and what do they expect from it?"
2.  **Clarifying Questions:**
    - "What do you mean when you say the system 'must be easy to use'? Are there specific criteria?"
    - "Could you provide an example of a specific use case?"
3.  **Confirming Questions:**
    - "To confirm, does the system need to support both web and mobile interfaces?"
    - "Does this requirement need to be completed by a specific deadline?"
4.  **Probing Questions:**
    - "What would happen if the system doesn't work as expected? Is there a contingency plan?"
    - "Besides the main features, do you have any performance or security requirements?"
5.  **Prioritizing Questions:**
    - "Among the listed requirements, which one is the most important?"
    - "Is there any feature you would like to implement immediately?"

### Requirements Elicitation Process
1.  **Quickly Assess Initial Information:**
    - Determine how complete the provided information is.
    - Note any vague or unclear points.
2.  **Ask Step-by-Step Questions:**
    - Use a funnel-based interview technique (from open-ended to closed-ended questions).
    - Apply the 5W1H framework to ensure a comprehensive understanding of the context.
    - Ask a maximum of 3 questions per interaction.
    - Continue asking questions over multiple turns until enough information is gathered.
3.  **Respond Flexibly:**
    - Based on the user's answers, adjust the next questions to probe deeper.
4.  **Confirm Gathered Information:**
    - Summarize the key points to ensure you have understood the user's intent correctly.
    - When you feel you have enough information, ask the user: "I have gathered the necessary information. Would you like me to create the requirements document now?"
5.  **Convert Information into Structured Requirements:**
    - Classify requirements into functional and non-functional categories.
    - Write the document according to SMART criteria.
    - After completing the document, suggest: "Would you like me to ask more questions to clarify or add more information?"

### Requirements Quality Standards
Each requirement must be:
- Clear, specific, and unambiguous.
- Verifiable.
- Clearly prioritized based on project needs.
- Free of contradictions or duplications.

### User Support
When interacting with the user, you will:
- Proactively identify missing information.
- Ask appropriate questions to clarify context and technical details, with a maximum of 3 questions per turn.
- Ask multiple times until you have gathered sufficient information.
- Once you have enough information, ask the user if they want you to create the requirements document.
- After creating the document, offer to ask more questions to elicit further information if needed.
- Provide guidance on how to use common templates like BRD, SRS, FRD, and User Stories.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
  </channel>
</rss>
