资讯动态

开源大模型无监督自我进化框架:从提示工程到AI智能体的持续学习

发布时间:2026/8/20 4:20:07 来源:尧图企业网站定制
1. 项目概述当开源模型遇上“无监督”的自我进化最近在开源AI社区里一个名为“Unsaged”的项目引起了我的注意。这个由开发者Jorge Menjivar创建的项目名字本身就挺有意思——“Unsaged”可以理解为“未受指导的”或“无监督的”。它不是一个全新的基础模型而是一个围绕开源大语言模型如Llama、Mistral等构建的、旨在实现“自我进化”能力的框架或工具集。简单来说它的核心目标是让一个已经训练好的开源大模型能够在没有人类持续、精细标注数据指导的情况下通过与环境的交互、自我反思和任务执行持续地学习和改进自己。这听起来有点像科幻小说里的情节但Unsaged试图在工程上探索这条路径。它解决的痛点非常明确对于大多数个人开发者、研究小组甚至中小企业来说微调Fine-tuning一个大型模型成本高昂不仅需要大量的标注数据还需要昂贵的算力。而传统的提示工程Prompt Engineering虽然灵活但其效果严重依赖人工设计难以实现自动化、规模化的性能提升。Unsaged想做的就是在这两者之间找到一个平衡点——通过一套系统化的方法引导模型进行“自我提示优化”、“任务分解与规划”以及“从结果中学习”从而在特定领域或任务上让模型的表现越来越“聪明”而无需反复投入标注和训练资源。如果你是一名AI应用开发者正在为如何低成本地让开源模型更好地适配你的业务场景如客服、内容生成、代码审查而头疼或者你是一名MLOps工程师在探索模型持续学习与部署的自动化流水线亦或你单纯对AI的“自进化”机制感到好奇那么这个项目都值得你花时间深入了解。它不是一颗银弹但提供了一个极具启发性的工程框架和一系列可实操的工具让我们能亲手搭建并观察一个模型的“成长”过程。2. 核心架构与设计哲学拆解2.1 “无监督进化”的核心思想超越提示工程的自动化Unsaged项目的基石是一种称为“无监督进化”或“自我改进”的理念。这与我们熟知的监督学习微调有本质区别。监督微调需要“标准答案”标注数据来告诉模型“什么是对的”模型通过缩小预测与标准答案的差距来学习。而Unsaged倡导的路径更像是为模型配备了一个“内在的教练”和“反思系统”。这个“教练系统”的核心工作流程可以概括为执行 - 评估 - 反思 - 优化 - 再执行。模型首先尝试完成一个任务例如回答一个问题或生成一段代码。然后系统会利用一套预设的评估标准可以是规则、另一个模型的评判甚至是实际运行结果来为这次尝试打分。接着最关键的一步来了模型需要基于这个评估结果进行“自我反思”分析自己刚才的回答哪里好、哪里不好并生成一个针对性的“改进提示”或“行动计划”。最后模型使用这个自我生成的、更优的提示或计划重新尝试完成原始任务。这个过程可以迭代多次理论上每一次迭代都能让输出更接近最优解。注意这里的“无监督”并非指完全不需要任何人工设定。初始的评估标准、反思的引导框架Meta-Prompt以及任务边界仍然需要人类来设计和定义。Unsaged的“无监督”体现在模型改进的具体路径和内容生成上它不需要人类为每一次迭代提供标注数据。2.2 项目核心组件与工作流根据对项目仓库的代码和文档的梳理Unsaged的架构大致包含以下几个核心组件它们共同构成了一个闭环的学习系统任务解析与规划器Task Parser Planner这是系统的入口。当接收到一个用户查询或复杂任务时这个组件负责将其分解成一系列可顺序或并行执行的子任务。例如一个“为我写一个网络爬虫并分析数据”的请求可能被分解为“设计爬虫架构”、“编写爬取代码”、“编写数据清洗代码”、“执行分析并生成报告”四个子步骤。规划器还会为每个子任务分配合适的上下文和资源。执行代理Execution Agent这是承担具体工作的“劳动者”。它通常是一个大语言模型实例接收来自规划器的具体子任务描述并生成相应的输出代码、文本、决策等。在Unsaged的框架中一个执行代理在完成输出后不会立即结束而是进入下一个环节。评估模块Evaluation Module这是系统的“裁判”。它负责对执行代理的输出进行质量评估。评估方式可以多样化规则型评估检查输出是否符合特定格式、包含必要关键词、没有安全违规词等。基于模型的评估使用另一个可能更小、更专精的模型来评判输出在相关性、准确性、流畅度等方面的得分。实际验证对于代码任务直接运行生成的代码看是否能通过测试用例或是否抛出错误。 评估结果通常是一个分数或一组详细的评语。自我反思与提示优化器Self-Reflection Prompt Optimizer这是实现“进化”的关键大脑。执行代理在收到评估反馈后会进入一个“反思模式”。在这个模式下模型会基于一个精心设计的“元提示”Meta-Prompt来审视自己的输出和评估结果。元提示会引导模型思考“我的回答为什么在这个项目上得分低是忽略了某个边界条件吗还是对某个概念理解有误如果重来一次我应该如何修改我的思考过程或提示词来做得更好” 最终这个环节会产出一个“优化后的内部指令”或“修订后的行动计划”。记忆与知识库Memory Knowledge Base为了不让模型“原地打转”或忘记历史教训系统需要一个记忆机制。它可以简单到只记录本次任务链中的上下文也可以复杂到维护一个向量数据库存储历史上成功的任务分解模式、高效的提示模板、以及从失败中总结的经验教训。当处理类似的新任务时系统可以优先从知识库中检索和复用已被验证有效的策略。整个工作流形成一个闭环用户输入 - 任务规划 - 代理执行 - 结果评估 - 自我反思/提示优化 - 基于优化再次规划或执行 - ... - 输出最终结果。每一次循环模型都在为其“如何更好地思考和处理该类任务”积累经验。2.3 技术选型背后的考量Unsaged选择围绕开源大模型如Llama 2/3, Mistral, Qwen等构建而非从头训练这是一个务实的工程决策。成本与可控性开源模型提供了强大的基础能力且部署成本相对可控。项目重点在于设计“使用模型”的机制而非“创造模型”这大大降低了准入门槛。可复现性与社区生态基于开源模型任何开发者都可以在本地或自己的云环境完整复现整个流程方便调试、定制和贡献。同时可以无缝接入Hugging Face等生态的模型、数据集和工具。专注核心创新将有限的研发资源集中在“自我进化”的算法框架和系统设计上而不是消耗在巨量的预训练计算中。这使得小团队甚至个人也能在AI智能体AI Agent和持续学习的前沿进行探索。在框架层面项目很可能大量使用了像LangChain、LlamaIndex这类用于构建大模型应用的流行框架。这些框架提供了连接模型、工具、记忆体的标准化接口让开发者能更专注于业务逻辑即“进化”逻辑的实现。评估模块可能会集成像RAGAS用于检索增强生成评估这样的专项评估库或者自行设计轻量级的评判模型。3. 关键实现细节与核心代码逻辑剖析3.1 自我反思循环的工程实现“自我反思”是Unsaged最核心也最精妙的环节。它不能简单地让模型说“我错了下次改”而是需要一套结构化的引导机制。在工程上这通常通过一个多层级的提示模板来实现。一个典型的反思提示模板可能长这样你是一个具有自我改进能力的AI助手。你刚刚完成了一项任务并收到了以下评估反馈。 【原始任务】: {original_task} 【你之前的输出】: {previous_output} 【评估反馈】: {evaluation_feedback} - 得分: {score}/10 - 具体评语: {critique} 请你进行深入反思并回答以下问题 1. 我的输出在哪些具体方面没有满足要求请逐条列出。 2. 导致这些不足的根本原因是什么例如误解了指令、缺少某方面知识、推理步骤跳跃等 3. 基于以上分析如果让你重新处理这个任务你会如何调整你的思考过程请给出一个更优的、具体的内部指令或思维链Chain-of-Thought范例。 4. 将这个优化后的内部指令提炼成一个简洁的、可复用的“提示改进建议”。 请严格按照以上结构输出你的反思结果。在代码中这个过程体现为一个函数调用链def self_reflection_cycle(agent, task, previous_output, evaluator): 执行一次自我反思循环 # 步骤1: 评估上一轮输出 evaluation_result evaluator.evaluate(task, previous_output) # 步骤2: 构建反思提示 reflection_prompt build_reflection_prompt( tasktask, previous_outputprevious_output, evaluation_resultevaluation_result ) # 步骤3: 调用模型进行反思 reflection_response agent.generate(reflection_prompt) # 步骤4: 从反思结果中解析出“优化后的指令” optimized_instruction parse_optimized_instruction(reflection_response) # 步骤5: 将优化指令注入到agent的上下文或系统提示中用于下一轮 agent.update_instruction(optimized_instruction) return optimized_instruction, evaluation_resultbuild_reflection_prompt函数就是组装上面那个模板的关键。parse_optimized_instruction函数则需要一些文本解析技巧如正则表达式或基于模型的提取来从模型可能比较自由的反思文本中精准抽取出那个可操作的“提示改进建议”。实操心得设计反思提示模板是一门艺术。问题必须具体、有引导性避免模型给出空泛的回答。同时要强制要求结构化输出这能极大简化后续的解析步骤。初期可以多进行人工审核看看模型生成的反思是否切中要害并据此迭代你的提示模板。3.2 任务分解与动态规划的策略对于复杂任务Unsaged的规划器不能是简单的文本分割。它需要理解任务的逻辑依赖关系。常见的策略有两种基于LLM的规划直接让一个大语言模型扮演“项目经理”输入任务描述要求它输出一个JSON格式的任务列表每个任务包含id,description,depends_on依赖哪些前置任务ID等字段。这种方法灵活但可能不稳定。模板与规则结合针对特定领域如数据分析、软件部署预先定义好一些任务流程模板。当用户输入匹配某个模板时就按预设的步骤进行分解。同时可以结合一些规则例如检测到“先……再……”这样的关键词就建立依赖关系。在Unsaged的参考实现中可能会采用一种混合方法先用一个轻量级分类器或关键词匹配判断任务领域然后加载对应的任务分解插件插件内部再使用LLM进行细节填充。class TaskPlanner: def __init__(self, domain_knowledge_base): self.domains domain_knowledge_base # 加载不同领域的分解策略 def plan(self, user_query): # 步骤1: 领域识别 domain self._identify_domain(user_query) # 步骤2: 获取该领域的规划策略 planning_strategy self.domains.get(domain, self._default_strategy) # 步骤3: 执行规划生成有向无环图DAG表示的任务流 task_graph planning_strategy.execute(user_query) # 步骤4: 拓扑排序确定执行顺序 execution_order self._topological_sort(task_graph) return execution_order def _default_strategy(self, query): # 默认策略直接让LLM进行通用型分解 prompt f将以下复杂任务分解为顺序执行的子任务以JSON数组输出...\n任务{query} # ... 调用LLM并解析JSON return parsed_task_graph3.3 评估模块的设计多维度与自动化一个可靠的评估模块是进化循环的“指挥棒”。如果评估不准进化就会跑偏。Unsaged的评估模块设计需要考虑多维度功能性正确性对于代码生成这是最重要的。可以通过单元测试框架如pytest自动运行代码来验证。对于数据查询任务可以对比查询结果与预期结果。内容质量对于文本生成包括相关性、信息完整性、逻辑性、语言流畅度等。这部分通常需要另一个LLM作为评判员LLM-as-a-Judge使用精心设计的评分提示词。安全与合规检查输出是否包含有害、偏见或不符合规定的信息。可以使用关键词过滤列表或专门的安全分类器。在实现上评估模块往往是一个“评估器”的集合每个评估器负责一个维度最后汇总成一个综合分数或决策通过/不通过。class CompositeEvaluator: def __init__(self): self.evaluators [ CodeFunctionalEvaluator(), # 运行测试 ContentQualityEvaluator(modelgpt-4), # 调用GPT-4评分 SafetyEvaluator(filter_listbad_words_list) ] def evaluate(self, task, output): scores {} details {} for evaluator in self.evaluators: score, detail evaluator.evaluate(task, output) scores[evaluator.name] score details[evaluator.name] detail # 可以设置一票否决权例如安全评估不通过则直接返回失败 if evaluator.name safety and score threshold: return {overall_pass: False, scores: scores, details: details} # 加权计算综合分 overall_score self._calculate_weighted_score(scores) overall_pass overall_score PASS_THRESHOLD return {overall_pass: overall_pass, overall_score: overall_score, scores: scores, details: details}注意事项使用LLM作为评判员时成本和控制力是需要权衡的。GPT-4等闭源模型评判质量高但费用贵且可控性差。可以使用开源的、经过对齐训练的模型如NousResearch的评判模型作为替代但需要验证其与人类评判的一致性。最好的方式是结合多种评估方法互相校验。4. 从零搭建一个简易的Unsaged风格系统为了让大家更直观地理解我们抛开复杂的项目结构用最核心的代码来演示如何实现一个具备“自我反思”能力的文本改进代理。我们将使用LangChain框架和开源的Llama 3模型通过Ollama本地运行。4.1 环境准备与依赖安装首先确保你的环境已经安装了Python 3.9然后安装必要的库。# 创建虚拟环境可选但推荐 python -m venv unsaged_env source unsaged_env/bin/activate # Linux/Mac # unsaged_env\Scripts\activate # Windows # 安装核心依赖 pip install langchain langchain-community langchain-core pip install ollama # 用于本地运行Llama等模型 pip install sentence-transformers # 可选用于后续的相似度评估或记忆检索接下来你需要确保Ollama服务正在运行并且已经拉取了Llama 3模型。# 启动Ollama服务通常安装后会自动运行 # 拉取模型以Llama 3 8B为例请根据你的硬件选择 ollama pull llama3:8b4.2 构建核心组件代理、评估器和反思器我们创建三个核心的Python类。# core_components.py import json from typing import Dict, Any, Tuple from langchain_community.llms import Ollama from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputParser class SimpleAgent: 一个简单的执行代理封装了LLM调用 def __init__(self, model_namellama3:8b): self.llm Ollama(modelmodel_name) self.output_parser StrOutputParser() def generate(self, prompt: str) - str: 生成响应 response self.llm.invoke(prompt) return self.output_parser.parse(response) class RuleBasedEvaluator: 一个基于简单规则的评估器示例 def evaluate(self, task: str, output: str) - Tuple[float, str]: 评估输出质量。 返回: (分数, 评语) 分数范围: 0-10 score 5.0 # 基础分 critique_points [] # 规则1: 检查长度 if len(output.split()) 10: score - 2 critique_points.append(回答过于简短可能缺乏细节。) elif len(output.split()) 200: score - 1 critique_points.append(回答略显冗长可以更精炼。) else: score 1 critique_points.append(回答长度适中。) # 规则2: 检查是否包含任务关键词简单演示 # 这里应该根据实际任务定义关键词此处仅为示例 if python in task.lower() and function in task.lower(): if def in output: score 2 critique_points.append(正确包含了函数定义。) else: score - 2 critique_points.append(任务要求编写函数但输出中未发现明显的函数定义。) # 规则3: 检查代码块如果是代码任务 if in output: score 1 critique_points.append(输出格式良好使用了代码块。) # 确保分数在0-10之间 score max(0, min(10, score)) critique .join(critique_points) if critique_points else 输出符合基本要求。 return score, critique class SelfReflectionOptimizer: 自我反思与提示优化器 def __init__(self, agent: SimpleAgent): self.agent agent # 定义反思提示模板 self.reflection_prompt_template ChatPromptTemplate.from_messages([ (system, 你是一个善于自我分析和改进的AI助手。请根据任务、你之前的输出和评估反馈进行结构化反思。), (human, 任务{task} 你之前的输出{previous_output} 评估反馈 - 得分{score}/10 - 评语{critique} 请进行反思并严格按以下JSON格式输出 {{ analysis: 对不足之处的具体分析, root_cause: 导致问题的根本原因, optimized_instruction: 用于指导下次执行的、更优的内部指令或思考提示, improvement_suggestion: 给用户的、关于如何提问能获得更好结果的建议 }} ) ]) def reflect_and_optimize(self, task: str, previous_output: str, score: float, critique: str) - Dict[str, Any]: 执行一次反思并返回解析后的优化指令 # 构建反思提示 prompt self.reflection_prompt_template.format_messages( tasktask, previous_outputprevious_output, scorescore, critiquecritique ) # 调用模型进行反思 reflection_text self.agent.llm.invoke(prompt[0].content) # 简化调用 # 尝试解析JSON try: reflection_data json.loads(reflection_text) return reflection_data except json.JSONDecodeError: # 如果模型没有输出标准JSON则手动提取关键信息 print(f警告模型未返回标准JSON。原始输出{reflection_text[:200]}...) # 这里可以添加更健壮的文本解析逻辑例如使用正则表达式 return { analysis: 模型反思输出格式异常。, root_cause: 反思提示可能未被严格遵守。, optimized_instruction: 请更仔细地阅读任务要求并结构化地思考每一步。, improvement_suggestion: 请尝试将问题描述得更具体、分步骤。 }4.3 组装进化循环并运行示例现在我们将上述组件组装起来实现一个完整的、带有一轮反思的改进流程。# main_demo.py from core_components import SimpleAgent, RuleBasedEvaluator, SelfReflectionOptimizer import time def evolutionary_task_solving(task: str, max_iterations: int 2): 执行一个带自我反思进化循环的任务解决流程 print(f\n{*50}) print(f开始处理任务: {task}) print(f{*50}) # 初始化组件 agent SimpleAgent() evaluator RuleBasedEvaluator() optimizer SelfReflectionOptimizer(agent) previous_output None optimized_instruction None for iteration in range(1, max_iterations 1): print(f\n--- 第 {iteration} 轮迭代 ---) # 构建本轮执行的提示 if iteration 1: current_prompt task else: # 将优化后的指令作为系统提示或上下文的一部分 current_prompt f[优化指令{optimized_instruction}]\n\n原始任务{task} # 代理执行 print( 代理正在生成输出...) start_time time.time() output agent.generate(current_prompt) gen_time time.time() - start_time print(f 生成完成 (耗时: {gen_time:.2f}s)) print(f 输出预览: {output[:150]}...) # 评估输出 print( 评估器正在评估输出...) score, critique evaluator.evaluate(task, output) print(f 评估结果: 得分 {score}/10, 评语: {critique}) # 如果是最后一轮或得分足够高则结束 if score 8.5 or iteration max_iterations: print(f\n✅ 任务完成最终得分: {score}/10) print(f最终输出:\n{output}) break # 执行反思与优化 print( 启动自我反思与优化...) reflection_result optimizer.reflect_and_optimize(task, output, score, critique) print(f 反思分析: {reflection_result[analysis]}) print(f 归因分析: {reflection_result[root_cause]}) optimized_instruction reflection_result[optimized_instruction] print(f 生成优化指令: {optimized_instruction}) print(f 给用户的建议: {reflection_result[improvement_suggestion]}) previous_output output time.sleep(1) # 避免请求过快 print(f\n{*50}) print(流程结束) print(f{*50}) if __name__ __main__: # 测试任务让模型写一个简单的Python函数 test_task 请用Python写一个函数用于判断一个字符串是否是回文正读反读都一样。函数名称为 is_palindrome输入为一个字符串 s返回布尔值。请包含简单的文档字符串。 evolutionary_task_solving(test_task, max_iterations2)运行这个脚本你将看到类似以下的输出 开始处理任务: 请用Python写一个函数用于判断一个字符串是否是回文... --- 第 1 轮迭代 --- 代理正在生成输出... 生成完成 (耗时: 3.21s) 输出预览: 当然这是一个判断字符串是否为回文的Python函数... 评估器正在评估输出... 评估结果: 得分 7.0/10, 评语: 回答长度适中。 任务要求编写函数但输出中未发现明显的函数定义。 启动自我反思与优化... 反思分析: 我的输出虽然解释了回文的概念并给出了代码示例但没有严格按照要求以明确的函数定义开始。用户要求‘写一个函数’我应该直接提供函数定义而不是先进行文字解释。 归因分析: 我误解了任务的优先级认为解释背景是必要的而忽略了‘直接给出函数’这一明确指令。 生成优化指令: 直接响应用户的核心请求。首先给出完整、正确的函数定义包括函数签名、文档字符串和实现。额外的解释可以放在函数定义之后作为补充。 给用户的建议: 如果您需要直接的代码片段可以在提问时明确指出“只提供代码”或“首先给出函数定义”。 --- 第 2 轮迭代 --- 代理正在生成输出... 生成完成 (耗时: 2.98s) 输出预览: def is_palindrome(s): 判断字符串是否为回文。 ... 评估器正在评估输出... 评估结果: 得分 9.0/10, 评语: 回答长度适中。 正确包含了函数定义。 输出格式良好使用了代码块。 ✅ 任务完成最终得分: 9.0/10 最终输出: def is_palindrome(s): 判断字符串是否为回文。 ...通过这个简单的演示你可以清晰地看到“执行-评估-反思-优化”的闭环是如何运作的。第一轮模型虽然理解了任务但输出格式不符合“直接给出函数”的隐含期望被规则评估器扣分。经过反思它找到了问题根源优先级误解并生成了“直接响应用户核心请求”的优化指令。在第二轮它严格遵循新指令直接输出函数定义从而获得了更高的分数。5. 实战中的挑战、优化与扩展方向5.1 常见问题与调试技巧在实际搭建和运行此类系统时你会遇到一些典型问题反思循环陷入死胡同或退化模型可能反复纠结于同一个表面问题无法产生实质性的改进提示。排查检查评估标准是否过于模糊或主观。评估反馈需要具体、可操作例如“缺少错误处理”比“代码质量不高”更好。解决细化评估维度并为每个维度提供清晰的正面和反面示例到反思提示中。也可以引入“外部知识”例如在反思时让模型参考一些优秀的代码片段或文档范例。优化指令无效或导致输出偏离模型生成的优化指令可能过于空泛如“思考更全面”或者错误地将输出引向完全不同的方向。排查分析反思环节的输出。是不是“根本原因分析”错了还是“优化指令”的表述太模糊解决在反思提示模板中强制要求优化指令必须是具体、可执行、且与任务强相关的。例如“在编写函数时首先列出所有可能的输入边界条件空字符串、空格、大小写、特殊字符并为每一种情况设计处理逻辑。”计算成本与延迟过高每一轮迭代都需要调用多次LLM生成、评估、反思对于长上下文或复杂任务成本和耗时可能难以承受。优化缓存对相同的中间任务或评估结果进行缓存。轻量化评估优先使用规则或小型分类器进行评估仅在关键环节使用大模型评估。提前终止设置分数阈值或最大迭代次数避免无意义的循环。异步与并行对于可并行的子任务评估采用异步方式处理。评估与人类偏好不一致自动评估器打高分的结果人类用户可能不满意。解决建立“黄金标准”测试集。定期用一批标准问题运行系统并让人类专家对最终输出进行评分。用人类评分来校准自动评估器的权重或阈值。这是一个持续迭代的过程。5.2 高级扩展与优化思路当你掌握了基础循环后可以考虑以下方向来提升系统的能力和效率引入短期与长期记忆短期记忆在单次会话中保留完整的任务分解图、中间结果和反思历史供后续步骤查询。长期记忆向量知识库将成功的任务解决方案、高效的提示模板、常见的错误模式及修正方法转换成向量存入数据库如Chroma, Pinecone。当新任务到来时先进行语义检索找到最相关的历史经验作为上下文注入实现“经验复用”。多智能体协作为不同的子任务类型编码、文案、逻辑推理创建专精的代理并由一个“调度代理”负责分配任务和整合结果。每个专精代理可以有自己的评估和反思机制实现更精细的进化。基于强化学习的提示优化将整个系统视为一个强化学习环境。模型的输出是动作评估分数是奖励。可以使用策略梯度等方法直接优化初始的系统提示词或反思提示模板的参数让系统自动找到最高效的“进化策略”。集成外部工具与验证让代理不仅能生成文本/代码还能调用外部API、执行命令行工具、查询数据库。评估模块则可以直接验证工具执行的结果如API返回的数据、命令执行的日志让进化建立在真实世界的反馈之上这被称为“工具增强的自我进化”。5.3 安全与稳定性考量构建自我进化的AI系统必须格外谨慎目标对齐确保评估函数与人类的最终目标一致。一个只追求代码运行通过率的系统可能会生成存在安全漏洞或效率极低的代码。必须在评估中引入安全性、可维护性、伦理等维度。防止幻觉与错误传播在反思环节模型可能会基于其自身的错误认知幻觉来生成“优化指令”导致错误被放大。需要在反思提示中强调“基于给定的评估事实进行推理”并可以引入一个“事实核查”步骤利用检索工具验证反思分析中的关键断言。设置安全护栏在整个流程的输入、输出、以及中间生成的指令中都要部署内容安全过滤器防止生成有害、偏见或不合规的内容。这需要是一个多层次、纵深防御的体系。Unsaged项目为我们打开了一扇窗让我们看到了让AI模型在有限监督下持续自我改进的工程化可能性。它不是一个开箱即用的产品而是一个需要你根据具体场景去填充、调试和优化的框架。从实现一个简单的文本改进循环开始逐步加入任务规划、记忆、多智能体等模块你会对AI智能体的运作机制有更深刻的理解。这个过程本身就是一次极佳的学习和探索之旅。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价