Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(ai): Creates AI guidelines. #4175

Merged
merged 13 commits into from
Oct 10, 2024
81 changes: 81 additions & 0 deletions packages/documentation-site/patternfly-docs/content/AI/about-ai.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
id: About AI
section: AI
edonehoo marked this conversation as resolved.
Show resolved Hide resolved
---

**Artificial intelligence (AI)** is transforming experiences, enabling more personalized, efficient, and innovative digital interactions. When used thoughtfully and intentionally, AI can enhance the user experience of products designed with PatternFly.

To guide the use of AI in design practices, we have developed AI-driven design principles and guidelines that consider how:

- The way that we design is just as important as what we design.
- AI experiences can impact people in both desired and undesired ways.

## AI principles

These design principles build an ethics-first framework and guide the use of AI with PatternFly. AI systems should be:
- Accountable.
- Explainable.
- Transparent.
edonehoo marked this conversation as resolved.
Show resolved Hide resolved
- Fair.
- Human-centered.

### Accountable
Clear responsibilities are defined for AI design, development, and deployment processes—including policies and the documentation of design decisions and processes​.

Accountability includes:

- **Accessible policies:** Company policies should be readily accessible to all team members.

- **Legal compliance:** All necessary laws, regulations, and ethical guidelines must be followed throughout the development process.

### Explainable
AI systems are easy to explain and comprehend. Our users can understand who is making decisions and how these decisions are made.

Explainability includes:

- **Understandable outcomes:** To build trust and help users make use of AI conclusions, clear explanations of how these conclusions are reached should be provided.

### Transparent
Processes, decisions, and practices involved in AI systems are transparent.

Transparency includes:

- **Transparent processes and decisions:** To help users understand intentions and decision-making methods, design processes and decisions should be well documented.

- **Data transparency:** Informed consent must be obtained to collect and use data. The ways that user data is collected, stored, and used should be shared.

### Fair
AI systems are inclusive, accessible, and do not amplify bias.

Fairness includes:

- **Bias mitigation:** To prevent discriminatory outcomes, potential biases should be identified and reduced.

- **Inclusive design:** To avoid systemic bias, designs should be inclusive and accommodating of various user demographics.

- **Equal access:** Access to AI technologies should be available and beneficial to most users and communities.

### Human-centered
AI systems are human-centered and focus on accessibility, transparency, and user empowerment.

Human-centered design considers:

- **Value and need alignment:** AI systems should be aligned with user needs and values. They should be continuously refined based on user feedback and ethical considerations.

- **Cultural sensitivity:** Cultural differences should be considered and respected.

- **Data rights and control:** Users should have control over their data, including the ability to access, modify, and delete their information.

- **Privacy protection:** Personally identifiable information must be protected and used responsibly.

## Red Hat policies

If you are using PatternFly to design Red Hat products, adhere to AI-related policies that Red Hat has previously outlined.

Currently, Red Hat:
- Requires approval before using AI technology for business related to Red Hat.
- Requires approval before certain information can be used as input for AI technology.
- Requires review, testing, and validation of generative AI model output.
- Provides a few exceptions to this policy.

[View policy details (requires Red Hat login).](https://source.redhat.com/?signin&r=%2fdepartments%2flegal%2fglobal_legal_compliance%2fcompliance_folder%2fpolicy_on_the_use_of_ai_technologypdf)
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
id: AI guidelines
section: AI
edonehoo marked this conversation as resolved.
Show resolved Hide resolved
---

import {Alert} from '@patternfly/react-core';

<Alert variant="info" title="Data privacy" ouiaId="AIInfoAlert" >
Always consider data privacy when entering company or personal information into AI resources, and ensure compliance with all company data protection policies and rules around AI usage.
</Alert>

Before designing, developing, and using AI, consider the following ethical and best-practice guidelines.

## Determine if AI adds value.

Not all uses of AI are good for your UX strategy. To make sure that AI enhances the user experience, consider the following practices:

- Identify real user needs to ensure that AI features will solve real issues to improve the user experience.
- Leverage AI to increase productivity and efficiency.
- Personalize user experience with AI to make engagements more personal and relevant.
- Make design processes more sustainable to save time, effort, and prepare for the future.

For example, it would be valuable to add features like:
- AI-driven search, to tailor search results to a user's unique needs.
- AI that helps streamline onboarding, data entry, or routine job tasks.
- AI that makes product recommendations based on a user's history.

It is not valuable to add AI features simply because they are new, trendy, or fun. They need to matter to the user.

## Enhance human ability with AI: don't replace it.

AI is best when it enhances human abilities, not when it's used to replace humans. It cannot exist in a silo&mdash;humans help bring the value of AI to life.

To ensure that the design of AI systems is human-centered, follow these practices:

- Nurture collaboration and cross-team alignment.
- Welcome multiple perspectives to encourage creativity and help mitigate bias.
- Check AI output for accuracy and identify areas where meaning is lost, language isn't inclusive, or information isn't true. Ask peers to review your AI-generated deliverables to help fact-check and catch mistakes.

## Be transparent with users.

Transparency is essential for ethical AI usage. To help users understand and trust AI features:

- Tell users when AI is being used.
- Make its capabilities and limitations clear to set appropriate expectations.
- Explain how AI makes decisions.
- Keep users in control and let them decide how they interact with AI.
- Be clear and honest when AI fails or hallucinates.

## Be prepared for something to go wrong.

Errors and failure are inevitable when working with AI, so it is essential that you are prepared to handle undesired outcomes. You should understand the risk involved in AI and the impact that an error may have.

To create a plan for issues, start by following these guidelines:

- When AI fails, be explicit about errors and let users regain control as they want.
- Provide easy access to human support.
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ if (process.env.EXTENSIONS_ONLY === 'true') {
{ section: 'get-started' },
{ section: 'design-foundations' },
{ section: 'tokens' },
{ section: 'AI' },
edonehoo marked this conversation as resolved.
Show resolved Hide resolved
{ section: 'accessibility' },
{ section: 'UX writing' },
{ section: 'components' },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ module.exports = (sourceMD, sourceProps, sourceFunctionDocs) => {

sourceMD(path.join(contentBase, 'tokens/**/*.md'), 'tokens');

sourceMD(path.join(contentBase, 'AI/**/*.md'), 'AI');
edonehoo marked this conversation as resolved.
Show resolved Hide resolved

// Gallery pages
const galleryBase = path.join(__dirname, "../patternfly-docs/pages");
sourceMD(path.join(galleryBase, "landing-pages/**/*.md"), "landing-pages");
Expand Down
Loading