Skip to content

LeetCode智能刷题教练 #15

Description

@lijiuqi1

LeetCode 智能刷题教练 Agent 系统 — 项目讲解

一、解决的核心痛点

在 LeetCode 刷题过程中,绝大多数学习者面临一个共同困境:看完题解觉得自己会了,下次遇到同类题还是不会。根本原因在于,传统刷题模式是"被动接受答案"而非"主动分析错误"。学习者提交错误代码后,平台只反馈"答案错误"或"超出时间限制",却无法告诉学习者:你的思路到底错在哪一步?你原本的解法和最优解的差距在哪里?你反复犯的错误类型是什么?

本项目正是针对这一痛点,构建了一个能从错误代码中"反向推理"的智能辅导系统,帮助学习者理解自己的思维盲区,而非直接给出答案。

二、核心逻辑流(多 Agent 协作)

系统采用三 Agent 流水线架构,由调度中心协调工作:

第一步:🐛 Debug Agent(代码执行与错误捕获)
接收用户提交的代码后,Debug Agent 在 Python 沙箱中安全执行代码。沙箱具备超时控制(防止死循环)和输出截断(防止内存溢出)能力。执行完成后,Agent 会运行内置测试用例,精确捕获失败用例的输入、期望输出和实际输出,以及运行时错误的类型和行号。

第二步:🧠 Reasoning Agent(长链推理分析)
这是系统的核心。Reasoning Agent 不是简单地给出正确答案,而是执行一套完整的推理链:

逆向推断:根据用户代码的结构和写法,推测用户原本想用什么方法解题(比如暴力枚举、双指针、动态规划等)
逐点对比:将用户思路与最优解法进行关键差异对比(时间复杂度、数据结构选择、边界处理等)
3 级渐进提示:
🔴 级别1:只指出"哪一步出了问题",不告诉正确答案
🟡 级别2:给出"思考方向",引导用户自己修正
🟢 级别3:给出"关键代码片段",仍然不给完整答案

这种渐进式设计的核心理念是:引导思考比给答案更重要。

第三步:📊 Meta Agent(错误模式记录与学习画像)
Meta Agent 自动提取本次错误的类型标签(如"边界处理"、"指针错误"、"效率问题"、"递归溢出"等),持久化存储到 JSON 文件中。随着刷题次数积累,Agent 会分析用户的错误模式分布,生成个性化学习画像,指出最常犯的错误类型并给出针对性建议。

三、技术实现亮点

1.Python 沙箱:基于 subprocess 隔离执行,自动解析 stderr 提取错误类型和行号,支持超时控制
2.测试用例引擎:自动从代码中提取函数名,构造测试调用,逐用例验证正确性
3.数据持久化:用户错误记录以 JSON 格式存储,支持跨会话保留
4.演示模式:内置完整模拟数据,无需 API Key 即可体验完整流程
5.内置题库:包含 5 道经典 LeetCode 题目(两数之和、反转链表、有效括号、爬楼梯、最大子数组和),每题配有模板代码、测试用例、最优解和渐进提示

四、预期效果

通过使用本系统,学习者能够从"被动看答案"转变为"主动分析错误"。系统记录的错误画像可以帮助学习者识别自己的薄弱环节,实现有针对性的刷题训练,从而真正提升算法思维能力,而非单纯记忆题解。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions