自进化智能体编码软件用法

Clipboard_Screenshot.png 为啥还是读取列名失败,我一开始想先不做消融实验,先让AI自己编码然后我增加不一样条数的反馈,作为智能体记忆,增加的差不多以后再去一键消融实验,该如何做

找到根因了!旧的 8000 端口后端是我早前用旧 venv 启动的一个测试实例 (后台任务 0AtWXw),它在我加 columns 接口之前就启动了,且没带 --reload,所以一直跑的是旧代码。我已经把它杀掉了,现在启动新后端。

两件事都处理好了:

1. 列名还是读取失败 ------ 已强制解决

你截图时,8000 端口上仍然是我之前启动的旧测试后端进程(19:46 启动),它没加载 columns 接口。我已经:

  • 找到并 kill 了旧进程;
  • 用新代码重新启动了后端;
  • 验证 /api/experiment/71/columns 现在返回 200,列名正常;
  • 新增了 PATCH /api/experiment/{id}/columns 接口,你选的文本列/专家列会自动保存到数据库。

你现在只需要刷新浏览器页面,再进「多轮实验运行」选择实验 71,列名就会正常加载。


2. 你的实验流程:先积累反馈记忆,再做消融 ------ 完全支持

这正是论文里标准的「先训练/积累,再消融对比」流程。按下面步骤做:

阶段 1:让 AI 编码并积累记忆

  1. 实验配置 → 创建 Dual-loop Evolution 实验(不勾选「同时生成消融集」)
  2. 上传你的 Excel,比如 课例编码1_教学活动多样性_...xlsx
  3. 多轮实验运行 → 选择这个实验:
    • 文本列:选 课例名称(或你想编码的列)
    • 专家列:选 AI一级活动(你的专家标注列)
    • 「运行全部轮次」 跑 Round 1
  4. R1 跑完后,点 「注入人工反馈」,输入几条反馈
  5. 「再跑一轮」 跑 Round 2;系统会读取反馈并更新记忆
  6. 重复:加不同数量/类型的反馈 → 再跑一轮

阶段 2:做消融实验

等记忆积累到你觉得「差不多」之后:

  1. 回到 「实验配置」
  2. 在右侧 「已有实验」 列表里找到你的 dual_loop 实验
  3. 点击 「派生消融」
  4. 系统会基于这个主实验生成 4 个 baseline:
    • zero_shot
    • static_fewshot
    • self_reflection
    • single_loop
  5. 弹窗问「是否立即运行」→ 点 「立即运行」
  6. 系统按顺序跑完 5 个条件,形成完整消融对比

💡 关键设计:消融跑之前,系统会对记忆库做快照;每个 baseline 都从同一记忆起点出发,避免 dual_loop 积累的记忆污染 zero_shot/static_fewshot。

注意事项

  • 真实 LLM:你目前是 Mock 模式,结果数字是启发式,不能用于论文。需要先在「系统设置」里切到 OpenAI 兼容协议,填 Aliyun URL、API Key、模型名。
  • 专家列必须选 :你的 Excel 里没有 Expert_Code 列,专家列一定要手动选 AI一级活动一级活动,否则运行会报列不存在。
  • 文本列选择 :如果你想编码的是「教学活动」内容,文本列可以选 一级活动SRT;如果文本列本身不够完整,AI 编码效果会受影响。

刷新浏览器后,实验 71 的列名应该能正常读取了。

软件要怎么用哇,我需要先初始化编码,然后比较不一样的地方 给智能体增加记忆,然后编码几个excle之后同时面对一个新的案例跑一下,勾选 Dual-loop Evolution (论文模型:内 + 外循环)以后自动做一轮消融实验

我先看一下当前项目的相关实现,确认改动范围。

项目结构已摸清。现在设计并实现「训练集 / 测试集」分离机制。先改数据模型:

Now the dataset manager core:

Now the dataset API:

Now the frontend API bindings:

Now let me verify the backend imports and run an end-to-end test:

发现一个既存的严重环境问题,与本次改动无关但会阻断所有 API:

starlette 1.6.0 与 fastapi 0.141 不兼容(大版本破坏性变更,导致 include_router 静默失效)。修复依赖:

_IncludedRouter 是我过滤逻辑的误判------路由其实一直正常。用真实的 HTTP 请求做端到端验证:

找到根因:我写入的 updated_at 用了 ISO 格式(T 分隔),SQLite 的 timestamp 转换器只认空格分隔。修复:

这是一个既存的严重 bug :新增经验被写入后立刻被遗忘机制软删除(is_active=0),导致训练积累的记忆根本不生效(这也能解释 trained 与 baseline 准确率相同)。查看遗忘逻辑:

