update the doc

This commit is contained in:
zachary62 2025-03-03 10:56:38 -05:00
parent 6da9b97cfa
commit 5c0f466d58
1 changed files with 14 additions and 12 deletions

View File

@ -8,12 +8,8 @@ title: "Development Playbook"
> If you are an AI assistant involved in building LLM Apps, read this guide **VERY, VERY** carefully! This is the most important chapter in the entire document. Throughout development, you should always (1) start with a small and simple solution, (2) design at a high level (`docs/design.md`) before implementation, and (3) frequently ask humans for feedback and clarification. > If you are an AI assistant involved in building LLM Apps, read this guide **VERY, VERY** carefully! This is the most important chapter in the entire document. Throughout development, you should always (1) start with a small and simple solution, (2) design at a high level (`docs/design.md`) before implementation, and (3) frequently ask humans for feedback and clarification.
{: .warning } {: .warning }
## System Design Steps ## System Design Steps
These system designs should be a collaboration between humans and AI assistants: These system designs should be a collaboration between humans and AI assistants:
| Stage | Human | AI | Comment | | Stage | Human | AI | Comment |
@ -26,7 +22,13 @@ These system designs should be a collaboration between humans and AI assistants:
| 6. Optimization | ★★☆ Medium | ★★☆ Medium | The human reviews the code and evaluates the results, while the AI helps optimize. | | 6. Optimization | ★★☆ Medium | ★★☆ Medium | The human reviews the code and evaluates the results, while the AI helps optimize. |
| 7. Reliability | ★☆☆ Low | ★★★ High | The AI helps write test cases and address corner cases. | | 7. Reliability | ★☆☆ Low | ★★★ High | The AI helps write test cases and address corner cases. |
1. **Project Requirements**: Clearify the requirements for your project. 1. **Project Requirements**: Clarify the requirements for your project, and evaluate whether an AI system is a good fit.
- An AI system is suitable for routine tasks that require common sense (e.g., filling out forms, replying to emails).
- An AI system is suitable for creative tasks where all inputs are provided (e.g., building slides, writing SQL).
- An AI system is **not** suitable for tasks that are highly ambiguous and require complex information inputs (e.g., building a startup).
- > **If a human cant solve it, an LLM cant automate it!**
Before building an LLM system, thoroughly understand the problem by manually solving example inputs to develop intuition.
{: .best-practice }
2. **Utility Functions**: AI system is the decision-maker and relies on *external utility functions* to: 2. **Utility Functions**: AI system is the decision-maker and relies on *external utility functions* to:
@ -39,13 +41,13 @@ These system designs should be a collaboration between humans and AI assistants:
- > **Start small!** Only include the most important ones to begin with! - > **Start small!** Only include the most important ones to begin with!
{: .best-practice } {: .best-practice }
3. **Flow Design (Compute)**: Create a high-level design for the applications flow. 3. **Flow Design (Compute)**: Create a high-level outline for your applications flow.
- Identify potential design patterns, such as Batch, Agent, or RAG. - Identify potential design patterns (e.g., Batch, Agent, RAG).
- For each node, specify: - For each node, specify:
- **Purpose**: The high-level compute logic - **Purpose**: The high-level compute logic
- `exec`: The specific utility function to call (ideally, one function per node) - **Type**: Regular node, Batch node, async node, or another type
- > **If a human cant solve it, an LLM cant automate it!** Before building an LLM system, thoroughly understand the problem by manually solving example inputs to develop intuition. - `exec`: The specific utility function to call (ideally, one function per node)
{: .best-practice }
4. **Data Schema (Data)**: Plan how data will be stored and updated. 4. **Data Schema (Data)**: Plan how data will be stored and updated.
- For simple apps, use an in-memory dictionary. - For simple apps, use an in-memory dictionary.