内容
# 克劳德客户支持生产顶点
使用Anthropic Claude API和MCP(模型上下文协议)构建的生产风格AI客户支持代理。
该项目从一个基本的客户查找应用程序发展成为一个面向生产的支持系统,具有客户验证、退款处理、支持票据管理、结构化错误处理、会话管理和MCP工具集成。它还演示了使用Claude Code工作流的AI辅助开发。
---
# 功能
* 使用ID、电子邮件或姓名查找客户
* 订单查找
* 退款处理
* 敏感操作前的客户验证
* 支持票据创建
* 基于会话的客户验证
* 结构化JSON错误响应
* MCP服务器集成
* MCP检查器测试
* 使用Claude Code的AI辅助开发
---
# 已完成的Claude Code任务
在项目期间,Claude Code用于通过选择合适的内置工具(读取、Grep、编辑、Bash)完成现实世界的工程任务。
### 任务1 — 限制客户数据暴露
更新了`get_customer`工具,只返回:
* customer_id
* 名称
* 电子邮件
* 账户状态
而不是公开完整的客户记录。
**结果**
在保留现有应用程序功能的同时,提高了客户隐私。
---
### 任务2 — 添加全局异常处理
在主代理循环中实现了通用异常处理程序。
添加了以下功能:
* 结构化错误响应
* 异常日志记录
* 优雅的故障处理
* 提高生产可靠性
---
# 项目结构
```text
claude-customer-support-production-capstone/
│
├── agent.py
├── tool_runner.py
├── tools.py
├── mock_data.py
├── mcp_server.py
├── mcp.json
├── requirements.txt
├── .env
├── .gitignore
├── README.md
│
└── screenshots/
├── 01_Task_Prompt.png
├── 02_Code_Search_Grep.png
├── 03_Proposed_Code_Change.png
├── 04_Edit_Approval.png
├── 05_Code_Modification.png
├── 06_Implementation_Progress.png
└── 07_Task_Completed.png
```
---
# 关键改进
## 1. 客户验证
在处理退款之前,客户必须先验证其身份。
```python
if not session_state.get("verified_customer_id"):
return json.dumps({
"error": {
"type": "permission",
"retryable": False,
"message": "客户必须在退款前进行验证。"
}
})
```
这可以防止未经授权的退款请求。
---
## 2. 会话状态管理
```python
session_state = {
"verified_customer_id": None,
"verified_customer_name": None
}
```
代理在整个对话过程中记住已验证的客户。
---
## 3. 退款处理工具
```python
{
"name": "process_refund",
"description": "为已验证的客户处理退款。"
}
```
仅在成功验证后允许退款。
---
## 4. 支持票据创建
```python
{
"name": "create_support_ticket",
"description": "为未解决的问题创建支持票据。"
}
```
自动为客户的未解决问题创建票据。
---
## 5. 票据生成
```python
ticket_id = f"TICKET-{random.randint(1000,9999)}"
```
每个票据都有一个唯一的标识符。
---
## 6. 结构化错误处理
```python
{
"error": {
"type": "validation",
"retryable": False,
"message": "订单未找到。"
}
}
```
返回标准化的JSON错误响应,而不是通用故障。
---
## 7. MCP工具注册
```python
@mcp.tool()
def get_customer_tool(query: str):
return get_customer(query, session_state)
```
将Python函数公开为MCP工具。
---
## 8. MCP服务器
```python
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("support-agent-tools")
```
创建公开可用工具的MCP服务器。
---
## 9. MCP配置
```json
{
"mcpServers": {
"support-agent-tools": {
"command": "python",
"args": ["mcp_server.py"]
}
}
}
```
定义MCP服务器的启动方式。
---
## 10. MCP检查器测试
使用MCP检查器验证每个工具。
测试工具:
* get_customer_tool
* lookup_order_tool
* process_refund_tool
* create_support_ticket_tool
---
# 克劳德代码工作流
该项目演示了克劳德代码在AI辅助软件开发中的实际应用。
* 使用 **Grep** 定位目标函数。
* 使用 **Read** 理解实现。
* 使用 **Edit** 应用精确的代码修改。
* 在执行前批准代码更改。
* 在完成后验证实现。
---
# 使用的技术
* Python
* Anthropic Claude API
* MCP(模型上下文协议)
* FastMCP
* MCP检查器
* 克劳德代码
* python-dotenv
* JSON
---
# 运行代理
```bash
python agent.py
```
---
# 运行MCP服务器
```bash
python mcp_server.py
```
---
# 注意:与克劳德的对话在“outputs-与克劳德的对话”部分
# 作者
**DeepakKumar**
* 区块链和Web3开发人员
* 智能合约工程师
* AI代理构建器