本文通过一个完整案例,展示如何使用 Agent Dev Dashboard + GLM-4.7 进行实际的开发工作。
Agent Dev Dashboard GitHub 仓库
在这里插入图片描述

📋 案例背景

项目: 电商后端服务 ecommerce-api
任务: 添加用户商品评论功能
团队: 3 人(Alice 作为 Owner,Bob 和 Charlie 作为 Member)
AI: 智谱 GLM-4.7 大模型

第一步:创建项目并邀请成员

1.1 Alice 创建项目

登录系统后,在首页填写:

字段
Project name ecommerce-api
Repo URL git@github.com:acme/ecommerce-api.git
Default branch main

系统自动克隆仓库到本地。

1.2 Alice 邀请团队成员

使用邀请码系统

  1. Alice 进入项目详情页
  2. 在 Invitations 区块设置:
    • 有效期:7 天
  3. 点击 “Create Invitation”
  4. 系统生成邀请码:ABCD1234EFGH
  5. Alice 将邀请码通过 IM/邮件发送给 Bob 和 Charlie

Bob 注册

  1. 访问系统,点击登录
  2. 看到注册表单,输入:
    • 用户名:bob
    • 密码:******
    • 邀请码:ABCD1234EFGH
  3. 点击 “Create User”

Charlie 注册:使用相同流程

第二步:配置 LLM

Alice 设置项目级 LLM 配置(项目费用统一核算):

  1. Alice 进入项目详情页
  2. 在 LLM Configuration 区块填写:
    • Provider: GLM (Zhipu AI)
    • API Key: 项目专用 API Key
    • Base URL: https://open.bigmodel.cn/api/paas/v4/
    • Model: glm-4-plus
    • Temperature: 0.7
    • Max Tokens: 4096
  3. 点击 “Save Configuration”

结果:该项目所有 Agent 调用都使用项目配置,费用统一核算到项目。

第三步:创建 Slice

Alice 创建一个新的开发 Slice:

字段 填写内容
Title 添加用户商品评论功能
Scope 用户可以对商品发表评论、评分、查看评论列表;管理员可以删除不当评论
Out of Scope 不包含评论点赞、评论回复、图片上传功能
Risk Level low-write

第四步:设定验收标准

Alice 在 Slice 详情页添加验收标准:

Code: AC-001
Text: 用户可以查看指定商品的所有评论
Verification: GET /api/products/{id}/reviews 返回评论列表

Code: AC-002
Text: 用户可以提交商品评论(评分 1-5 星 + 文字内容)
Verification: POST /api/products/{id}/reviews 创建评论,数据库验证

第五步:生成上下文包

Bob 点击 “Generate Context Pack”,系统自动收集上下文信息。

第六步:执行 PM Agent(AI 辅助需求分析)

6.1 Bob 触发 AI Agent

点击 PM → Run

系统后台执行流程

1. 创建独立的 Git Worktree
   ├── 路径: workspace/project_1/worktrees/run_1_slice_0001/
   └── 基于 branch: slice-1-add-product-comments

2. 获取有效 LLM 配置(项目级配置)
   └── API Key: 项目专用 API Key
       └── Model: glm-4-plus

3. 调用 PM Agent(使用 GLM-4.7)
   ├── 输入: Context Pack + 验收标准 + 现有代码
   ├── System Prompt: "你是一位经验丰富的产品经理..."
   ├── User Prompt: 详细的需求描述和 AC
   │
   └── GLM-4.7 输出: AI 生成的 PRD 文档

4. 写入文件
   ├── docs/PRD.md (PM Agent 生成的 PRD)
   ├── docs/ACCEPTANCE.md (验收标准文档)
   └── tasks/0001-slice-1.md (任务卡片)

5. Git 自动提交
   └── commit: "slice 1: pm artifacts"
6.2 GLM-4.7 生成的 PRD 文档

AI 生成的 PRD

📁 docs/PRD.md
## Slice 1: 添加用户商品评论功能

### 背景与目标
- 背景:当前电商系统缺少用户互动功能,无法了解用户对商品的真实反馈
- 目标:增加用户评论功能,提升购买转化率和用户参与度

### 用户故事
- US-001 作为买家,我希望查看商品评论,以便做出购买决策
- US-002 作为买家,我希望发表商品评论,以便分享使用体验
- US-003 作为管理员,我希望管理不当评论,以便维护社区氛围

### 业务规则
- 规则:
  - 每个用户对每个商品只能评论一次
  - 评论内容长度限制在 500 字以内
  - 评论需要管理员审核后才能公开显示
  - 评分范围 1-5 星
- 边界:
  - 不支持评论编辑和删除(用户)
  - 不支持评论回复和点赞
- 异常流程:
  - 评论提交失败返回 400 错误
  - 重复评论返回提示信息
6.3 Bob 审核并迭代

Bob 发现的问题

  • ❌ 缺少评论内容审核机制

Bob 的处理(方式 A:重新运行):

  1. Bob 在 AC 中补充:

    Code: AC-006
    Text: 管理员审核后评论才公开
    Verification: 新建评论默认状态为 pending
    
  2. 重新点击 PM → Run

  3. GLM-4.7 根据补充的 AC 更新了文档:

    ### 业务规则
    - 规则:
      - 每个用户对每个商品只能评论一次
      - 评论内容长度限制在 500 字以内
      - 评论需要管理员审核后才能公开显示 ⭐ 新增
      - 评分范围 1-5 星
    

