update guide markdown
This commit is contained in:
parent
8b0b545bf4
commit
e7e89fe567
|
|
@ -14,33 +14,33 @@ These system designs should be a collaboration between humans and AI assistants:
|
||||||
|
|
||||||
| Stage | Human | AI | Comment |
|
| Stage | Human | AI | Comment |
|
||||||
|:-----------------------|:----------:|:---------:|:------------------------------------------------------------------------|
|
|:-----------------------|:----------:|:---------:|:------------------------------------------------------------------------|
|
||||||
| 1. Project Requirements | ★★★ High | ★☆☆ Low | Humans understand the requirements and context best. |
|
| 1. Requirements | ★★★ High | ★☆☆ Low | Humans understand the requirements and context best. |
|
||||||
| 2. Utility Functions | ★★☆ Medium | ★★☆ Medium | The human is familiar with external APIs and integrations, and the AI assists with implementation. |
|
| 2. Utilities | ★★☆ Medium | ★★☆ Medium | The human is familiar with external APIs and integrations, and the AI assists with implementation. |
|
||||||
| 3. Flow Design | ★★☆ Medium | ★★☆ Medium | The human identifies complex and ambiguous parts, and the AI helps with redesign. |
|
| 3. Flow Design | ★★☆ Medium | ★★☆ Medium | The human identifies complex and ambiguous parts, and the AI helps with redesign. |
|
||||||
| 4. Data Schema | ★☆☆ Low | ★★★ High | The AI assists in designing the data schema based on the flow. |
|
| 4. Data Design | ★☆☆ Low | ★★★ High | The AI assists in designing the data schema based on the flow. |
|
||||||
| 5. Implementation | ★☆☆ Low | ★★★ High | The human identifies complex and ambiguous parts, and the AI helps with redesign. |
|
| 5. Implementation | ★☆☆ Low | ★★★ High | The human identifies complex and ambiguous parts, and the AI helps with redesign. |
|
||||||
| 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**: Clarify the requirements for your project, and evaluate whether an AI system is a good fit. An AI systems are:
|
1. **Requirements**: Clarify the requirements for your project, and evaluate whether an AI system is a good fit. AI systems are:
|
||||||
- suitable for routine tasks that require common sense (e.g., filling out forms, replying to emails).
|
- suitable for routine tasks that require common sense (e.g., filling out forms, replying to emails).
|
||||||
- suitable for creative tasks where all inputs are provided (e.g., building slides, writing SQL).
|
- suitable for creative tasks where all inputs are provided (e.g., building slides, writing SQL).
|
||||||
- **NOT** suitable for tasks that are highly ambiguous and require complex information (e.g., building a startup).
|
- **NOT** suitable for tasks that are highly ambiguous and require complex info (e.g., building a startup).
|
||||||
- > **If a human can’t solve it, an LLM can’t automate it!** Before building an LLM system, thoroughly understand the problem by manually solving example inputs to develop intuition.
|
- > **If a human can’t solve it, an LLM can’t automate it!** Before building an LLM system, thoroughly understand the problem by manually solving example inputs to develop intuition.
|
||||||
{: .best-practice }
|
{: .best-practice }
|
||||||
|
|
||||||
2. **Utility Functions**: Think of the AI system as the brain, responsible for decision-making. It needs a body—these *external utility functions*—to interact with the real world:
|
2. **Utilities**: Think of the AI system as the brain for decision-making. It needs a body—these *external utility functions*—to interact with the real world:
|
||||||
|
|
||||||
<div align="center"><img src="https://github.com/the-pocket/PocketFlow/raw/main/assets/utility.png?raw=true" width="400"/></div>
|
<div align="center"><img src="https://github.com/the-pocket/PocketFlow/raw/main/assets/utility.png?raw=true" width="400"/></div>
|
||||||
|
|
||||||
- Reading inputs (e.g., retrieving Slack messages, reading emails)
|
- Reading inputs (e.g., retrieving Slack messages, reading emails)
|
||||||
- Writing outputs (e.g., generating reports, sending emails)
|
- Writing outputs (e.g., generating reports, sending emails)
|
||||||
- Using external tools (e.g., calling LLMs, searching the web)
|
- Using external tools (e.g., calling LLMs, searching the web)
|
||||||
- Keep in mind that *LLM-based tasks* (e.g., summarizing text, analyzing sentiment) are **not** utility functions; rather, they are *core functions* internal in the AI system, and will be designed in step 3.
|
- Keep in mind that *LLM-based tasks* (e.g., summarizing text, analyzing sentiment) are **not** utility functions; rather, they are *core functions* internal in the AI system, and will be designed in step 3.
|
||||||
- > **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 outline for your application’s flow.
|
3. **Flow Design**: Create a high-level outline for your application’s flow.
|
||||||
- Identify potential design patterns (e.g., Batch, Agent, 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
|
||||||
|
|
@ -48,7 +48,7 @@ These system designs should be a collaboration between humans and AI assistants:
|
||||||
- `exec`: The specific utility function to call (ideally, one function per node)
|
- `exec`: The specific utility function to call (ideally, one function per node)
|
||||||
|
|
||||||
|
|
||||||
4. **Data Schema (Data)**: Plan how data will be stored and updated.
|
4. **Data Design**: Plan how data will be stored and updated.
|
||||||
- For simple apps, use an in-memory dictionary.
|
- For simple apps, use an in-memory dictionary.
|
||||||
- For more complex apps or when persistence is required, use a database.
|
- For more complex apps or when persistence is required, use a database.
|
||||||
- For each node, specify:
|
- For each node, specify:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue