# AI Feature Consulting Agent — Product Requirements Document

> **Product Owner**: liuhanlin
> **Project**: Workflow Agent Project
> **Organization**: Teams – Consulting
> **Project ID**: FY26 Vendor Student Program
> **Version**: V1
> **Date**: 2026-03-31

---

## 1. Background & Problem

### 1.1 Current Business Situation

The Teams PM team (especially the CMD SOX domain) receives a large volume of feature consulting questions daily through channels such as chat, email, IcM, and office hours from field teams (customer support engineers, partners, and internal engineers). These questions are highly concentrated in the following areas:

| Problem Area | Typical Example Questions |
|---------|------------|
| Transcription | "The customer's transcription button is grayed out; TAC has enabled allowTranscription" |
| Recording | "Is recording fully supported in the Gallatin cloud?" |
| Live Captions | "What license is required for translated captions?" |
| Custom Dictionary | "How do I enable the custom dictionary preview for a tenant?" |
| Copilot | "Does Copilot depend on the transcription feature?" |
| Compliance | "Why is a DLP policy blocking Graph API access to transcription?" |
| Graph API | "Why does Graph API return 404 while the Stream UI works fine?" |
| Policy | "How long does it take for a policy change to take effect? How to verify via PowerShell?" |

### 1.2 Core Pain Points

**PM Side:**
- Frequent context switching: PMs need to interrupt their current work to answer field questions
- Repetitive work: Similar questions recur repeatedly, requiring re-searching docs, browsing chat history, and compiling answers each time
- Knowledge loss: High-quality answers are scattered across various chat threads and cannot be reused

**Field Side:**
- Long wait times: After asking a question, responses may take hours or even days
- Unclear ownership: It's unclear which PM to ask, leading to inquiries in multiple places
- Inconsistent answers: Different answers may be given at different times

### 1.3 Quantitative Data (Based on Analysis of 225 Real Consulting Records)

- **68%** of questions are troubleshooting and how_to types — these are the most automation-suitable high-frequency questions
- Questions came from **4 different channels** (office hours, Teams chat, docs/email, customer feedback) — with recurring duplicates

---

## 2. Product Positioning

### 2.1 One-Line Definition

> **AI Feature Consulting Agent is a domain-expert AI assistant — like a senior PM who has read all PM documentation and remembers all past answers, capable of instantly providing cited, ready-to-use professional answers for field teams.**

### 2.2 What It Is Not

- ❌ Not a general-purpose chatbot — it only answers professional questions within the CMD SOX domain
- ❌ Not a search engine — instead of returning document links, it directly provides structured expert answers
- ❌ Not a PM replacement — uncertain questions are automatically escalated to the right person; PMs retain ultimate control

---

## 3. Target Users

### 3.1 Primary Users: Teams PMs

| Role | Usage Scenario | Expected Benefit |
|------|---------|---------|
| Feature PM | When interrupted by field inquiries, can hand the question to the Agent | Reduced context switching, focus on core work |
| Feature PM | Review the Agent's draft answers | 3–5x faster than writing from scratch |
| Feature PM | Browse the FAQ knowledge base | Track high-frequency questions, discover product pain points |

### 3.2 Beneficiary Users: Field Teams

| Role | Usage Scenario | Expected Benefit |
|------|---------|---------|
| Customer Support Engineer | Consult the Agent when encountering customer issues | Instant responses instead of hours-long waits |
| Field Engineer | Handle availability questions for specific cloud environments (GCCH/Gallatin) | Accurate feature matrix information |
| Partner | Encounter issues when integrating Graph API | Clear guidance on API endpoints, permissions, and limitations |

---

## 4. User Scenarios

### Scenario 1: Routine Troubleshooting (Automated Answer)

```
Field Engineer:
  "The customer's transcription button is grayed out in a Teams meeting.
   TAC has enabled allowTranscription, changed it a day ago. The BRB log shows
   disable reason: call_transcript_not_allowed_meeting_organizer.
   What's going on?"

Agent Answer (Confidence: HIGH):
  ✅ Direct diagnosis: Policy propagation has not completed
  ✅ Specific steps: PowerShell verification commands
  ✅ Key rule: Both the organizer and the current user need AllowTranscription = True
  ✅ Checklist for other possible causes
  ✅ Recommended action: Wait 24 hours; escalate via ICM if the issue persists after 48 hours
  ✅ Citation source: Teamspace Wiki — Transcription and Captions TSG

→ Result: The field engineer immediately gets an actionable answer without waiting for the PM
```

### Scenario 2: Ambiguous Question (Automatic Escalation)

```
Partner:
  "Our enterprise customer requires automatic language detection to go live
   before FY26 Q3. When is the roadmap?"

Agent Answer (Confidence: LOW → Escalation):
  ⚠️ Agent provides known information: Automatic language detection is the #1 user request;
     multiSTT is planned for FY26 H2
  ⚠️ But cannot confirm a specific date
  ⚠️ Automatically escalated to: Fei Zuo (CMD SOX - Language & LID)
  ⚠️ Accompanied by compiled background information so the PM can reply directly on top of it

→ Result: The PM receives a pre-processed question, saving 80% of research time
```

### Scenario 3: Custom Dictionary Customer Feedback

```
Japanese Customer:
  "Is it limited to only one dictionary per language for custom dictionaries?
   We want separate dictionaries for different departments."

Agent Answer (Confidence: MEDIUM):
  ✅ Confirms current limitation: One dictionary per language
  ✅ Explains the reason: Designed at the tenant level; does not support per-group/department
  ✅ Suggestion: Merge all department terminology into a single dictionary
  ⚠️ Note: Multi-dictionary requirement has been recorded as roadmap feedback

→ Result: Accurate answer + product feedback is automatically captured as a candidate FAQ entry
```

---

## 5. Core Functional Requirements

### 5.1 Intelligent Q&A (P0 — Must Have)

**Description**: Receives user text questions and returns cited professional answers.

**Requirement Details**:

| ID | Requirement | Acceptance Criteria |
|------|------|---------|
| F1.1 | Automatically classify question domain and question type | Covers 12 feature areas and 8 question types |
| F1.2 | Retrieve relevant historical Q&A based on knowledge base | Returns relevant records with a score ≥ 3.0 |
| F1.3 | Generate structured answers | Answer includes: Direct conclusion → Root cause (if applicable) → References with links; entire output is directly forwardable without PM editing |
| F1.4 | All answers must include citations | Every factual statement is traceable to a source document |
| F1.5 | Support differentiated answer strategies for different question types | Troubleshooting gets a diagnostic path, how_to gets steps, comparison gets a comparison table |
| F1.6 | Answers include specific product terminology | Uses precise policy names, API endpoints, PowerShell commands — not vague descriptions |

### 5.2 Quality Assessment & Confidence (P0 — Must Have)

**Description**: Every answer is automatically assessed for quality, producing a confidence signal.

| ID | Requirement | Acceptance Criteria |
|------|------|---------|
| F2.1 | Automatic quality self-check after answer generation | Checks 6 passing criteria; auto-retries if criteria are not met (up to 2 times) |
| F2.2 | Output a confidence signal | Three levels: HIGH / MEDIUM / LOW |
| F2.3 | Output dimensional scores | Accuracy (40%), Completeness (25%), Actionability (20%), Reusability (15%) |
| F2.4 | Low-confidence questions are not answered directly | LOW confidence automatically triggers the escalation flow |

### 5.3 Intelligent Escalation Routing (P0 — Must Have)

**Description**: Questions that cannot be confidently answered are automatically routed to the correct PM/team.

| ID | Requirement | Acceptance Criteria |
|------|------|---------|
| F3.1 | Automatically identify escalation targets for low confidence | Each feature area has a clear escalation team mapping |
| F3.2 | Escalation includes context | Includes compiled question background, retrieved relevant knowledge, and a preliminary draft |
| F3.3 | Forced escalation trigger conditions | Forced escalation when the question involves specific timelines, tenant-specific issues, live incidents, or requires internal tools |

### 5.4 FAQ Knowledge Accumulation (P1 — Should Have)

**Description**: Every successful answer automatically generates a reusable FAQ entry.

| ID | Requirement | Acceptance Criteria |
|------|------|---------|
| F4.1 | Automatically generate candidate FAQ entries | Includes: standardized question, classification, answer, citation, tags |
| F4.2 | Automatic tagging | Extracts keyword tags based on question content (policy, Graph, GCCH, etc.) |
| F4.3 | FAQ entries can be retrieved and reused subsequently | Historical FAQs participate in knowledge retrieval when new questions are queried |

---

## 6. Answer Quality Standards

### 6.1 Scoring Criteria

> **Assessment Note**: Evaluating answer quality requires human involvement, and the criteria should be flexibly applied in the context of specific business scenarios.
> Not every question requires an exhaustive answer — some questions (e.g., simple yes/no confirmations, known limitation explanations) only need to be concise and clear;
> over-elaborating actually reduces efficiency. The core criterion for scoring should be "whether it meets the asker's actual needs."

#### Scoring Dimensions

| Dimension | Weight | Score % | Description |
|------|------|---------|------|
| **Accuracy** | Required | 40% | Information is factually correct; does not fabricate features or configuration items. If Accuracy < 3.0, the overall score is capped at 2.0 regardless of other dimensions |
| **Relevance** | High | 25% | Whether the depth and detail level of the answer matches the complexity and context of the question |
| **Actionability** | Medium–High | 20% | Whether it provides actionable next steps the asker can directly execute (depends on question type) |
| **Traceability** | Medium | 15% | Whether key facts include cited sources (applicable to technical troubleshooting questions) |

> **Composite Score Formula**: `Score = Accuracy × 0.40 + Relevance × 0.25 + Actionability × 0.20 + Traceability × 0.15`
> 
> Accuracy is a gate dimension: if Accuracy < 3.0, the overall score is capped at 2.0, regardless of how well other dimensions score.

#### Grade Reference

| Grade | Score | Criteria | Typical Scenario Example |
|------|------|------|-------------|
| Excellent | 5.0 | Precisely matches the asker's intent; depth and detail are just right; technical questions have citations and executable steps; directional questions have clear judgment | Complex troubleshooting provides a complete diagnostic path; simple confirmation answered accurately in one sentence |
| Good | 4.0–4.9 | Correctly answers the core question, but has minor room for improvement in citations, edge cases, or wording | Answer is correct but misses one relevant known limitation |
| Acceptable | 3.0–3.9 | Answers the main question, but lacks important context or is too generic, requiring the asker to follow up | Gives direction but no specific commands or steps |
| Poor | 2.0–2.9 | Partially relevant but has obvious deficiencies: inaccurate, missing critical parts, or off-topic | Multi-part question only half answered |
| Failing | 1.0–1.9 | Off-topic, factually incorrect, or almost no reference value | Fabricated a non-existent feature name |

> **Note**: The above is a reference framework; the team may continuously calibrate the specific criteria for each grade based on the business phase and actual usage feedback.
> It is recommended to periodically (e.g., quarterly) sample and review scored cases to ensure scoring consistency across evaluators.

### 6.2 Characteristics of High-Quality Answers (Extracted from Real Data)

**Data Observation**: After analyzing scoring rationale from 225 real PM consulting records, high-scoring answers consistently exhibit the following characteristics:

✅ **Precise Diagnosis** — The first sentence provides a conclusion or diagnosis without beating around the bush

✅ **Specific Product Terminology** — Precise policy names (`AllowTranscription`), API endpoints, feature flags, team names

✅ **Verifiable Steps** — PowerShell commands, Kusto queries, log strings

✅ **Cited Sources** — References to specific TSG documents, Wiki pages

✅ **Action Path** — Clear workaround, escalation team, time expectations (e.g., "policy propagation takes 24 hours")

✅ **Structured Formatting** — Numbered steps, bolded keywords, code blocks

✅ **Directly Forwardable** — PM can copy-paste and send directly to the asker without editing

**Common Issues in Low-Scoring Answers**:

❌ Vague and generic — "might work" "should be possible" without specific details

❌ Incomplete answer — Multi-part questions only partially answered

❌ No action guidance — Explains the cause but doesn't say what to do

❌ Fabricated information — Made-up feature names, non-existent configuration items

❌ Meta-commentary / self-reference — Phrases like "Based on my search results…", "So the most accurate answer is…" that expose internal reasoning

### 6.3 Style Differences Across Channels/Scenarios

From the data, high-quality answers vary in style depending on the scenario:

| Source | Style Characteristics | Adaptation Strategy |
|------|---------|---------|
| Office Hours | Operations-oriented, focused on diagnosis and troubleshooting | Emphasize troubleshooting checklists, log analysis, escalation paths |
| Teams Chat | Consulting and architecture discussion oriented | Emphasize solution comparisons, API details, compliance constraints |
| Docs/Email | Analysis and product direction oriented | Emphasize data insights, priority assessments, roadmap information |
| Customer Feedback | Product usage guidance oriented | Emphasize operational steps, known limitations, phased rollout information |

---

## 7. Input & Output Definition

### 7.1 Input

| Field | Required | Description |
|------|---------|------|
| Question Text | ✅ Required | Original question from the field |
| Feature Area | Optional | If not provided, the Agent auto-classifies |
| Question Type | Optional | If not provided, the Agent auto-classifies |
| Customer Context | Optional | Background info such as industry, scale, cloud environment |
| Urgency | Optional | low / normal / high / critical |
| Source Channel | Optional | chat / email / icm / office_hours |
| Attachment Link | Optional | Supporting materials such as screenshots, log files |

### 7.2 Output

| Field | Description |
|------|------|
| **Answer Draft** | Structured expert answer with citation markers |
| **Citation Evidence** | List of source documents, each with relevant excerpts |
| **Confidence** | HIGH / MEDIUM / LOW |
| **Quality Score** | Four-dimensional scores: Accuracy, Completeness, Actionability, Reusability |
| **Escalation Info** | (Only when LOW) Recommended PM and team for escalation |
| **FAQ Candidate** | Reusable standardized Q&A entry |
| **Resolution Status** | resolved / partial / unresolved / redirected |

---

## 8. Knowledge Data Sources

The Agent's answering capability is built on the following real data:

| Data Source | Description | Record Count | Average Quality | Strengths |
|---------|------|--------|---------|---------|
| SOX Office Hour | Q&A records from CMD SOX regular Office Hours | 30 | ⭐ 4.1 | Operations troubleshooting, policy diagnostics |
| PM Teams Chat | Fei Zuo's 1:1 Teams consulting conversations | 25 | ⭐ 4.0 | Graph API, compliance, architecture comparisons |
| Docs & Email | Compiled from OCV analysis reports, spec documents, and emails | 25 | ⭐ 3.8 | Data analysis insights, product direction |
| Custom Dictionary Feedback | Real feedback from private preview customers | 45 | ⭐ 3.2 | Custom dictionary deep domain |
| Simulated Gold Standard Data | High-quality reference Q&A (used as evaluation baseline) | 100 | ⭐ 4.8 | Complete diagnostic paths, comprehensive coverage |
| **Total** | | **225** | **⭐ 4.1** | |

---

## 9. Success Metrics

| Metric | V1 Target | Measurement Method |
|------|--------|---------|
| **PM Usage Frequency** | Weekly active PMs ≥ 5, monthly usage ≥ 50 queries | System logs tracking weekly/monthly unique PM users and query count |
| **Auto-Answer Rate** | > 60% of questions reach HIGH confidence | Confidence distribution statistics |
| **Answer Quality** | Average score ≥ 4.0 / 5.0 | LLM self-assessment (Accuracy×0.40 + Relevance×0.25 + Actionability×0.20 + Traceability×0.15) + PM manual spot-check |
| **PM Satisfaction** | ≥ 4.0 / 5.0 | Monthly user feedback survey |

---

## 10. V1 Scope Definition

### 10.1 What V1 Will Do ✅

- Handle high-frequency consulting questions across **12 feature areas**
- Retrieval-augmented generation based on a knowledge base of **225 real Q&As**
- Every answer includes **citations, confidence scoring, and quality self-check**
- Low-confidence answers automatically **routed to the correct PM/team**
- Automatically generate **candidate FAQ entries** for knowledge accumulation
- Provide a **REST API** for integration calls

### 10.2 What V1 Will Not Do ❌

| Not Supported | Reason | Planned Version |
|---------|------|---------|
| Teams Bot integration | Validate core Q&A capability first (approach already selected; see Section 11) | V2 |
| Multi-turn conversation / follow-ups | V1 focuses on single-turn answer quality | V2 |
| Automatic document import | V1 uses structured Markdown data | V2 |
| User feedback loop | Need to accumulate sufficient usage data first | V2 |
| Semantic vector search | V1 uses keyword search to validate feasibility | V2 |
| User authentication / permissions | V1 is an internal tool | V2 |

### 10.3 Hard Constraints

1. **All answers must include citations** — Factual statements without citations are not allowed in output
2. **Low confidence must trigger escalation** — When uncertain, prefer escalation over fabrication
3. **Do not fabricate dates** — For roadmap questions, use "I cannot share exact ship dates externally"
4. **Knowledge boundary limited to the CMD SOX domain** — Do not answer questions outside the knowledge scope

---

## 11. Teams Integration Plan

> The Agent's ultimate form is to be embedded in a Teams application, enabling PMs and Field to use it seamlessly in their daily workflow.

### 11.1 Approach Comparison

| | **Approach A: Teams Bot** | **Approach B: Copilot Studio Agent** | **Approach C: Teams Tab App** |
|---|---|---|---|
| **Interaction Method** | @Agent in Teams chat to ask questions | Invoke Agent plugin within M365 Copilot | Open a Teams embedded tab web page |
| **User Experience** | ⭐⭐⭐ Most natural — like chatting with a colleague | ⭐⭐ Requires opening the Copilot interface first | ⭐ Requires switching to the tab |
| **Answer Display** | Adaptive Cards (rich cards: collapsible, citations, buttons) | Copilot native format | Fully custom HTML/React |
| **Reuse Existing Backend** | ✅ Directly calls the FastAPI `/ask` endpoint | ⚠️ Requires adaptation to Copilot plugin protocol | ✅ Directly calls the API |
| **Development Cost** | Medium — `teams-ai` Python SDK | Low — Declarative configuration + API connector | Medium — Frontend + API integration |
| **Deployment Requirements** | Azure Bot Service + Entra App Registration | Copilot Studio platform (requires license) | Azure Static Web App |
| **Supported Scenarios** | 1:1 private chat + group chat @mention + channel | Within Copilot Chat | Teams tab |
| **2026 Technical Direction** | ⭐ Microsoft recommended path (Teams SDK) | Depends on team Copilot adoption rate | General-purpose but interaction is not direct enough |

### 11.2 Recommended Approach: Teams Bot (Approach A)

**Rationale**:

1. **Best fits user habits** — PMs are asked questions by Field in Teams chat; the Agent should answer in the same context
2. **Most natural interaction** — A field engineer types `@FeatureConsultingAgent The transcription button is grayed out, what should I do?` → The Agent replies directly in the chat, no interface switching needed
3. **Rich display with Adaptive Cards** — Structured cards can display:
   - Answer body (supports Markdown formatting)
   - Citation source list (collapsible/expandable)
   - Confidence label (HIGH ✅ / MEDIUM ⚠️ / LOW ❌)
   - Escalation button (one-click ping to the corresponding PM)
   - Feedback buttons (👍 / 👎 to rate answer quality)
4. **`teams-ai` Python SDK** — Microsoft's next-generation SDK launched in 2025, natively supports AI agent mode, and can directly reuse the existing Python backend
5. **Multi-scenario support** — Simultaneously supports:
   - 🗣️ 1:1 private chat: Field engineers directly ask the Agent
   - 👥 Group chat @mention: @Agent anytime during discussions for answers
   - 📢 Channel deployment: Automatically answer recurring questions in Office Hour channels

### 11.3 Teams Bot Interaction Design

**Scenario A: Field engineer asks a question in 1:1 chat**

```
┌──────────────────────────────────────────────┐
│  Field Engineer → AI Feature Consulting Agent │
│                                              │
│  👤 David: The customer's transcription       │
│  button is grayed out. TAC already enabled    │
│  allowTranscription, changed it a day ago.    │
│  BRB log shows disable reason:               │
│  call_transcript_not_allowed_meeting_organizer│
│  What's going on?                            │
│                                              │
│  🤖 Agent:                                    │
│  ┌────────────────────────────────────────┐   │
│  │ 📋 Feature Consulting Answer          │   │
│  │ Confidence: ✅ HIGH                    │   │
│  │ Area: transcription | Type: troubleshoot│  │
│  ├────────────────────────────────────────┤   │
│  │ Policy propagation has not completed.  │   │
│  │ AllowTranscription requires up to 24   │   │
│  │ hours to propagate to the client...    │   │
│  │                                        │   │
│  │ Verification steps:                    │   │
│  │ ```powershell                          │   │
│  │ Get-CsTeamsMeetingPolicy -Identity ... │   │
│  │ ```                                    │   │
│  │                                        │   │
│  │ ⚠️ Note: Both the organizer and the    │   │
│  │ current user need                      │   │
│  │ AllowTranscription = True              │   │
│  ├────────────────────────────────────────┤   │
│  │ 📚 Citation: Teamspace Wiki — TSG ▼   │   │
│  │ 👍 Helpful  👎 Needs improvement       │   │
│  │ 📤 Forward to colleague               │   │
│  └────────────────────────────────────────┘   │
└──────────────────────────────────────────────┘
```

**Scenario B: @Agent in a group chat**

```
┌──────────────────────────────────────────────┐
│  CMD SOX Office Hour Group Chat               │
│                                              │
│  👤 Priya: @AI Feature Consulting Agent       │
│  Is recording fully supported in the          │
│  Gallatin cloud?                              │
│                                              │
│  🤖 Agent:                                    │
│  ┌────────────────────────────────────────┐   │
│  │ 📋 Gallatin Cloud Recording Support    │   │
│  │ Confidence: ⚠️ MEDIUM                  │   │
│  ├────────────────────────────────────────┤   │
│  │ Gallatin recording is **partially      │   │
│  │ supported**:                           │   │
│  │ ✅ Desktop recording — Available       │   │
│  │ ❌ Auto-recording — Not supported      │   │
│  │ ❌ Transcription — Not available       │   │
│  │ ❌ Captions (CART/AI) — Not available  │   │
│  ├────────────────────────────────────────┤   │
│  │ 📚 Citation: CMD Special Clouds        │   │
│  │ Matrix ▼                               │   │
│  │ 💬 Need more details? Click to         │   │
│  │ escalate to PM                         │   │
│  └────────────────────────────────────────┘   │
└──────────────────────────────────────────────┘
```

**Scenario C: Low-confidence automatic escalation**

```
┌──────────────────────────────────────────────┐
│  Partner → AI Feature Consulting Agent        │
│                                              │
│  👤 Partner: When will automatic language     │
│  detection GA?                                │
│                                              │
│  🤖 Agent:                                    │
│  ┌────────────────────────────────────────┐   │
│  │ ⚠️ PM Confirmation Needed              │   │
│  │ Confidence: ❌ LOW — Auto-escalated     │   │
│  ├────────────────────────────────────────┤   │
│  │ Information I currently have:          │   │
│  │ • Automatic language detection is the  │   │
│  │   #1 user request                      │   │
│  │ • multiSTT is planned for FY26 H2     │   │
│  │ • But I cannot confirm the specific    │   │
│  │   launch date                          │   │
│  │                                        │   │
│  │ Escalated to: @Fei Zuo                 │   │
│  │ Team: CMD SOX - Language & LID         │   │
│  ├────────────────────────────────────────┤   │
│  │ 📚 Background materials compiled ▼    │   │
│  └────────────────────────────────────────┘   │
└──────────────────────────────────────────────┘
```

### 11.4 Teams Bot Technical Details

| Component | Technology Choice | Description |
|------|---------|------|
| Bot SDK | `teams-ai` (Python) | Microsoft's recommended Teams Bot SDK for 2025+, with native AI agent support |
| Message Handling | Teams Activity Handler | Handles user messages, @mentions, and Adaptive Card interactions |
| Answer Display | Adaptive Cards | Structured cards for displaying answers, citations, confidence, and action buttons |
| Authentication | Entra ID (Azure AD) | Bot App Registration + SSO user identity recognition |
| Deployment | Azure Bot Service + App Service | Bot registration + Python Web App hosting |
| Backend Call | Internal HTTP call to `/ask` API | The Bot layer serves as a thin adapter; core logic reuses the existing FastAPI backend |

**Architecture Relationship**:

```
Teams Client
     │
     ▼
Azure Bot Service (Message Routing)
     │
     ▼
Teams Bot Adapter Layer (teams-ai SDK)
  ├─ Parse user message
  ├─ Construct AgentRequest
  ├─ Call ConsultingAgent.process_question()
  ├─ Render AgentResponse as Adaptive Card
  └─ Return to Teams Client
     │
     ▼
Existing ConsultingAgent Backend (Fully Reused)
  ├─ Classify → Retrieve → Generate → Self-assess → Confidence → Route
```

### 11.5 Alternative Approaches Retained

Although Approach A is recommended, Approaches B and C can serve as supplements:

- **Approach B (Copilot Studio)** can be added as a supplementary channel in the V2 phase, allowing users of M365 Copilot to also invoke the Agent
- **Approach C (Teams Tab)** can be used to build a management panel (view FAQ library, statistics, knowledge base management), complementing the Bot

---

## 12. Future Evolution

### V2 Plan

- 🤖 **Teams Bot Launch**: Implement Approach A; interact with the Agent directly in Teams
- 🔍 **Semantic Search**: Introduce ChromaDB or Azure AI Search for vector retrieval
- 🔄 **Feedback Loop**: PMs score answers → feedback feeds into quality optimization
- 💬 **Multi-Turn Conversation**: Support follow-up questions and context continuation
- 📥 **Automatic Document Import**: New PM documents automatically enter the knowledge base

### V3 Vision

- 🌐 **Cross-Domain Expansion**: Expand from CMD SOX to more Teams PM domains
- 📊 **Trend Insights**: Automatically discover high-frequency question trends and proactively alert PMs
- 🔗 **IcM Integration**: Escalated questions automatically create IcM tickets
- 📝 **Answer Version Management**: Track answer updates driven by product changes
- 🧩 **Copilot Studio Plugin**: Launch Approach B as a supplementary channel
- 📊 **Teams Tab Management Panel**: Use Approach C for knowledge base management and statistics

---

## 13. Related Links

| Resource | Link |
|------|------|
| Project Code | `C:\coding\AI Feature Consulting Agent\` |
| Data Repository | [github.com/fezuo_microsoft/agent-feature-consulting](https://github.com/fezuo_microsoft/agent-feature-consulting) |
| Project Homepage | [workflow_agent_intern_cc_2026](https://github.com/fezuo_microsoft/workflow_agent_intern_cc_2026) |
| Technical Documentation | `docs/skills.md` — Detailed technical architecture and implementation docs |
| Data Analysis | `docs/data_analysis_report.md` — Dataset analysis report |
