forked from MarcinKorcz101/mk-ai-agents
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
83 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
## Development Plan: Enhancing the LLMPostor GUI | ||
|
||
This plan outlines the development of a comprehensive GUI for the LLMPostor project, focusing on user interaction, game control, and data visualization. | ||
|
||
**Phase 1: Core GUI Structure and Game Control** | ||
|
||
1. **GUI Framework Selection:** | ||
- Streamlit | ||
2. **Basic GUI Layout:** | ||
- Create a main window with distinct sections for: | ||
- **Turn Control:** | ||
- Slider to navigate through game turns. | ||
- "Previous Turn" and "Next Turn" buttons for sequential navigation. | ||
- **Game Control:** | ||
- "Resume" and "Stop" buttons to control game execution. | ||
- "Save State" functionality to save the current game state to a separate file. | ||
- **Player Action Selection:** | ||
- Section for manual action selection, allowing users to choose actions for a specific player. | ||
- **Save Game State:** | ||
- Implement functionality to save the game state to a separate file. | ||
|
||
**Phase 2: Discussion and Voting Visualization** | ||
|
||
1. **Discussion Window:** | ||
- Create a separate window to display the discussion phase of the game. | ||
- Implement a chat-like interface to visualize player messages: | ||
- Display messages chronologically. | ||
- Different player colors for easy identification. | ||
2. **Voting Results Visualization:** | ||
- Create a section within the Discussion window to display voting results. | ||
- Visualize voting results using a clear and intuitive representation: | ||
- Bar chart: Show the number of votes for each player. | ||
|
||
**Phase 3: Cost Estimation and LLM Interaction Visualization** | ||
|
||
1. **Cost Estimation:** | ||
- Display estimated game costs at the top of the GUI. | ||
- Include token usage and cost for each player: | ||
- Display this information in a clear and concise format. | ||
2. **LLM Interaction Visualization:** | ||
- Create a chat window to visualize prompts and responses of player LLMs. | ||
- Implement a mechanism to collapse prompts by default, allowing users to expand them when needed. | ||
- Display prompts and responses in a chronological order. | ||
|
||
**Phase 4: Refinement and Testing** | ||
|
||
1. **GUI Refinement:** | ||
- Improve the overall aesthetics and user experience of the GUI. | ||
- Ensure consistent styling and layout across all sections. | ||
- Use appropriate color schemes, fonts, and spacing to enhance readability and visual appeal. | ||
2. **Testing:** | ||
- Thoroughly test all GUI functionalities, including: | ||
- Turn navigation | ||
- Game control | ||
- Player action selection | ||
- Discussion and voting visualization | ||
- Cost estimation and LLM interaction visualization | ||
- Conduct usability testing with real users to gather feedback and identify areas for improvement. | ||
3. **Error Handling:** | ||
- Implement robust error handling mechanisms to prevent unexpected behavior. | ||
- Handle potential errors gracefully, providing informative messages to the user. | ||
4. **Documentation:** | ||
- Create comprehensive documentation for the GUI, including: | ||
- User guide: Explain how to use the GUI, including navigation, controls, and features. | ||
- Developer documentation: Provide detailed information about the GUI's architecture, code structure, and API. | ||
|
||
**Additional Considerations:** | ||
|
||
- **Scenario Selection:** Allow users to choose from a library of pre-defined scenarios or create their own. | ||
- Implement a scenario selection menu or dropdown. | ||
- Provide options to customize scenario parameters (e.g., number of players, impostors, task difficulty). | ||
- **Player Customization:** Allow users to customize player names, avatars, and LLM models. | ||
- Implement a player customization section. | ||
- Provide a list of available LLM models and allow users to select their preferred options. | ||
- **Game Speed Control:** Implement a slider or buttons to adjust the speed of the game simulation. | ||
- Allow users to control the pace of the game based on their preferences. | ||
- **Game History:** Provide a log of past game turns, including player actions, discussion messages, and voting results. | ||
- Implement a game history section that displays a chronological record of game events. | ||
- Allow users to filter and search through the game history. | ||
- **Data Export:** Allow users to export game data (e.g., player actions, discussion transcripts, voting results) in various formats (e.g., CSV, JSON). | ||
- Implement an export functionality that allows users to save game data for further analysis. | ||
|
||
This development plan provides a structured approach to building a comprehensive and user-friendly GUI for the LLMPostor project. By following these phases and considering the additional features and extensions, you can create a powerful tool for analyzing and visualizing the persuasive abilities of LLMs in a game-like environment. |