Bob 确认:PRD 现在完整了,继续下一步。

第七步:执行 Architect Agent(AI 辅助架构设计)

7.1 Bob 触发 AI Agent

点击 Architect → Run

GLM-4.7 生成的架构文档

📁 docs/DESIGN.md
## Slice 1: 添加用户商品评论功能

### 系统架构
- 整体架构:分层架构(Controller → Service → Repository)
- 模块划分:reviews API 模块、Review 数据模型

### API 契约
- RESTful API 设计
- 请求/响应格式:JSON
- 错误码定义

### 数据模型

GLM-4.7 生成的 OpenAPI 规范

📁 contracts/openapi.yaml
openapi: 3.0.0
info:
  title: Product Reviews API
  version: 1.0.0
paths:
  /api/products/{id}/reviews:
    get:
      summary: 获取商品评论列表
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
        - name: page
          in: query
          schema:
            type: integer
            default: 1
      responses:
        200:
          description: 成功

第八步:执行 Dev Agent(AI 辅助代码开发)

8.1 Charlie 触发 AI Agent

点击 Dev → Run

GLM-4.7 生成的代码

📁 src/models/review.py
from datetime import datetime
from sqlalchemy import Column, Integer, Text, String, DateTime, ForeignKey
from sqlalchemy.orm import relationship
from src.db import Base

class Review(Base):
    __tablename__ = 'reviews'

    id = Column(Integer, primary_key=True)
    user_id = Column(Integer, ForeignKey('users.id'), nullable=False)
    product_id = Column(Integer, ForeignKey('products.id'), nullable=False)
    rating = Column(Integer, nullable=False)
    content = Column(Text, nullable=False)
    status = Column(String(20), default='pending')
    created_at = Column(DateTime, default=datetime.utcnow)

    # 关系
    user = relationship("User", back_populates="reviews")
    product = relationship("Product", back_populates="reviews")
📁 src/api/reviews.py
from fastapi import APIRouter, Depends, HTTPException
from pydantic import BaseModel, validator

class ReviewCreate(BaseModel):
    rating: int
    content: str

    @validator('rating')
    def validate_rating(cls, v):
        if not 1 <= v <= 5:
            raise ValueError('Rating must be between 1 and 5')
        return v

@router.post("/{product_id}/reviews", status_code=201)
def create_review(
    product_id: int,
    review: ReviewCreate,
    db: Session = Depends(get_db),
    current_user: dict = Depends(get_current_user)
):
    """创建商品评论"""
    # Pydantic 自动验证评分

    # 检查重复评论
    existing = db.query(Review).filter(
        Review.user_id == current_user['id'],
        Review.product_id == product_id
    ).first()

    if existing:
        raise HTTPException(
            status_code=400,
            detail="User has already reviewed this product"
        )

    # 创建评论
    new_review = Review(
        user_id=current_user['id'],
        product_id=product_id,
        rating=review.rating,
        content=review.content,
        status='pending'  # 默认待审核
    )

    db.add(new_review)
    db.commit()

    return new_review

第九步:执行 QA Agent(AI 辅助测试)

9.1 Charlie 触发 AI Agent

点击 QA → Run

GLM-4.7 生成的测试用例

📁 tests/integration/test_reviews_api.py
import pytest
from fastapi.testclient import TestClient

def test_get_reviews_pagination(client: TestClient, db_session):
    """测试评论列表分页(AC-005)"""
    # 准备 25 条评论
    for i in range(25):
        review = Review(
            product_id=1,
            user_id=i,
            rating=5,
            content="Test",
            status='approved'
        )
        db_session.add(review)
    db_session.commit()

    # 请求第一页
    response = client.get("/api/products/1/reviews?page=1&page_size=20")
    assert response.status_code == 200

    data = response.json()
    assert data['total'] == 25
    assert data['page'] == 1
    assert len(data['data']) == 20

def test_create_review_success(client: TestClient, auth_headers):
    """测试成功创建评论(AC-002)"""
    response = client.post(
        "/api/products/1/reviews",
        json={"rating": 5, "content": "Great product!"},
        headers=auth_headers
    )
    assert response.status_code == 201

    data = response.json()
    assert data['rating'] == 5
    assert data['status'] == 'pending'  # 待审核

第十步:执行 Ops Agent(AI 辅助运维文档)

点击 Ops → Run

GLM-4.7 生成的部署文档

📁 docs/DEPLOY.md
# 评论功能部署指南

## 数据库迁移
```sql
CREATE TABLE reviews (
    id SERIAL PRIMARY KEY,
    user_id INTEGER NOT NULL REFERENCES users(id),
    product_id INTEGER NOT NULL REFERENCES products(id),
    rating INTEGER NOT NULL CHECK (rating >= 1 AND rating <= 5),
    content TEXT NOT NULL,
    status VARCHAR(20) DEFAULT 'pending' CHECK (status IN ('pending', 'approved', 'rejected')),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX idx_review_product ON reviews(product_id);
CREATE INDEX idx_review_user ON reviews(user_id);
CREATE INDEX idx_review_status ON reviews(status);

-- 防止用户重复评论
CREATE UNIQUE INDEX idx_review_user_product ON reviews(user_id, product_id);
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