收藏级干货!反思架构:让AI变身“自我审查专家“,代码质量堪比人类专家

反思架构是一种Agent工作模式,采用"生成->评估->改进"的多步内部独白机制,模仿人类"起草、审查、编辑"的过程。它通过结构化输出和角色分离,让LLM自我批评并改进输出,提升代码质量和逻辑严密性。文章详细介绍了其工作流程、应用场景、优缺点,并使用LangGraph实现了代码自动审查的完整示例,展示了如何将普通LLM转化为具备自我纠错能力的智能体。


**参考自:**all-agentic-architectures

  1. 什么是反思架构 (Reflection Architecture)?

反思架构是指 Agent 在向用户返回最终答案之前,先对其自身的输出进行批评(Critique)和修订(Revise)的一种工作模式。

  • 核心机制:它摒弃了单次生成的模式,转而采用“生成 -> 评估 -> 改进”的多步内部独白机制。
  • 类比:这模仿了人类在处理复杂任务时的“起草、审查、编辑”过程,旨在捕捉错误并提高最终输出的质量。

  1. 宏观工作流

该过程通常分为三个连续的阶段:

  1. 生成 (Generate)
    Agent 根据用户的 Prompt 产出初稿或初步解决方案。
  2. 批评 (Critique)
    Agent 切换角色成为“批评者”或“审查员”。它会进行自我反问,例如:
  • “这个答案有什么问题?”
  • “遗漏了什么关键信息?”
  • “是否存在逻辑漏洞或代码 Bug?”
  1. 优化 (Refine)
    利用在批评阶段获得的见解,Agent 对初稿进行修改,生成最终的改进版本。

  1. 应用场景与优缺点

3.1 典型场景

  • 代码生成:充当 Code Reviewer,修复 Bug 并优化代码风格。
  • 复杂摘要:查漏补缺,确保摘要的全面性和准确性。
  • 内容创作:优化邮件或博客的语气、清晰度和感染力。

3.2 优缺点分析

维度描述
优点质量提升:通过自我修正,产出更准确、逻辑更严密的回答。低门槛:只需单个 LLM 即可实现,无需复杂外部工具。
缺点自我局限:模型无法修复超出其知识边界的错误。延迟与成本:涉及多次 LLM 调用,响应更慢,成本更高。

  1. 环境配置与依赖安装

4.1 安装依赖

在 Jupyter 环境中运行:

%pip install langchain-openai langchain langgraph rich python-dotenv pygraphviz

4.2 初始化配置

这里使用兼容 OpenAI 接口的模型(如阿里百炼 Qwen)。

import osimport jsonfrom typing import List, TypedDict, Optionalfrom dotenv import load_dotenv# LangChain 组件from langchain_openai import ChatOpenAIfrom pydantic import BaseModel, Fieldfrom langgraph.graph import StateGraph, END# 美化输出from rich.console import Consolefrom rich.markdown import Markdownfrom rich.syntax import Syntax# 加载环境变量load_dotenv()# 配置 LangSmith 追踪 (可选)os.environ["LANGCHAIN_TRACING_V2"] = "true"os.environ["LANGCHAIN_PROJECT"] = "Agentic Architecture - Reflection"# 初始化 LLMllm = ChatOpenAI( model="qwen-flash", # 这里使用 Qwen 模型 openai_api_key=os.environ["DASHSCOPE_API_KEY"], openai_api_base="[https://dashscope.aliyuncs.com/compatible-mode/v1](https://dashscope.aliyuncs.com/compatible-mode/v1)", temperature=0.1)console = Console()print("环境初始化完成。")

  1. 构建核心组件

Reflection 架构依赖结构化数据来保证流程的稳定性。我们需要定义三个核心 Pydantic 模型。

5.1 定义数据结构 (Pydantic Models)

