Study a ChatGPT-style assistant product system design covering conversations, streaming responses, context assembly, model calls, safety checks, and mobile clients. The question is useful for practicing message state, run records, retries, partial failures, and observability.
Design a ChatGPT-style assistant product. Cover the user experience, conversation state, message streaming, model invocation, safety and error handling, and how clients such as mobile apps interact with the backend.
<details>
<summary>Hint 1</summary>
Start by naming the core entities, constraints, and success criteria.
</details>
<details>
<summary>Hint 2</summary>
Make the trade-offs explicit before going deep on implementation details.
</details>
### Constraints & Assumptions
- Users have multi-turn conversations.
- Responses may stream token by token.
- Conversation history should be recoverable across sessions.
- The design should support product iteration and operational debugging.
### Clarifying Questions to Ask
- What platforms must be supported?
- What context length and attachment types are required?
- Do responses need moderation before display?
- What latency and availability targets apply?
- How should user data retention work?
### What a Strong Answer Covers
```premium-lock What a Strong Answer Covers
```
### Follow-up Questions
- How would you support shared conversations?
- How would you handle a model timeout mid-stream?
- How would the mobile client recover after app backgrounding?
- What would you log without exposing sensitive content?
Quick Answer: Study a ChatGPT-style assistant product system design covering conversations, streaming responses, context assembly, model calls, safety checks, and mobile clients. The question is useful for practicing message state, run records, retries, partial failures, and observability.
Design a ChatGPT-style assistant product. Cover the user experience, conversation state, message streaming, model invocation, safety and error handling, and how clients such as mobile apps interact with the backend.
<details>
<summary>Hint 1</summary>
Start by naming the core entities, constraints, and success criteria.
</details>
<details>
<summary>Hint 2</summary>
Make the trade-offs explicit before going deep on implementation details.
</details>
Constraints & Assumptions
Users have multi-turn conversations.
Responses may stream token by token.
Conversation history should be recoverable across sessions.
The design should support product iteration and operational debugging.
Clarifying Questions to Ask
What platforms must be supported?
What context length and attachment types are required?
Do responses need moderation before display?
What latency and availability targets apply?
How should user data retention work?
What a Strong Answer Covers Premium
Follow-up Questions
How would you support shared conversations?
How would you handle a model timeout mid-stream?
How would the mobile client recover after app backgrounding?
What would you log without exposing sensitive content?