You Don’t Need a Better Prompt, You Need a Better System
You have a problem. You want to feed a simple goal like “Launch a podcast” into an AI and get a structured, actionable project plan back. But your prompts produce a messy, unreliable wall of text. Sometimes it’s a bulleted list, sometimes it’s a paragraph, and half the time it hallucinates steps that make no sense. This article shows you how to stop prompting and start building a real ai project maker. You’ll learn how to build a stateful system that uses an LLM as a component, not a magic eight ball.
The Core Stack: What You Actually Need
Forget the fancy AI agent frameworks for a minute. The stack for a production-ready project maker is surprisingly simple and doesn’t require writing a line of Python. You need three things: a database, an orchestrator, and an LLM API.
AI Side Hustles
Practical setups for building real income streams with AI tools. No coding needed. 12 tested models with real numbers.
Get the Guide → $14
- Database: Airtable. It’s a spreadsheet on steroids. It’s visual, has a great API, and its automations are easy to work with. The free plan is generous enough to get started, but you’ll hit the 1,200 record limit fast. Honestly, the $20/mo Plus plan is the real starting point for any serious project. I use it to store the initial project goal, the generated tasks, their statuses, and dependencies.
- Orchestrator: Make.com (formerly Integromat). This is the glue. It’s a no code AI tool that connects Airtable to your LLM. When a new project goal is added to Airtable, Make.com triggers a workflow, calls the LLM, parses the response, and creates new task records back in Airtable. I prefer it over Zapier automations for this kind of multi-step logic because its visual error handling is just better. You can see exactly which module failed and why.
- LLM API: OpenAI (GPT-4o) or Anthropic (Claude 3 Sonnet). Your choice. OpenAI’s structured JSON output is a lifesaver. It completely removes the need for brittle regex parsing. Anthropic’s Claude 3 Sonnet is incredibly fast and cost-effective, but getting structured data back can be a bit more work. My current gripe is that the documentation for Claude 3 Sonnet API rate limits is a nightmare to find. You basically have to hit the limit to discover what it is, which is not ideal for a production system.
That’s it. A database to hold state, a workflow tool to run the logic, and a brain to do the thinking.
What Most Guides Get Wrong
Almost every tutorial I’ve seen on this topic makes the same fundamental mistake. They treat it as a single-shot prompt engineering problem. They spend ages refining a massive, complex prompt that tries to do everything in one go: understand the goal, break it down, define the steps, estimate time, and format it perfectly.
That approach is fragile. It breaks the moment the user enters a slightly ambiguous goal.
The correct approach is to build a system that orchestrates multiple, simpler LLM calls. The AI project maker isn’t one prompt. It’s a state machine. The first call might be to decompose the main goal into 3-5 high-level phases. Then, for each phase, a separate, more focused LLM call breaks it down into granular tasks. This is a much more reliable ai automation blueprint because each step is simpler and has less room for error.
Your orchestrator (Make.com) manages the state. It knows which phase it’s currently processing and which tasks have been created. The LLM doesn’t need to remember the entire project context in a single chat history. It just needs to perform one specific job at a time, like “Break down the ‘Record First 3 Episodes’ phase into specific tasks.”
How Do You Stop the AI From Hallucinating Impossible Tasks?
This is the million-dollar question. You can’t just ask the LLM for “a list of tasks.” You need to constrain its output heavily. The goal is to force the AI to think within the structure you define. I do this by providing a strict output format in the system prompt, often using XML tags, and demanding a specific set of fields for each task.
Here’s a simplified version of a system prompt I use with Anthropic’s Claude 3:
You are a project management assistant. Your job is to break down a high-level user goal into a series of concrete, actionable tasks. For each task, you must provide a task name, a one-sentence description, and a list of dependencies (if any). You MUST format your response as a JSON object containing a list called "tasks". Each item in the list should be an object with three keys: "task_name", "description", and "dependencies". Do not include any preamble or explanation in your response. Only output the raw JSON.
Then, the user prompt would be something like:
Goal: Launch a weekly tech podcast.
By demanding JSON, you make the output machine-readable. My love for this feature is immense. It’s the difference between a reliable automation and a script that breaks every third run because the LLM decided to add an extra sentence at the beginning of its response (which, if you’ve ever tried to parse raw LLM output, you know is a recipe for disaster).
You also need to give it an “out.” I often include instructions like, “If a task seems too complex or requires information you don’t have, assign it to a ‘Research’ category and flag it for manual review.” This prevents the AI from just making things up to fill a blank space.