# 1. 初稿结构class DraftCode(BaseModel): """生成的初始代码草稿""" code: str = Field(description="解决用户请求的 Python 代码") explanation: str = Field(description="代码工作原理的简要解释")# 2. 评价结构class Critique(BaseModel): """代码自我评价""" has_errors: bool = Field(description="代码是否有潜在 Bug 或逻辑错误?") is_efficient: bool = Field(description="代码是否高效?") suggested_improvements: List[str] = Field(description="具体的改进建议列表") critique_summary: str = Field(description="评价总结")# 3. 终稿结构class RefinedCode(BaseModel): """优化后的最终代码""" refined_code: str = Field(description="最终的、改进后的 Python 代码") refinement_summary: str = Field(description="基于批评意见所做的更改总结")

5.2 定义处理节点 (Nodes)

节点 1:生成器 (Generator)

def generate_node(state): console.print("--- 1. 生成初始代码 ---") generator_llm = llm.with_structured_output(DraftCode) prompt = f"""You are an expert Python programmer. Write a Python function to solve the following request. Provide a simple, clear implementation and an explanation. Request: {state['user_request']} """ draft = generator_llm.invoke(prompt) return {"draft": draft.model_dump()}

节点 2:批评者 (Critic)

def critic_node(state): console.print("--- 2. 评价初始代码 ---") critic_llm = llm.with_structured_output(Critique) code_to_critique = state["draft"]["code"] prompt = f"""You are an expert code reviewer. Analyze the code for: 1. Bugs and Errors 2. Efficiency and Best Practices Code to Review: ```python {code_to_critique} ```""" critique = critic_llm.invoke(prompt) return {"critique": critique.model_dump()}

节点 3:优化器 (Refiner)

def refine_node(state): console.print("--- 3. 完善代码 ---") refiner_llm = llm.with_structured_output(RefinedCode) draft_code = state["draft"]["code"] critique = json.dumps(state["critique"], indent=2) prompt = f"""Rewrite the original code implementing all suggested improvements. Original Code: ```python {draft_code} ```Critique: {critique} """ refined_code = refiner_llm.invoke(prompt) return {"refined_code": refined_code.model_dump()}

  1. 使用 LangGraph 编排工作流

我们将节点连接成一个线性的图结构:Start -> Generator -> Critic -> Refiner -> End

# 1. 定义图状态class ReflectionState(TypedDict): user_request: str draft: Optional[dict] critique: Optional[dict] refined_code: Optional[dict]# 2. 构建图graph_builder = StateGraph(ReflectionState)# 添加节点graph_builder.add_node("generator", generate_node)graph_builder.add_node("critic", critic_node)graph_builder.add_node("refiner", refine_node)# 定义边(流程走向)graph_builder.set_entry_point("generator")graph_builder.add_edge("generator", "critic")graph_builder.add_edge("critic", "refiner")graph_builder.add_edge("refiner", END)# 编译图reflection_graph = graph_builder.compile()# 可视化(需要 pygraphviz)try: from IPython.display import display, Image display(Image(reflection_graph.get_graph().draw_png()))except Exception: print("可视化依赖未安装,跳过绘图。")

  1. 执行与评估

7.1 运行工作流

user_request = "Write a fast sorting function and a test case for it."initial_input = {"user_request": user_request}final_state = Noneprint(f"🚀 开始处理任务: {user_request}")# 流式运行以捕获最终状态for state in reflection_graph.stream(initial_input, stream_mode="values"): final_state = stateprint("✅ 工作流结束")

7.2 量化评估 (LLM-as-a-Judge)

使用另一个 LLM 调用作为“裁判”,对比初稿和终稿的质量。

class CodeEvaluation(BaseModel): correctness_score: int = Field(description="逻辑正确性评分 (1-10)") efficiency_score: int = Field(description="算法效率评分 (1-10)") justification: str = Field(description="评分理由")judge_llm = llm.with_structured_output(CodeEvaluation)def evaluate_code(code: str): return judge_llm.invoke(f"Evaluate this Python code logic and efficiency (1-10):\n```python\n{code}\n```")# 执行评估if final_state and 'draft' in final_state and 'refined_code' in final_state: print("--- 初稿评分 ---") print(evaluate_code(final_state['draft']['code']).model_dump()) print("\n--- 终稿评分 ---") print(evaluate_code(final_state['refined_code']['refined_code']).model_dump())

  1. 总结