两处既存 bug 会让训练积累完全失效,必须一并修复。先加保护期配置:

Now add usage tracking so memory that actually gets read isn't judged "idle":

后端全部 PASS。现在验证前端 TypeScript 编译:

做一次真实服务冒烟测试:

/api/dataset/list 在无参数时报 400------新版 FastAPI 对 int | None = None 类型的可选 query 参数需要显式 Query。检查所有同类写法:

历史脏数据(我早期写入的 ISO 格式时间戳)导致的。清理并加固:

Now build the frontend to confirm the new page compiles:

Now update the usage doc with the new workflow:

已经实现并跑通了。回答你的两个问题:

一、页面需要改 ------ 已经改好了

新增了左侧菜单 「训练集 / 测试集」/datasets),4 个 Tab:

Tab 作用
数据集 训练集 / 测试集分两张表,各带勾选框;「切换」按钮随时改角色
阶段一 · 训练 勾选多个训练集 → 依次跑,记忆跨文件累积,显示每个文件的准确率与记忆增量
阶段二 · 测试 勾选测试集 → 冻结记忆评估,选 baseline(训练前)或 trained(训练后)
泛化增益对比 自动算 gain = trained − baseline,可展开看历史记录

二、操作流程

复制代码
① 上传多个 Excel → 标记「训练集」
② 训练Tab:条件选 dual_loop → 开始训练
     记忆跨文件累积:train_A 0/0/0→1/3/3,train_B 1/3/3→2/8/10
③ 另上传 Excel → 标记「测试集」
④ 测试Tab:zero_shot + baseline → 跑一次   ← 训练前对照分
⑤ 训练完后再测:dual_loop + trained → 跑一次 ← 泛化分
⑥ 增益Tab 自动出 gain

角色随时可切(训练集 ⇄ 测试集),不用重新上传。

关键设计:测试时强制「记忆冻结」------关外循环(测试样本不进经验库)、默认关内循环(否则用专家答案现场改判等于标签泄漏)、评估前后快照还原。E2E 验证记忆 2/8/10 测完仍是 2/8/10,零污染。

三、顺带修掉三个会让实验失效的既存 Bug

  1. 训练学到的经验立刻被遗忘机制删掉 ------ auto_forget_idle 判定 usage_count<1 且 last_used_at IS NULL,而新增经验恰好满足,刚学会就被软删。加 24h 保护期 + touch_memory() 让"被读取"计入 usage。
  2. SQLite 时间戳解析崩溃 ------ 含 T 的 ISO 时间会让 sqlite3 抛 not enough values to unpack,表现为接口莫名 400/404。注册了健壮 converter 并清理了库里脏数据。
  3. starlette 1.6.0 与 fastapi 0.x 不兼容 ------ include_router 后 routes 出现 _IncludedRouter 包装器。已锁 starlette<1.0,并让 start.py 启动时自动检测降级。

四、验证

test_train_test_split.py 全 PASS(角色切换、跨文件累积、记忆还原、经验存活、增益表);前端 tsc --noEmit 零错误、vite build 成功;真实 HTTP 冒烟 /api/dataset/* 全部 200。

⚠️ 一点提醒:E2E 里 baseline 和 trained 都是 0.600,是因为当前跑的是 mock LLM (关键词启发式),数字本身没有意义。要出论文数据必须先在「系统设置」配真实 LLM。另外完整增益必须在训练前先跑一次 baseline,否则增益页只能显示 trained 单边。

相关推荐
jimmyleeee1 小时前
大模型安全之十八:AI常见漏洞类别与缓解策略
人工智能·安全
火山引擎开发者社区1 小时前
多行业专家招募|参与线上访谈拿 2000元/h 现金报酬!
人工智能
4SAPI1 小时前
企业大模型API服务商推荐:从多模型接入到AI API Gateway的技术选型分析
人工智能·php
jzshmyt2 小时前
我用 Python 从零“生成“了一个宇宙,然后让它观察自己(v14)
人工智能·pytorch·python·numpy·matplotlib·空间计算·scipy
LuTshoes2 小时前
spring ai 实战 手搓 PlaneExecuteAgent
java·人工智能·spring·ai
火山引擎开发者社区2 小时前
火山引擎 AgentKit 获评中国信通院 2026 智能原生软件“银弹”标杆实践
人工智能
米小虾2 小时前
RSI 走到哪一步了:拆开递归自我改进的三个可写面、五条定律,和那个没人做的对照实验
人工智能·agent
ACP广源盛139246256732 小时前
GSV9001E 国产 4K 视频处理器,AI 多模态可视化大屏多路画面合成方案解析
人工智能·硬件架构·国产芯片·ai服务器