核心观点: 在传统的软件工程中,模糊性(Ambiguity)通过人与人的沟通(会议、Slack)来解决。但在AI驱动的工程(AI-Native Engineering)中,模糊性是系统的致命伤。AI工程师必须将以往分散在PM、架构师、QA脑中的隐性知识(Implicit Knowledge),转化为AI可理解、可执行、可验证的显性结构化提示(Explicit Structured Context)。
现代AI工程师不再仅仅是写代码的人,而是“系统指令的编排者”。你需要在一个Prompt或一个任务描述文件中,通过高密度的信息架构,完成以往一个Scrum团队的工作。
| 维度 | 传统模式 (Human-Centric) | 现代AI模式 (Agentic-Centric) |
|---|---|---|
| 信息传递 | 依赖口头沟通、文档、默契(Tribal Knowledge)。 | 依赖上下文窗口(Context Window)、AST(抽象语法树)、RAG(检索增强生成)。必须零歧义。 |
| 任务粒度 | 史诗 (Epic) -> 故事 (Story)。允许开发过程中澄清。 | 原子化任务 (Atomic Task)。必须包含输入输出契约、副作用描述、测试标准。 |
| 质量控制 | Code Review、QA测试。 | 测试驱动 (TDD) 前置。在AI写代码前,先给AI写好通过测试的标准(Invariants)。 |
为了让AI(如GPT-4, Claude 3.5, Copilot Workspace)高质量完成任务,必须将传统的角色维度细化为以下结构化描述:
原产品经理/PM职责 进化为:形式化需求定义
原架构师职责 进化为:上下文拓扑映射
这是AI最容易迷失的地方。你需要为AI构建“脑内地图”。
原项目经理职责 进化为:思维链编排 (CoT Orchestration)
AI倾向于一次性生成所有代码,容易出错。必须人工拆解为DAG(有向无环图)任务流。
原Tech Lead/QA职责 进化为:自动化守门员 (Automated Guardrails)
新维度 进化为:动态上下文检索
这是以前不需要向人强调,但对AI至关重要的维度。
现代AI工程师在发号施令时,应采用类似以下的结构化Prompt(Prompt Engineering):
# 任务元数据
Role: Senior Backend Engineer (Node.js/TypeScript)
Objective: 为现有的博客系统增加“文章点赞”功能。
# 1. 架构与数据 (Architectural Context)
- DB Schema: 在 `Post` 表中增加 `likesCount` (Int)。创建新表 `PostLike` (userId, postId, createdAt) 以防重复点赞。
- ORM: 使用 Prisma。请先输出 `schema.prisma` 的变更。
- API Style: RESTful, endpoint应为 `POST /api/posts/:id/like`。
- Idempotency: 接口必须是幂等的。如果用户已点赞,再次请求返回 200 但不增加计数。
# 2. 约束与规范 (Constraints)
- Error Handling: 如果 postId 不存在,抛出 404 `NotFoundException`。
- Performance: 更新计数时必须使用数据库事务 (Prisma `$transaction`),确保并发安全。
- Test: 必须编写 Jest 单元测试,覆盖:正常点赞、重复点赞、文章不存在三种情况。
# 3. 执行步骤 (Chain of Thought)
Step 1: 修改 Prisma Schema 并生成 migration SQL。
Step 2: 创建 Service 层逻辑 (`LikeService.ts`)。
Step 3: 创建 Controller 层逻辑并绑定路由。
Step 4: 编写并运行测试。
# 4. 参考上下文 (Reference)
- 参考 `@/libs/db.ts` 获取 PrismaClient 实例。
- 错误处理请复用 `@/middlewares/errorHandler.ts`。
AI时代的软件拆解,本质上是将“隐性的人类直觉”转化为“显性的机器逻辑”。对于现代AI工程师而言,Prompt就是源代码。你对结构、层级、引用关系的描述越是拥有“高规格”和“颗粒度”,AI产出的代码就越接近生产环境标准。