Skip to content

Claude Code/陈浩#39

Open
True-Uso wants to merge 1 commit into
lights-think:masterfrom
True-Uso:claude-code/chenhao
Open

Claude Code/陈浩#39
True-Uso wants to merge 1 commit into
lights-think:masterfrom
True-Uso:claude-code/chenhao

Conversation

@True-Uso
Copy link
Copy Markdown

@True-Uso True-Uso commented Jun 5, 2026

完成能力点

  • 后端工程能力:实现 Planner→Executor→Worker 任务执行闭环,queued/running/completed/failed 状态机,有序事件与结果持久化,后台执行幂等守卫,工具瞬时失败重试。
  • Agent 项目经验:确定性 Planner(正则识别 SKU + 关键词判定意图),Executor 按计划渲染入参、跨步依赖传递(supplier_id)、汇总最终业务结果。
  • RAG / 知识库能力:权限感知检索 + TF 余弦重排 + 抽取式答案 + 引用溯源(doc_id/title/source_path/chunk_id)+ filtered_doc_ids,正文按不可信数据净化。
  • 业务系统集成:打通 ERP 库存、BI 销售预测、供应商风险、OA 审批草稿,工具链 erp→bi→knowledge→supplier→oa,输入输出结构清晰。
  • 安全与权限意识:提示词注入创建期拦截(400+审计)、run/events 可见性与 404、运行前读权限校验、OA 写权限+策略阈值边界、敏感字段集中脱敏、权限拒绝审计。
  • 管理后台 / 产品意识:Dashboard 增量补充 average_run_seconds、recent_failures、queue_health、permission_denied_count、tool_skipped_counts,保留全部公开字段名。

设计说明

实现了完整的 Agent 任务执行闭环:任务创建后可触发异步 run,Worker 读取任务上下文,Planner 基于 prompt 确定性识别 SKU 与业务意图,Executor 按计划依次调用 ERP、BI、知识库、供应商风险与必要的 OA 工具,并持久化状态、有序事件、最终结果、错误与 token 成本。

核心架构与取舍:

  • 不引入外部 LLM、向量库、任务队列或新框架,保持测评仓库轻量(沿用 FastAPI BackgroundTasks + 标准库 sqlite3)。
  • Planner:正则提取 SKU + 关键词判定意图(只分析 / 生成补货审批建议 / 创建草稿),生成确定性工具计划,不写死任何 SKU/用户/样例。
  • 状态流转:queued → running → completed/failed,后台执行带幂等守卫;瞬时集成错误经 ToolRegistry 重试,真实失败转为可解释 failed 且不外泄堆栈。
  • 工具调用边界:有任务权限 ≠ 有审批写权限。OA 写入需同时满足 oa:approval:write + 库存策略阈值(缺口≥30 或销售影响>5000)+ 确为补货风险,缺一即跳过并写 tool.skipped + deny 审计,绝不泄露 OA-DRAFT- 草稿号。
  • RAG:权限感知检索 + TF 余弦重排 + 抽取式答案 + 引用溯源 + filtered_doc_ids;文档正文视为不可信数据,命中提示词注入的句子被净化,不允许文档内容改变系统策略。
  • 脱敏:新增集中式 redaction.pyvendor_secret/unit_cost_usd/凭证/调试字段在工具边界统一剥离,不进入 result / events / audit / 协作日志。
  • 可见性:run 与 events 仅请求人、任务创建人或 admin 可见,不存在返回 404,越权返回 403。
  • 管理后台:在保留全部公开字段名前提下,增量新增 average_run_seconds、recent_failures、queue_health、permission_denied_count;并将被跳过的写操作从 tool_call_counts 拆出为 tool_skipped_counts,避免调用次数虚增。

本地验证

.\.venv\Scripts\python.exe scripts\self_check.py
# 4 passed, 1 warning(等价于 make score;FastAPI TestClient 弃用提示,无害)

.\.venv\Scripts\python.exe -m pytest -q
# 14 passed, 1 warning(6 acceptance + 4 公开契约 + 4 新增泛化/安全测试)

已知风险或未完成项

  • 提示词注入为规则匹配,可能漏掉新型变体。
  • token 成本为确定性估算,非真实计费口径,仅用于可观测性。
  • 异步执行沿用 FastAPI BackgroundTasks(单进程),未引入持久任务队列,未做高并发压测。
  • RAG 使用轻量 token 相似度与抽取式摘要,未引入向量检索或生成模型。

兼容影响

  • API:路径与公开字段保持兼容,仅新增失败路径(注入 400、读权限 403、404、越权 403),成功路径字段与状态码不变。
  • 数据库:未新增表或迁移,复用既有表。
  • 权限:语义与 README 及知识库规则一致,未改权限数据,并在运行关键路径补齐工具级权限校验。
  • 审计:使用标准动作名 task.create / task.rejected / run.create / run.read / run.events.read / tool.call / approval.draft.create,未使用历史别名 oa.approval.create。

- Planner/Executor/Worker 闭环:状态机、有序事件、结果与成本持久化、幂等与重试

- RAG 权限感知检索+引用溯源+正文净化,移除 debug 泄露

- 安全:提示词注入拦截、run/events 可见性与 404、运行前权限校验、敏感字段集中脱敏、权限拒绝审计

- 业务集成:ERP/BI/供应商风险/OA,OA 写入受权限+策略阈值边界保护

- Dashboard 增量指标;新增泛化与安全测试;填写 COLLABORATION_LOG

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant