在构建强大的 AI 系统,尤其是基于大语言模型(LLM)的智能代理(Agent)时,Prompt 设计的质量决定了系统的智能程度。传统 Prompt 通常是简单的问答或填空式指令,而高级任务需要更具结构性、策略性和思考性的 Prompt。

本文将结合 链式思维(Chain-of-Thought, CoT)反思机制(Reflection)代理执行机制(LLM Agents),分享如何高效构建具备"推理+行动+自检"的高级 Prompt,并结合 Python 代码示例展示如何在实践中使用。

本文的案例使用三方API为Openrouter:"https://openrouter.ai"


背景知识回顾

技术 概述
链式思维 (CoT) 通过让 LLM 逐步推理,提升复杂任务的准确率和可解释性(如数学推理、规划)。
反思/自我反馈 (Reflection) 模型对自己的回答进行分析与修正(如 ReAct、Reflexion)。
代理机制 (Agent) LLM 执行有目标的任务,通过观察 → 思考 → 行动 → 再观察的闭环完成复杂目标。

构建高效 Prompt 的 4 个关键原则

1. 明确角色与任务(Position & Purpose)

指定 LLM 的身份与任务目标,提升上下文对齐效果:

你是一个项目管理专家,专注于软件交付效率优化。你的任务是分析以下项目状态,并输出关键改进建议。

Python 实现示例:

from openai import OpenAI
from dotenv import load_dotenv
import os # 加载环境变量
load_dotenv() # 初始化客户端
client = OpenAI() def create_expert_consultant(expertise, task_description):
"""创建一个专家角色的 Prompt""" system_message = f"""你是一个{expertise}专家。
你的任务是{task_description}。
请基于你的专业知识提供深入、专业的分析和建议。""" return system_message # 使用示例
project_analysis_prompt = create_expert_consultant(
expertise="项目管理",
task_description="分析以下项目状态,找出延迟原因,并输出关键改进建议"
) # 向 API 发送请求
def get_expert_analysis(prompt, project_data):
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": prompt},
{"role": "user", "content": f"项目状态数据:\n{project_data}"}
]
)
return response.choices[0].message.content # 测试使用
project_data = """
项目名称: 电商平台重构
计划周期: 3个月
当前状态: 已延期1个月
团队规模: 5名开发, 2名测试
完成进度: 65%
主要问题:
- API文档不完整导致集成困难
- 前端组件复用率低
- 测试覆盖率不足
""" analysis = get_expert_analysis(project_analysis_prompt, project_data)
print(analysis)

2. 引导链式推理(Process)

设计多步骤的任务指令,引导 LLM 逐步完成推理与判断:

请按照以下步骤进行:
1. 分析输入信息中存在的问题;
2. 推测可能的原因;
3. 提出改进建议;
4. 总结为清晰的行动计划。

Python 实现示例:

from openai import OpenAI
from dotenv import load_dotenv
import os # 加载环境变量
load_dotenv()
# 初始化客户端
client = OpenAI() def chain_of_thought_prompt(task_description, steps):
"""创建一个引导模型逐步思考的 Prompt""" steps_text = "\n".join([f"{i+1}. {step}" for i, step in enumerate(steps)]) prompt = f"""任务:{task_description} 请按照以下步骤逐一思考并输出结果:
{steps_text} 请确保每个步骤都有明确的输出,并标注步骤编号。""" return prompt # 使用示例 - 解决一个数学问题
math_steps = [
"理解问题,确定已知条件和求解目标",
"列出解决问题所需的方程或关系",
"逐步求解方程",
"检查答案的合理性",
"给出最终答案"
] math_cot_prompt = chain_of_thought_prompt(
"解决以下数学问题:一个水箱以每分钟5升的速度注水,同时以每分钟3升的速度漏水。如果水箱初始有10升水,那么多久后水箱会有25升水?",
math_steps
) # 向 API 发送请求
response = client.chat.completions.create(
model="qwen/qwen-2.5-72b-instruct",
messages=[
{"role": "system", "content": "你是一个擅长解决数学问题的助手,请一步步思考。"},
{"role": "user", "content": math_cot_prompt}
]
) print(response.choices[0].message.content)

3. 加入反思机制(Proofing)

鼓励 LLM 审查自己的输出、找出问题并修正:

请回顾你刚才的回答,思考是否存在逻辑漏洞或遗漏的关键点,并进行修正。输出最终版本的建议。

Python 实现示例:

from openai import OpenAI
from dotenv import load_dotenv
import os # 加载环境变量
load_dotenv()
# 初始化客户端
client = OpenAI()
def self_reflection_prompt(initial_task, response_to_evaluate):
"""创建一个让模型自我反思的 Prompt""" reflection_prompt = f"""初始任务:{initial_task} 你之前的回答:
{response_to_evaluate} 请对你的回答进行自我评估,考虑以下几点:
1. 是否有逻辑漏洞或不一致的地方?
2. 是否遗漏了重要信息或关键点?
3. 推理过程是否足够严谨?
4. 结论是否合理且有力度支持? 请指出存在的问题,并提供修正后的完整回答。标记为"最终版本"。""" return reflection_prompt # 使用示例 - 假设这是一个初始回答
initial_response = """
解决方案:实施微服务架构可以提高系统的可扩展性和灵活性。
步骤:
1. 将系统拆分为独立服务
2. 实施 API 网关
3. 部署到云环境
""" # 让模型反思并改进
reflection_prompt = self_reflection_prompt(
"设计一个高可用的电商系统架构",
initial_response
) # 向 API 发送请求
response = client.chat.completions.create(
model="qwen/qwen-2.5-72b-instruct",
messages=[
{"role": "system", "content": "你是一个系统架构专家,请对你的方案进行批判性思考和完善。"},
{"role": "user", "content": reflection_prompt}
]
) improved_response = response.choices[0].message.content
print(improved_response)

4. 增强行动能力(Agent-style Prompt)

设计具备感知、思考、行动、反思循环的 Prompt:

你将完成以下任务:
1. 读取输入数据(环境感知);
2. 分析目标需求(理解与推理);
3. 拆解任务并规划步骤(任务规划);
4. 输出每个步骤的操作建议;
5. 若任务未完成,则思考失败原因并重新规划(反思+重试)。 请开始处理任务:{用户输入}

Python 实现示例:

from openai import OpenAI
import json
import os
from dotenv import load_dotenv # 加载环境变量
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
base_url = os.getenv("OPENAI_BASE_URL")
client = OpenAI(api_key=api_key, base_url=base_url) class ReflectiveAgentQwen:
"""适配 Qwen 模型的反思型智能代理""" def __init__(self, system_role):
self.system_role = system_role
self.messages = [{"role": "system", "content": system_role}]
self.tools = [] def register_tool(self, name, description, function):
self.tools.append({
"name": name,
"description": description,
"function": function
}) def _get_tools_prompt(self):
if not self.tools:
return ""
tool_list = "\n".join([f"{tool['name']}: {tool['description']}" for tool in self.tools])
return f"\n你可以使用以下工具来辅助完成任务(请在需要时明确说明要调用哪个工具及输入内容):\n{tool_list}" def _call_tool_if_needed(self, response_content):
for tool in self.tools:
if f"调用工具 {tool['name']}" in response_content:
# 提取输入
input_start = response_content.find("输入:")
if input_start != -1:
input_text = response_content[input_start + 3:].strip().splitlines()[0]
print(f"\n>>> 调用工具 {tool['name']},输入: {input_text}")
return tool["function"](input_text)
return None def think_act_reflect(self, user_input, max_cycles=3):
intro = self._get_tools_prompt()
self.messages.append({"role": "user", "content": user_input + intro}) for cycle in range(max_cycles):
print(f"\n--- 循环 {cycle + 1}/{max_cycles} ---") # 思考阶段
print(" 思考中...")
response = client.chat.completions.create(
model="qwen/qwen-2.5-72b-instruct",
messages=self.messages,
)
message = response.choices[0].message
content = message.content
print(" 输出:", content)
self.messages.append({"role": "assistant", "content": content}) # ️ 行动阶段(判断是否调用工具)
result = self._call_tool_if_needed(content)
if result:
self.messages.append({
"role": "user",
"content": f"工具调用结果:{result}"
})
else:
print(" 没有需要调用工具,任务可能已完成")
break # 反思阶段
print(" 反思中...")
reflection_prompt = (
"请反思你刚才的分析与工具使用是否合理,有无遗漏?"
"如果有改进建议,请继续执行。若任务完成,请明确标注“任务已完成”。"
)
self.messages.append({"role": "user", "content": reflection_prompt})
reflection_response = client.chat.completions.create(
model="qwen/qwen-2.5-72b-instruct",
messages=self.messages
)
reflection_message = reflection_response.choices[0].message
print(" 反思输出:", reflection_message.content)
self.messages.append({"role": "assistant", "content": reflection_message.content}) if "任务已完成" in reflection_message.content:
break # 最终总结
final = client.chat.completions.create(
model="qwen/qwen-2.5-72b-instruct",
messages=self.messages + [{"role": "user", "content": "请总结你的最终答案:"}]
)
return final.choices[0].message.content # 示例用法
if __name__ == "__main__":
agent = ReflectiveAgentQwen(
system_role="你是一个研究型智能助手,能够理解任务、调用工具、反思并总结。"
) # 注册一个模拟搜索工具
def web_search(query):
if "人工智能" in query:
return "人工智能是计算机科学的一个分支,致力于模拟人类智能。"
elif "机器学习" in query:
return "机器学习是 AI 的一个子领域,专注于让系统从数据中学习。"
else:
return "未找到相关信息。" agent.register_tool("web_search", "用于网络搜索信息", web_search) # 测试任务
question = "请解释人工智能与机器学习的区别,并说明应用领域。"
result = agent.think_act_reflect(question)
print("\n 最终回答:\n", result)


示例:面向医疗场景的智能代理设计 Prompt

你是一个 AI 项目设计专家,请你帮助团队分析并设计一个面向医疗场景的 AI 代理。

任务如下:
1. 任务目标:分析用户上传的电子病历,抽取关键信息,自动生成初步诊疗建议;
2. 输入格式:包含 PDF、图片、文本等混合文档;
3. 输出格式:结构化 JSON + 建议摘要。 请你分步骤完成以下内容:
1. 明确关键需求与挑战;
2. 推理出合适的技术架构与模块;
3. 说明每个模块的功能与关键技术点;
4. 回顾整体设计并输出最终建议。 输出后,请你反思是否有遗漏或逻辑漏洞,若有请修正,并标注"最终版本"。

Python 医疗AI代理示例实现:

from openai import OpenAI
import json
import os
from dotenv import load_dotenv
from typing import Dict, List, Any, Optional
import base64
from datetime import datetime # 加载环境变量
load_dotenv() # 初始化 OpenAI 客户端
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) class MedicalDocumentProcessor:
"""处理各种格式的医疗文档""" def extract_text_from_image(self, image_path: str) -> str:
"""从图片中提取文本(使用Vision模型)"""
try:
# 读取图片并转为base64
with open(image_path, "rb") as image_file:
base64_image = base64.b64encode(image_file.read()).decode('utf-8') # 调用OpenAI Vision模型
response = client.chat.completions.create(
model="gpt-4-vision-preview",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "请从这个医疗文档图片中提取所有文本内容,保持原始格式。特别注意提取患者信息、诊断结果、用药情况等医疗关键信息。"},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
}
}
]
}
],
max_tokens=1000
)
return response.choices[0].message.content
except Exception as e:
print(f"图片处理错误: {e}")
return "图片处理失败" def extract_text_from_pdf(self, pdf_path: str) -> str:
"""从PDF中提取文本(实际应用中使用PyPDF2等库)"""
# 这里是简化的示例,实际实现需要使用PDF处理库
return f"从PDF {pdf_path} 中提取的文本内容" def process_document(self, document_path: str) -> str:
"""处理各类文档并提取文本"""
if document_path.lower().endswith(('.png', '.jpg', '.jpeg')):
return self.extract_text_from_image(document_path)
elif document_path.lower().endswith('.pdf'):
return self.extract_text_from_pdf(document_path)
elif document_path.lower().endswith(('.txt', '.doc', '.docx')):
# 简化示例,实际应用中需使用专门的文本处理方法
with open(document_path, 'r', encoding='utf-8') as file:
return file.read()
else:
return "不支持的文档格式" class MedicalInformationExtractor:
"""从医疗文本中提取结构化信息""" def extract_key_information(self, text: str) -> Dict[str, Any]:
"""提取关键医疗信息并结构化""" # 构建提示词来指导模型提取结构化信息
prompt = f"""
请从以下医疗文档中提取关键信息,并整理为结构化JSON格式。 需要提取的字段包括:
- 患者基本信息(姓名、年龄、性别、ID)
- 主诉
- 现病史
- 既往史
- 检查结果
- 诊断结果
- 用药建议 仅返回JSON格式,不要包含其他文字。 医疗文档内容:
{text}
""" response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "你是一个专业的医疗信息提取工具,能够从医疗文档中准确提取结构化信息。"},
{"role": "user", "content": prompt}
],
response_format={"type": "json_object"}
) # 尝试解析JSON结果
try:
return json.loads(response.choices[0].message.content)
except json.JSONDecodeError:
# 若解析失败,返回空结构
return {
"error": "无法提取结构化信息",
"raw_text": text
} class MedicalDiagnosisAdvisor:
"""生成初步诊疗建议""" def generate_advice(self, patient_info: Dict[str, Any]) -> Dict[str, Any]:
"""基于提取的信息生成初步诊疗建议""" # 转换病人信息为JSON字符串
patient_json = json.dumps(patient_info, ensure_ascii=False, indent=2) # 构建提示词
prompt = f"""
基于以下患者信息,生成初步诊疗建议。
注意:这只是初步建议,最终诊疗方案应由专业医生确定。 患者信息:
{patient_json} 请提供:
1. 初步诊断分析
2. 建议进一步检查项目
3. 可能的治疗方向
4. 生活方式建议 返回JSON格式,包含上述四个方面的信息。
""" # 调用API生成建议
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "你是一个医疗诊断辅助系统,能基于患者信息提供初步诊疗建议。你的建议应严格基于医学知识,同时明确标注这只是初步建议,不能替代专业医生的诊断。"},
{"role": "user", "content": prompt}
],
response_format={"type": "json_object"}
) # 解析并返回建议
try:
advice = json.loads(response.choices[0].message.content) # 添加免责声明
advice["disclaimer"] = "本建议由AI辅助生成,仅供参考,不构成医疗建议。请咨询专业医生进行正式诊疗。" return advice
except json.JSONDecodeError:
return {
"error": "无法生成诊疗建议",
"disclaimer": "请咨询专业医生进行诊疗。"
} class MedicalAIAgent:
"""医疗AI代理总控制器""" def __init__(self):
self.document_processor = MedicalDocumentProcessor()
self.info_extractor = MedicalInformationExtractor()
self.advisor = MedicalDiagnosisAdvisor() def process_medical_documents(self, document_paths: List[str]) -> Dict[str, Any]:
"""处理医疗文档并生成诊疗建议""" # 1. 处理所有文档并合并文本
combined_text = ""
for doc_path in document_paths:
text = self.document_processor.process_document(doc_path)
combined_text += text + "\n\n" # 2. 提取结构化信息
structured_info = self.info_extractor.extract_key_information(combined_text) # 3. 生成诊疗建议
diagnosis_advice = self.advisor.generate_advice(structured_info) # 4. 整合结果
result = {
"patient_info": structured_info,
"diagnosis_advice": diagnosis_advice,
"summary": self._generate_summary(structured_info, diagnosis_advice)
} # 5. 反思和验证结果
result = self._validate_and_reflect(result, combined_text) return result def _generate_summary(self, patient_info: Dict[str, Any], advice: Dict[str, Any]) -> str:
"""生成易读的摘要""" # 构建提示词
prompt = f"""
基于以下患者信息和诊疗建议,生成一段简洁的摘要,用通俗易懂的语言概括关键信息和建议。 患者信息:
{json.dumps(patient_info, ensure_ascii=False)} 诊疗建议:
{json.dumps(advice, ensure_ascii=False)} 请用200字左右生成摘要。
""" response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "你是一个医疗信息总结专家,能将复杂的医疗信息转化为通俗易懂的语言。"},
{"role": "user", "content": prompt}
]
) return response.choices[0].message.content def _validate_and_reflect(self, result: Dict[str, Any], original_text: str) -> Dict[str, Any]:
"""验证结果并进行反思改进""" # 构建验证提示词
validation_prompt = f"""
请验证以下从医疗文档中提取的信息是否准确、完整,并检查生成的诊疗建议是否合理。 原始文档文本:
{original_text[:1000]}... (已截断) 提取的结构化信息:
{json.dumps(result["patient_info"], ensure_ascii=False, indent=2)} 生成的诊疗建议:
{json.dumps(result["diagnosis_advice"], ensure_ascii=False, indent=2)} 请检查:
1. 是否有重要信息遗漏或错误?
2. 诊疗建议是否与患者情况相符?
3. 有无任何不合逻辑或不一致的地方? 如有问题,请指出并建议如何修正。
""" # 调用API进行验证
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "你是一个医疗信息验证专家,能够严格审查从医疗文档中提取的信息和生成的建议,确保其准确性和合理性。"},
{"role": "user", "content": validation_prompt}
]
) # 将验证结果添加到输出中
result["validation"] = {
"reflection": response.choices[0].message.content,
"timestamp": "反思时间:" + str(datetime.now())
} return result # 使用示例(模拟运行)
if __name__ == "__main__":
# 创建医疗AI代理
medical_agent = MedicalAIAgent() # 模拟文档路径(实际应用中需要真实路径)
document_paths = [
"patient_record.pdf",
"lab_results.jpg",
"prescription.txt"
] print("开始处理医疗文档...")
# 这里只是示例,实际运行需要真实文件
# result = medical_agent.process_medical_documents(document_paths) # 模拟一个结果进行展示
sample_result = {
"patient_info": {
"name": "张三",
"age": 45,
"gender": "男",
"id": "P12345",
"chief_complaint": "胸闷、气短3天",
"history": "高血压病史5年,服用缬沙坦片控制",
"examinations": "血压145/95mmHg,心电图显示窦性心律不齐",
"diagnosis": "1. 高血压 2. 疑似冠心病"
},
"diagnosis_advice": {
"analysis": "患者存在高血压控制不佳,伴有胸闷气短症状,需警惕冠心病可能。",
"further_examination": [
"心脏彩超检查",
"心肌酶谱检测",
"冠状动脉CT血管造影",
"运动心电图"
],
"treatment_options": [
"调整降压药物,控制血压在130/80mmHg以下",
"考虑加用β受体阻滞剂改善心律不齐",
"如确诊冠心病,可考虑抗血小板、他汀类药物治疗"
],
"lifestyle_suggestions": [
"限制钠盐摄入(<5g/天)",
"适量有氧运动(如散步),避免剧烈运动",
"戒烟限酒",
"规律作息,避免情绪激动"
],
"disclaimer": "本建议由AI辅助生成,仅供参考,不构成医疗建议。请咨询专业医生进行正式诊疗。"
},
"summary": "张三先生,45岁,近期出现胸闷、气短症状,伴有高血压控制不佳(145/95mmHg)和心律不齐情况。建议进行心脏相关检查以排除冠心病可能,同时调整降压方案,注意限盐控制饮食,进行适量运动,保持良好作息。请务必在专业医生指导下进行治疗。",
"validation": {
"reflection": "从提取的信息和建议来看,整体内容合理,符合医学临床实践。针对高血压伴胸闷症状的患者,冠心病的筛查是必要的。建议进一步完善生化检查如血脂、血糖等指标,这些是心血管疾病风险评估的重要参数,但在当前建议中未提及。同时,患者的用药史中提到缬沙坦,但未评估其依从性和剂量是否适当,这也是高血压控制不佳的可能原因之一。",
"timestamp": "反思时间:2023-08-15 10:23:45"
}
} print("\n最终结果:")
print(json.dumps(sample_result, ensure_ascii=False, indent=2))

结语:高级Prompt工程的未来展望

随着大语言模型能力的不断提升,构建具备推理与反思能力的高级Prompt已成为充分发挥LLM潜力的关键。本文介绍的四个关键原则—明确角色与任务、引导链式推理、加入反思机制和增强行动能力,为开发者提供了系统化的Prompt设计框架。

这些技术正在改变我们与AI系统的交互方式。未来的发展趋势包括:

  1. 多模态智能代理:结合图像、音频等多种输入形式,实现更全面的场景理解和决策
  2. 记忆增强代理:通过外部知识库和长期记忆机制,实现更连贯的对话和任务执行
  3. 自我完善系统:代理能够从经验中学习,自动优化自身的推理流程和反思能力
  4. 协作型智能网络:多个专业化代理协同工作,处理复杂任务流程

在实际应用中,高级Prompt设计需要注意以下几点:

  • 平衡指导与自由:提供足够的框架引导模型思考,但也留出创新空间
  • 迭代优化:通过分析模型输出,持续改进Prompt设计
  • 注重反馈机制:让模型能够接收和整合外部反馈,动态调整其行为

希望本文介绍的技术和理念能够帮助开发者构建更智能、更可靠的AI系统,让大语言模型真正成为人类的得力助手,而不仅仅是简单的问答工具。


构建具备推理与反思能力的高级 Prompt:LLM 智能代理设计指南的更多相关文章

  1. webpack构建具备版本管理能力的项目

    webpack是时下十分流行的编译和打包工具,它提供一种可扩展的loader的方式,简单的配置,便可以编译打包各类型的文件,包括js.css.image.font.html,以及各种预编译语言都不在话 ...

  2. make 与makefile(会不会写 makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。)

    跟我一起写 Makefile /**/ 陈皓 (CSDN) 概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉 ...

  3. Netty构建分布式消息队列(AvatarMQ)设计指南之架构篇

    目前业界流行的分布式消息队列系统(或者可以叫做消息中间件)种类繁多,比如,基于Erlang的RabbitMQ.基于Java的ActiveMQ/Apache Kafka.基于C/C++的ZeroMQ等等 ...

  4. 在 Windows 中为高级用户配置 IPv6 的指南

    在 Windows 中为高级用户配置 IPv6 的指南 适用于: Windows 10, version 1809Windows Server 2019, all versionsWindows Se ...

  5. Gemini.Workflow 双子工作流高级教程:数据库设计及各表作用说明

    整体数据库设计,可见这一篇:Gemini.Workflow 双子工作流高级教程:数据库-设计文档 这里对各数据表进行介绍: 工作流里的设计表并不多,核心只有以下8个: 下面按照流程的顺序来介绍一下表的 ...

  6. 测试系统工程师TSE需要具备的四项能力

    文/杨学明 如今,国内所有的研发型的公司都有测试部门,无论测试团队大小,都有测试组长,测试经理,测试工程师等头衔,但随着产品和业务的质量要求越来越高,产品的市场竞争越来越激烈,公司领导对产品测试的要求 ...

  7. 做SEO所要具备的四种能力

    1,不为失败找借口         既然我们选择了做SEO,那么发生网站被降权.被K是常常的事.当这样的情况发生时,大部分站长首先将责任推给百度机制,由于百度更新算法调整遭降权,不是由于他们的优化没有 ...

  8. .Net Core 商城微服务项目系列(二):使用Ocelot + Consul构建具备服务注册和发现功能的网关

    1.服务注册 在上一篇的鉴权和登录服务中分别通过NuGet引用Consul这个包,同时新增AppBuilderExtensions类: public static class AppBuilderEx ...

  9. 优秀技术Leader应具备的六项能力

    技术Leader是互联网公司中,战斗在一线的技术领导者,技术Leader们能力的强弱,决定着公司整个技术团队的战斗力,结合我之前管理上百人技术团队的经验,谈谈我心目中优秀技术Leader五个方面的能力 ...

  10. JavaScript高级---装饰者模式设计

    一.设计模式 javascript里面给我们提供了很多种设计模式: 工厂.桥.组合.门面.适配器.装饰者.享元.代理.观察者.命令.责任链 在前面我们实现了工厂模式和桥模式 工厂模式 : 核心:为了生 ...