本教程通过Reflection Pattern展示了如何将一个普通的 LLM 转化为具备自我纠错能力的智能体。核心在于:

  1. 结构化输出:使用 Pydantic 强制模型按格式思考。
  2. 角色分离:生成与评价解耦,模拟 Code Review 流程。
  3. 图编排:使用 LangGraph 清晰地定义状态流转。

AI时代,未来的就业机会在哪里?

答案就藏在大模型的浪潮里。从ChatGPT、DeepSeek等日常工具,到自然语言处理、计算机视觉、多模态等核心领域,技术普惠化、应用垂直化与生态开源化正催生Prompt工程师、自然语言处理、计算机视觉工程师、大模型算法工程师、AI应用产品经理等AI岗位。

掌握大模型技能,就是把握高薪未来。

那么,普通人如何抓住大模型风口?

AI技术的普及对个人能力提出了新的要求,在AI时代,持续学习和适应新技术变得尤为重要。无论是企业还是个人,都需要不断更新知识体系,提升与AI协作的能力,以适应不断变化的工作环境。

因此,这里给大家整理了一份《2025最新大模型全套学习资源》,包括2025最新大模型学习路线、大模型书籍、视频教程、项目实战、最新行业报告、面试题等,带你从零基础入门到精通,快速掌握大模型技术!

由于篇幅有限,有需要的小伙伴可以扫码获取!

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

4. 大模型项目实战

学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

5. 大模型行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

为什么大家都在学AI大模型?

随着AI技术的发展,企业对人才的需求从“单一技术”转向 “AI+行业”双背景。企业对人才的需求从“单一技术”转向 “AI+行业”双背景。金融+AI、制造+AI、医疗+AI等跨界岗位薪资涨幅达30%-50%。

同时很多人面临优化裁员,近期科技巨头英特尔裁员2万人,传统岗位不断缩减,因此转行AI势在必行!

这些资料有用吗?

这份资料由我们和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


大模型全套学习资料已整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1119619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024提示工程架构师行业趋势:零售领域的Prompt应用,提升用户体验

2024提示工程架构师行业趋势:零售领域的Prompt应用,如何用AI“懂”用户提升体验? 引言:零售的本质,是让AI学会“读心” 凌晨1点,刚加班完的小张打开某电商APP,想给女朋友买支口红当生日礼物。他…

基于Java的超市线上购物管理系统库存上下架应用和研究

文章目录超市线上购物管理系统库存上下架应用与研究摘要项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!超市线上购物管理系统库存上下架应用与研究摘要 该系统…

springboot+vue开发的地方美食分享与推荐系统 论坛 爬虫可视化大屏应用和研究

文章目录 摘要技术亮点 项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式! 摘要 随着互联网技术的快速发展,地方美食文化的传播与分享需求日益增长。…

springboot+vue开发的大学生就业服务平台四个角色sdae9ber应用和研究

文章目录摘要技术亮点项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 基于SpringBoot和Vue技术的大学生就业服务平台设计实现了四个核心角色(…

基于JAVA的高校食堂在线点餐系统的设计与实现应用和研究

文章目录 摘要 项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式! 摘要 高校食堂在线点餐系统基于JAVA技术开发,旨在解决传统食堂就餐效率低、排队时…

springboot+vue开发的宠物之家领养寄养救助商城管理系统h1ypq0zm应用和研究

文章目录摘要项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 基于SpringBoot和Vue开发的宠物之家管理系统(项目标识:h1ypq0zm&…

internationalization i18n 2026.01.06

国际化 1)服务端java国际化 2)客户端JS国际化 3)数据库表设计国际化(这边涉及数据不写了)这个地方也是最费时间,而且影响数据 主页面的常规切换 按钮,表格,列,列名 这些…

