
1 引言
在 Web 开发中,我们常说:'需求不清晰,返工十次'。同样,在 AI 应用开发中,'提示词(Prompt)不精准,输出全跑偏'。
- 类比 1:前端组件模板 vs 提示词模板
就像你在 Vue 或 React 中定义一个
<UserCard />组件,需要传入name、avatar、role等 props;在 Dify 中,你也需要设计一个结构化的提示词模板,明确告诉 AI:'请根据以下字段生成面试评价:候选人姓名、岗位、技术栈、沟通能力、项目经验'。 - 类比 2:后端业务流程 vs Agent 思维链(Chain-of-Thought) 你写过'用户注册 → 发送邮件 → 记录日志'的流程吗?Agent 的推理过程也是一条链:接收简历 → 提取技能关键词 → 匹配岗位要求 → 生成评分 → 输出建议。只不过这条链由自然语言驱动,而非硬编码。
因此,Web 开发者不是'从零开始学 AI',而是'用已有工程思维驾驭 AI'。

2 Web 开发与 AI Agent 应用的衔接点:Dify 如何成为你的'AI 后端'
Dify(https://dify.ai)是一个开源且支持私有部署的 LLM 应用开发平台,其核心价值在于:
| Web 开发概念 | Dify 中的对应能力 |
|---|---|
| RESTful API | Dify 提供标准 HTTP API,可被任何前端/后端调用 |
| 环境变量管理 | 支持密钥、模型参数、上下文长度等配置 |
| 工作流编排 | 可视化构建多步骤 Agent 流程(如:先解析 PDF 简历,再打分) |
| 前端组件 | 内置聊天界面,也可通过 SDK 嵌入 React/Vue 应用 |
| 日志与监控 | 自动记录每次调用输入/输出,便于调试 |
✅ 对 Web 开发者而言,Dify 就像一个'AI 微服务'——你只需关注如何调用它,而不是如何训练模型。

3 Agent 提示词优化的核心原理:用 Web 思维理解 AI 逻辑
3.1 上下文管理 = 前端状态管理(State Management)
在 React 中,你用 useState 或 Redux 管理用户输入、表单状态;在 Dify 中,对话上下文(Context)就是 Agent 的'全局状态'。例如:
【系统提示】你是一个 HR 助手,请始终记住:
- 当前岗位:Java 后端工程师
- 必须考察:Spring Boot、MySQL、分布式事务
- 评分标准:1-5 分,5 分为优秀
【用户输入】这是张三的简历:...(略)
🔑 技巧:把岗位 JD、评分规则等'静态信息'放在系统提示中,避免每次重复传递。
3.2 提示词模板 = 组件 Props 接口
设计一个可复用的提示词模板,就像定义一个 React 组件的 props 类型:
# Dify 中的提示词模板(YAML 风格)
岗位名称:{{job_title}}
技能要求:{{required_skills}}
简历内容:{{resume_text}}
请按以下 JSON 格式输出:
{"score": 0-5, "strengths": ["...", "..."], "weaknesses": ["...", "..."]}
这样,你的前端只需传入 job_title、required_skills、resume_text 三个变量,即可获得结构化输出。

4 实战:基于 Dify 构建低代码 HR 招聘系统(端到端流程)
我们将构建一个包含四大模块的系统:
- 简历爬取(可选,通常由第三方提供)
- 简历智能筛查
- 面试自动评分
- 新员工智能培训
🛠️ 技术栈:Dify(后端 AI 逻辑) + Vue3(前端展示) + Spring Boot(可选,用于对接企业 HR 系统)
4.1 步骤 1:在 Dify 中创建'简历筛查 Agent'
- 登录 Dify,新建一个 Chatbot 应用
- 在'Prompt Engineering'中输入:
你是一名资深 HR,请根据以下岗位要求对候选人简历进行评分(1-5 分),并指出优缺点。
【岗位要求】 {{job_description}}
【简历内容】 {{resume}}
请严格按以下 JSON 格式返回,不要包含其他文字:
{
"overall_score": 0,
"technical_match": 0,
"experience_match": 0,
"comments": {
"strengths": [],
"weaknesses": []
}
}
- 启用 JSON 模式输出(Dify 支持强制结构化输出)
- 保存并发布 API
4.2 步骤 2:前端调用(Vue3 示例)
<template>
<div>
<textarea v-model="resume" placeholder="粘贴简历内容"></textarea>
<button @click="screenResume">智能筛查</button>
<pre>{{ result }}</pre>
</div>
</template>
<script setup>
import { ref } from 'vue'
const resume = ref('')
const result = ref('')
const screenResume = async () => {
const response = await fetch('https://api.dify.ai/v1/chat-messages', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
inputs: {
job_description: '熟悉 Spring Boot, MySQL, 3 年以上经验',
resume: resume.value
},
query: '请分析这份简历',
response_mode: 'blocking',
user: 'web_user_001'
})
})
const data = await response.json()
// Dify 返回的是文本,需解析 JSON(因启用了 JSON 模式)
result.value = JSON.parse(data.answer)
}
</script>
✅ 注意:Dify 的 API 返回字段为
answer,内容即为你在提示词中要求的 JSON 字符串。
4.3 步骤 3:扩展至面试评分 & 智能培训
- 面试评分 Agent:输入面试记录(文字或语音转写),输出能力维度评分
- 智能培训 Agent:根据岗位缺口,生成学习路径(如:'建议学习 Redis 缓存设计')
每个 Agent 都是独立的 Dify 应用,可通过同一套前端调用。

5 常见问题与解决方案(Web 开发者视角)
Q1:模型响应慢,影响用户体验?
- 方案:前端加 loading + 超时处理;后端用队列异步处理(如 RabbitMQ),结果通过 WebSocket 推送。
Q2:提示词效果不稳定?
- 方案:在 Dify 中使用 变量校验(如限制
score必须为数字);结合 Few-shot 示例(在提示词中加入 1-2 个正确输出样例)。
Q3:如何保护企业数据隐私?
- 方案:Dify 支持私有化部署,所有数据不出内网;API 调用启用 JWT 认证,与现有 SSO 系统集成。
Q4:能否与现有 HR 系统(如北森、Moka)集成?
- 方案:通过 Spring Boot 中间层,将 Dify API 封装为企业内部 REST 接口,供 HR 系统调用。

6 总结与 Web 开发者的 AI 学习路径建议
本文核心收获:
- Dify 让 Web 开发者无需懂 PyTorch 也能构建 AI 应用
- 提示词工程 = 新时代的'业务逻辑编写'
- HR 招聘场景是验证 AI 落地的理想试验田
推荐学习路径(针对 Web 开发者):
- 入门:掌握 Dify 基础操作(创建应用、设计提示词、调用 API)
- 进阶:学习 Agent 工作流(多步骤推理)、RAG(检索增强生成,用于简历知识库)
- 融合:将 Dify 嵌入现有 Web 系统(如用 Vue 组件展示 AI 评分)
- 深化:了解 LangChain(若需更复杂逻辑),但优先用 Dify 可视化编排
推荐资源:
- Dify 官方文档(中文完善,含 API 示例)
- GitHub 开源项目:difyai/dify(支持 Docker 一键部署)