随机推荐

  1. springboot本地运行正常,打包jar包上传Linux服务器后报错,无法正常运行解决方法

    问题描述:springboot本地运行正常,打包jar包上传Linux服务器后报错,无法正常运行 说明:以下两种打包方式均在IDEA软件内完成,上传服务器使用宝塔面板管理 1.第一次打包方式: 设置完 ...

  2. AI回答(deepseek):vue3制作手机屏网站

    使用 Vue 3 制作一个适合手机屏幕的网站(移动端网站)是一个非常常见的需求.以下是一个完整的指南,帮助你从零开始构建一个移动端优化的 Vue 3 项目. 1. 创建 Vue 3 项目 使用 Vit ...

  3. Docker镜像的内部机制

    Docker镜像的内部机制 镜像就是一个打包文件,里面包含了应用程序还有它运行所依赖的环境,例如文件系统.环境变量.配置参数等等. 环境变量.配置参数这些东西还是比较简单的,随便用一个 manifes ...

  4. 入口函数与包初始化:Go程序的执行次序

    前言 我们可能经常会遇到这样一个问题:一个 Go 项目中有数十个 Go 包,每个包中又有若干常量.变量.各种函数和方法,那 Go 代码究竟是从哪里开始执行的呢?后续的执行顺序又是什么样的呢? 事实上, ...

  5. Golang 入门 : Go语言的设计哲学

    前言 设计哲学之于编程语言,就好比一个人的价值观之于这个人的行为. 因为如果你不认同一个人的价值观,那你其实很难与之持续交往下去,即所谓道不同不相为谋.类似的,如果你不认同一门编程语言的设计哲学,那么 ...

  6. mongodb删除某个字段

    如下 db.yourcollection.update({ "需要删除的字段": { "$exists": true } }, { "$unset&q ...

  7. 1、从DeepSeek API调用到Semantic Kernel集成:深度解析聊天机器人开发全链路

    引言:AI时代下的聊天机器人开发范式演进 在生成式AI技术爆发的当下,基于大语言模型(LLM)的聊天机器人开发已形成标准化技术链路.本文将结合DeepSeek API与微软Semantic Kerne ...

  8. MOS管的引脚,G、S、D分别代表什么?

    引脚解析: G:gate 栅极,N沟道的电源一般接在D. S:source 源极,输出S,P沟道的电源一般接在S. D:drain 漏极,输出D.增强耗尽接法基本一样. mos管是金属(metal)- ...

  9. Oracle10g RAC -- Linux 集群文件系统

    通常,集群只是一组作为单一系统运行的服务器( PC 或者工作站).但是,这个定义的外延不断显著扩大:集群技术现在不但是一个动态领域,而且其各种应用程序正不断吸收新的特性.此外,集群文件系统技术(无论是 ...

  10. 团队小规模本地大模型服务平台搭建 - Windows

    实现目标和考虑因素 部署一个支持多用户同时使用.多模型运行的离线局域网大模型服务器 需要考虑以下几个关键因素: 大模型的加载和管理.使用一个基础大模型,根据需要创建多个专用模型,模型管理方便可靠. 并 ...