计算机毕业设计springboot人力资源管理系统的核心设计与实现 基于Spring Boot框架的人力资源管理系统核心功能开发与实践 Spring Boot驱动下的人力资源管理系统核心模块设计与实现

计算机毕业设计springboot人力资源管理系统的核心设计与实现6332p (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着信息技术的飞速发展,企业对人力资源管理的数…

springboot+vue开发的宠物养生馆看护咖啡馆平台的设计与实现应用和研究

文章目录摘要项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 随着宠物经济的快速发展,宠物养生馆与看护咖啡馆结合的服务模式逐渐受到关注。基…

springboot+vue开发大学生日常行为评奖评优评分班级管理系统j94i24o0应用和研究

文章目录摘要项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 大学生日常行为评奖评优评分班级管理系统(J94I24O0)基于SpringBoot和…

探索MATLAB中综合能源系统的热电优化:融合阶梯式碳交易与电制氢

MATLAB代码:考虑阶梯式碳交易机制与电制氢的综合能源系统热电优化 关键词:碳交易 电制氢 阶梯式碳交易 综合能源系统 热电优化 参考文档:《考虑阶梯式碳交易机制与电制氢的综合能源系统热电优化》基本复现 仿真平台:MATLABCPLEX…

【干货】AI Agent:颠覆性技术原理解析,从对话到行动的关键飞跃

AI Agent是具备自主决策能力的智能体,通过"感知-决策-执行"闭环重塑人机协作边界。与传统AI应用不同,Agent能理解目标、拆解步骤、调用工具并自我调整。其核心原理包括观察、思考、行动和反馈四个步骤,可能需要单次或多次循环完成复…

深度解析:智能体记忆模式全景分类,收藏这份完整技术指南

本文系统梳理了AI智能体记忆的结构与逻辑,从技术实现和拓扑结构两个核心维度进行分类,并构建了"形式类型操作"三维框架。详细分析了词元级、参数化和潜在三种记忆形式,区分了短期记忆与长期记忆类型,阐述了记忆内化、提…

导师推荐!10款AI论文软件测评,研究生开题必备

导师推荐!10款AI论文软件测评,研究生开题必备 2026年AI论文工具测评:为何值得一看? 随着人工智能技术的不断进步,越来越多的研究生开始依赖AI论文软件来提升写作效率与研究质量。然而,市面上的工具种类繁多…

springboot+vue开发大学生竞赛辅导管理系统设计与实现_979lg660应用和研究

文章目录摘要关键技术项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 随着高校竞赛活动的普及,传统的人工管理模式已难以满足高效、精准的辅导…

【收藏必看】RAG技术全解析:从入门到精通,8大核心策略+实战调优指南

【收藏必看】RAG技术全解析:从入门到精通,8大核心策略实战调优指南 本文系统介绍了RAG(检索增强生成)技术,详细解析了大模型为何需要RAG、RAG的核心概念与标准流程,深入探讨了文档分块策略、检索优化方法、…

springboot+vue开发的Easy云盘网盘文件共享系统应用和研究

文章目录摘要关键词项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 Easy云盘是一款基于SpringBoot和Vue技术栈开发的网盘文件共享系统,旨在为…

AI 时代程序员破局关键:Claude Code Skills 如何重塑职业未来

别再把自己当成一个“写代码的”了。 如果你今天还在为怎么写一个 for 循环、怎么调通一个 API 而沾沾自喜,那你可能正在走向职业生涯的死胡同。 在 Claude Code 的新范式下,一种被称为 “Agent Orchestration”(智能体编排) 的能…

springboot+vue开发的个人健康运动健身饮食人体血糖监测系统应用和研究

文章目录摘要关键词项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 随着现代生活节奏加快,慢性疾病如糖尿病发病率逐年上升,个人健…

springboot+vue开发的健身房私教预约系统的设计与实现ee3c45b3应用和研究

文章目录摘要技术亮点项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 随着健身行业的快速发展,私教预约管理成为健身房运营的重要需求。传统的…