UoE BSc Computer Science First-class Honours --> Imperial MSc Advanced Comput'ing
An LLM-based personal planning and scheduling assistant that can help users to manage their daily tasks and appointments. The assistant reads a default schedule for the week from weekly_schedule.md
and can also be promtped to add, delete, or update tasks and appointments. The assistant can also be asked to provide a summary of the day’s tasks and appointments by brief me on my day
command (with a date timestamp).
The following data model are to be maintained by the assistant and optionally also the user:
weekly_schedule.md
and is read by the assistant when needed.temp_tasks.md
and will read and write to this file as needed.user_notes.md
and are read and written to as needed.The following tasks are to be performed by the assistant, and the process is broken down into multiple agents to ensure correctness:
Interpreter
identifies user request as this task, Reader
s reads data models and returns relevant information, Aggregator
combines and format the information, and Briefer
presents the information to the user.Interpreter
identifies user request as this task, Reader
s reads data models and returns relevant information, Aggregator
combines and format the information, and Briefer
presents the information to the user.Interpreter
identifies user request as this task, Reader
s reads data models and returns relevant information, Aggregator
combines and format the information, Proposer
proposes a list of changes to be made in the data models, Verifier
checks the proposed changes for correctness (or provide feedback that loops back to Proposer
; this loop will run for a maximum of 3 times), and Updater
updates the data models, finally Notifier
replies to the user with the changes.Interpreter
identifies user request as this task, Reader
s reads data models and returns relevant information, Aggregator
combines and format the information, Estimator
estimates or proposes a different estimate than the user provided time estimate, Planner
finds a list of suitable time slots for inserting the task, and Advisor
presents the information to the user.