Skip to content

Go/Java 后端 AI 工程协作工作台

这是本专栏的综合项目:开发者提交一个后端任务,Harness 负责收集上下文、拆分工作、调用工具、修改代码、运行验证并生成审查结果。

总体架构

一次任务

text
需求:给订单创建接口增加幂等键
  -> Planner 只读定位接口、事务、迁移和测试
  -> 用户确认计划
  -> Coder 修改 Go/Java 代码
  -> Hook 格式化并运行窄范围测试
  -> Reviewer 只读检查 diff、安全和兼容
  -> Harness 汇总证据和未决问题

Go 服务职责

  • 提供任务和运行记录 API;
  • 保存 Harness 任务状态、工具调用摘要和验证结果;
  • 暴露只读代码检索 MCP Tool;
  • 对运行记录做脱敏和权限校验。

一个运行记录可以设计为:

go
type Run struct {
    ID        string    `json:"id"`
    Task      string    `json:"task"`
    Workspace string    `json:"workspace"`
    Status    string    `json:"status"`
    Findings  []Finding `json:"findings"`
    CreatedAt time.Time `json:"created_at"`
}

Java 服务职责

  • 查询企业知识库和 API 契约;
  • 根据用户身份过滤可见项目;
  • 返回结构化上下文,不直接执行任意命令;
  • 对外部系统错误保留 trace id。
java
public record ContextItem(
    String source,
    String title,
    String content,
    String traceId
) {}

Skills 与 Hooks

text
skills/
├── backend-plan/
├── backend-implement/
└── backend-review/

hooks/
├── after-write-format
├── before-test
└── before-finish

Planner 只允许读取和搜索;Coder 允许修改工作区和运行测试;Reviewer 只允许读取 diff。删除文件、推送和发布永远不自动开放。

验收标准

  • 能从任务创建到结果汇总完整走通;
  • Go 和 Java 示例均有至少一个窄范围测试;
  • 工具调用有 schema 校验和权限检查;
  • 测试失败会回到修复阶段,且重试有上限;
  • 最终结果包含修改文件、命令、测试状态和未决问题;
  • 日志不含 API Key、Cookie、源码机密和完整用户输入;
  • 任一 MCP Server 不可用时,任务能清晰失败或切换只读模式。

扩展任务

  1. 增加一个只读 Git MCP Server。
  2. 增加“数据库迁移审查” Skill。
  3. 为 Reviewer 增加 P0/P1/P2/P3 结构化输出。
  4. 将任务轨迹接入评测页面。

🚀 学习遇到瓶颈?想进大厂?

看完这篇技术文章,如果还是觉得不够系统,或者想在实战中快速提升?
王中阳的就业陪跑训练营,提供定制化学习路线 + 企业级实战项目 + 简历优化 + 模拟面试。