AI Framework Group
Vision
The AI Framework group is focused on how to support other product groups at GitLab with the AI Abstraction Layer, and GitLab AI feature development.
π Team OKRs
If you’re interested in the team’s Objectives and Key Results (OKRs), you can find them on GitLab.
π Team Members
Engineering Manager & Engineers
Name | Role |
---|---|
David O'Regan | Engineering Manager, AI Framework |
Alexander Chueshev | Staff Machine Learning Engineer, AI-powered:AI Framework |
Alejandro RodrΓguez | Senior Backend Engineer, AI Powered:AI Framework |
Bruno Cardoso | Senior ML Engineer, AI-powered:AI Framework |
Denys Mishunov | Staff Frontend Engineer, AI-powered:AI Framework |
Backend Engineer | Backend Engineer |
Lindsey Shelton | Frontend Engineer, AI-powered:AI Framework |
MaΕgorzata Ksionek | Staff Backend Engineer, AI Powered:AI Framework |
Michael Thomas | Backend Engineer |
Nathan Weinshenker | Intermediate Backend Engineer", AI Powered:AI Framework |
Shinya Maeda | Staff Backend Engineer, AI-powered:AI Framework |
Product, Design & Quality
Name | Role |
---|---|
Katie Macoy | Senior Product Designer, AI-powered:AI Framework |
Ottilia Westerlund | Security Engineer, Fulfillment (Fulfillment Platform, Subscription Management), Govern (Security Policies, Threat Insights), Monitor (Observability), Plan (Product Planning), AI-powered (Duo Chat, AI Framework, AI model validation, Custom models) |
Pini Wietchner | Senior Product Manager, AI-powered:AI Framework |
Suzanne Selhorn | Staff Technical Writer, AI-powered (Duo Chat, AI Framework, AI model validation, Custom models) |
Team members who are supporting this team on a short-term basis are located here where “Work priorities” include “AI Framework.”
β Team Responsibilities
Team responsibilities include
- Facilitating the integration of AI capabilities throughout GitLab by leveraging the AI Abstraction Layer and AI Gateway.
- Guaranteeing the presence of comprehensive global observability, monitoring, documentation, and enhancements in latency.
- Providing essential support for our AI chat system framework.
- Incorporating support for new AI providers when required.
- Assisting with the production support and ensuring the readiness of the AI Gateway.
- LLM inference support, including prompt enginering, response evaluation, fine tuning, evaluation, and more.
βοΈ How to reach us
Depending on the context here are the most appropriate ways to reach out to the IDE Group:
- Slack Channel:
#g_ai_framework
- Slack Groups:
@ai-framework
(entire team) and@ai-framework-engs
(just engineers)
π¦ Team Processes
π Regular team meetings
βοΈImportant: For every meeting, the AI Framework team’s meeting document should be used, and filled with the meeting notes, as well as references to any other sync meeting agendas/notes/recordings which have recently occurred. This will make it easier for people to find any meeting notes.
Team Meetings
-
Weekly Work Assignment Meeting
- When: Every Monday, alternating between 09:00 AM GMT+1 and 17:00 PM GMT+1
- What: This meeting is dedicated to workload assignment. The Engineering Manager and Product Manager assign work as needed for the entire team.
-
Bi-Weekly Engineering Sync
- When: Every other Thursday, alternating between 11:00 AM GMT+1 and 18:00 PM GMT+1
- What: This meeting is dedicated to the engineering team for the purpose of syncing up on progress, discussing technical challenges, and planning upcoming sprints.
-
Monthly Sync Retro
- When: Once a month
- What: This meeting is for our team retrospectives. We reflect on the past month, discuss what went well and what could be improved.
Shared calendars
- AI Framework PTO (Calendar ID:
c_eca9440729dba2cbd88b3117fa70839836fb5811cb072132b94c52f912a31bf5@group.calendar.google.com
) - AI-Powered Stage Calendar (Calendar ID:
c_n5pdr2i2i5bjhs8aopahcjtn84@group.calendar.google.com
)
AI Framework team members should sync your PTO events with AI Framework PTO calendar.
π Weekly EM Updates
Each week the team EM provides a Weekly Status update issue which aims to capture the most important items for the team to be aware of. These can be found here.
π AI Framework Board Outline
Our workflow process for our board is outlined below.
- Open π: This list includes all identified issues. An engineering manager will be assigned if either the Milestone or the “workflow::ready for development” label is missing.
- workflow::refinement π§ͺ: Issues in this stage are undergoing engineering refinement to ensure the proposed solution meets all requirements. Once refined, the “ready for development” label is applied.
- workflow::design βοΈ: During this phase, issues undergo design refinement. After design considerations are integrated, the “ready for development” label is applied.
- workflow::ready for development π―: Issues that are prioritized and assigned to a specific milestone are moved to this list, and the “ready for development” label is applied.
- workflow::in dev π©βπ»: When a developer begins work on an issue, they should move it to this list and apply the “in dev” label.
- workflow::in review π: After development is complete, the issue moves to this list, and the “in review” label is applied.
- workflow::verification β : Following a successful code and UX review, the issue should be moved to this list and the “verification” label should be applied.
- workflow::complete π: Once the issue is verified and confirmed to be working properly, it should be moved to this list, the “complete” label should be applied, and the issue should be closed.
π Issue Priority
To ensure that our developers are aware of the priority of their work, we use three labels:
- AIF-Priority::1: This label is for issues that are of the highest priority. These issues should be addressed first.
- AIF-Priority::2: This label is for issues that are of medium priority. These issues should be addressed after all Priority 1 issues have been resolved.
- AIF-Priority::3: This label is for issues that are of lower priority. These issues should be addressed after all Priority 1 and Priority 2 issues have been resolved.
π Processes
ποΈ Weekly
-
Open π: (DRI: PM) Capture and list new issues as they arrive. This stage serves as the initial holding area where issues await further classification and prioritization.
-
Workflow Design βοΈ: (DRI: Designer) Move issues into this lane for design refinement. Focus on detailing user experience and interface design. Essential for aligning the visual and functional aspects of the solution with user needs.
-
Workflow Refinement π§: (DRI: Engineering Lead) Issues undergo technical refinement here. Engineers review and adjust the technical aspects to ensure feasibility and adherence to technical standards.
-
Workflow Ready for Development π―: (DRI: PM/EM) Transition issues that have completed the refinement process here. They are fully specced and ready for developers to start coding.
-
Workflow in Development π»: (DRI: Assigned Developer) Coding and implementation of workflows happen in this stage. Developers build out the features and functionalities as specified.
-
Workflow in Review π: (DRI: QA/Reviewer) Conduct thorough reviews and testing of completed workflows. This includes code reviews and usability testing to ensure quality and functionality before final deployment.
-
Backlog Refinement π: (DRI: PM /EM) Once per week, review all the issues in the Open lane. Prioritize them based on their importance, urgency, and input from the team. Identify which issues need discovery work and which can be moved straight into workflow::ready for development.
-
Discovery Work Assignment π§ͺ: (DRI: PM/EM) Move issues that need discovery work into the workflow::problem validation lane. These issues are not yet fully defined and need further investigation before they can be developed.
-
Ready for Development Assignment π―: (DRI: PM/EM) Move issues that have the necessary details for development into the workflow::ready for development lane. These issues are either already assigned to an individual contributor (IC), or if not, are ordered by priority so they can be picked up with ease.
-
Progress Check π: (DRI: Assigned Developer) Check the workflow::in dev lane daily to see the status of the ongoing tasks.
-
Review Completed Tasks π₯: (DRI: Assigned Developer) Review the tasks in the workflow::in review lane. Ensure they are moving forward.
Issues for the AI Framework team are binary: they are categorized as either a discovery issue, requiring further investigation, or an implementation issue, ready for development. This approach helps us maintain a lean and efficient workflow.
π Issue Guidelines
These guidelines apply to all issues we use for planning and scheduling work within our group. Our Engineers can define specific implementation issues when needed, but the overall goal for our issues are as follows:
- Provide a meaningful title that describes a deliverable result.
- β
Add the new GitLab Duo chat package as a Vue2 extension
- β
Chat: move away from using OpenAI embeddings
- β
Make Chat better
- β
- Provide a meaningful description that clearly explains the goal of the issue, and provide some technical details if necessary.
- Should there be critical implementation steps or other useful ways to create small tasks as part of the issue, please use a checklist as part of the issue descriptions.
- The issue should have a weight, milestone and workflow label assigned.
It’s okay to create specific engineering-driven implementation issues for more complex features. These would be called Child Issues and they should always link back to their parent. If one issue would spawn many child issues, consider creating an Epic.
π Communication
The AI Framework Team communicates based on the following guidelines:
- Always prefer async communication over sync meetings.
- Don’t shy away from arranging a sync call when async is proving inefficient, however always record it to share with team members.
- By default communicate in the open.
- All work-related communication in Slack happens in the #g_ai_framework channel.
β² Time Off
Team members should add any planned time off in the “Time Off by Deel” slack app, so that the Engineering Manager can use the proper number of days off during capacity planning.
π€ Ad-hoc sync calls
We operate using async communication by default. There are times when a sync discussion can be beneficial and we encourage team members to schedule sync calls with the required team members as needed.
π Other Useful Links
π Dashboards (internal only)
- All Usage
- Requests per provider
- Error budgets
- AI Gateway SLIs
- GCP quota limits
- LLM Sidekiq completions
- Duo Chat Question Categorization
- Security Issues
- Reliability Issues
- Sentry via CompletionWorker
- Sentry via Feature Category
- Monthly Retros
- Chat QA Evaluation
- Chat REST API Error Ratio
πΉ GitLab Unfiltered Playlist
The AI Framework Group collates all video recordings related to the group and its team members in a playlist in the GitLab Unfiltered YouTube channel.
c24b2054
)