Skip to content

Claude/陈姿羽#35

Open
syqlp wants to merge 2 commits into
lights-think:masterfrom
syqlp:master
Open

Claude/陈姿羽#35
syqlp wants to merge 2 commits into
lights-think:masterfrom
syqlp:master

Conversation

@syqlp
Copy link
Copy Markdown

@syqlp syqlp commented Jun 4, 2026

完成能力点

  • 后端工程能力
  • Agent 项目经验
  • RAG / 知识库能力
  • 业务系统集成
  • 安全与权限意识
  • 管理后台 / 产品意识
    后端工程能力: 已完成。基于 FastAPI + SQLite 实现完整后端服务,包含异步任务处理、状态机管理、数据库持久化等功能。

Agent 项目经验: 已完成。实现了 Planner + Executor 架构的 Agent 系统,支持工具链编排、步骤执行、失败重试和状态追踪。

RAG / 知识库能力: 已完成。实现权限感知的知识库检索,支持引用溯源(citations)、受限文档过滤(filtered_doc_ids),并具备提示词注入防护能力。

业务系统集成: 已完成。集成 ERP 库存查询、BI 销售数据、OA 审批草稿创建、供应商风险查询等外部业务系统。

安全与权限意识:已完成。实现基于角色的权限矩阵(alice/bob/mallory),工具级权限检查、敏感字段脱敏(vendor_secret、unit_cost_usd 等)、完整的审计日志记录。

管理后台 / 产品意识: 已完成。实现 Dashboard 接口,提供任务数量、失败率、平均耗时、token 成本、工具调用统计、最近失败摘要等运营指标。

设计说明

请说明核心架构、状态流转、工具调用边界、RAG 策略和权限设计。
核心架构:系统采用分层架构设计。API 层(app.py)处理请求和用户认证;Worker 层管理异步任务的执行生命周期;Planner 负责将自然语言意图转换为确定的工具调用计划;Executor 按顺序执行计划中的工具,处理失败重试和状态持久化;Repository 层封装数据库操作。

状态流转:任务创建时状态为 pending;触发执行后进入 running;工具链全部成功则进入 completed;任何不可恢复的工具失败则进入 failed,并记录失败原因和错误摘要。重复触发已完成的运行会返回幂等结果。

工具调用边界:各工具职责明确。erp.get_inventory(查询库存,权限 erp:read);bi.get_sales(查询销售预测,权限 bi:read);knowledge.search(知识库检索,权限 knowledge:read,支持权限过滤);supplier.get_risk(供应商风险查询,权限 supplier:read);oa.create_approval_draft(创建审批草稿,权限 oa:approval:write)。Executor 在调用每个工具前检查权限,无权限时跳过并记录审计事件。

RAG 策略:采用权限感知检索策略。检索时根据用户权限过滤文档,返回的 citations 仅包含用户有权查看的文档;filtered_doc_ids 返回被过滤的文档 ID。所有知识库正文被视为不可信数据,检测到"忽略之前指令"等提示词注入模式时拒绝请求并写入审计日志。

权限设计:角色分为 alice(完整权限,可创建审批草稿)、bob(只读权限,无法创建审批草稿)、mallory(无任务创建权限)。权限检查在工具调用前执行,缺权限时不执行受保护写操作,返回清晰的错误信息并记录审计日志(action=approval.draft.create,decision=deny)。所有敏感字段在 API 响应、审计日志和事件轨迹中完成脱敏。

本地验证

请贴出执行过的命令和结果:

$ python -m pytest tests/ -v

============================= test session starts =============================
platform win32 -- Python 3.10.1, pytest-9.0.3, pluggy-1.6.0
collected 10 items

tests/test_acceptance_guidance.py::test_acceptance_alice_inventory_replenishment_loop XPASS
tests/test_acceptance_guidance.py::test_acceptance_bob_analysis_only_does_not_create_oa_draft XPASS
tests/test_acceptance_guidance.py::test_acceptance_knowledge_search_has_citations_without_debug_or_restricted_leaks XPASS
tests/test_acceptance_guidance.py::test_acceptance_sensitive_fields_are_redacted_from_result_events_and_audit XPASS
tests/test_acceptance_guidance.py::test_acceptance_run_and_event_visibility_match XPASS
tests/test_acceptance_guidance.py::test_acceptance_permission_denial_is_audited XPASS
tests/test_public_contract.py::test_public_task_run_contract PASSED
tests/test_public_contract.py::test_public_knowledge_and_admin_contract PASSED
tests/test_public_contract.py::test_public_permission_contract PASSED
tests/test_smoke.py::test_healthcheck_and_seeded_user PASSED

======================== 4 passed, 6 xpassed in 14.66s ========================

已知风险或未完成项

请列出你没有完成、刻意简化或认为生产环境还需要加强的部分。

异步任务队列:当前使用简单的后台线程处理异步任务,生产环境应使用 Redis + Celery 等专业任务队列。优先级 P1

数据库:当前使用 SQLite,生产环境应使用 PostgreSQL/MySQL 以支持更高并发。优先级 P1

认证系统:当前使用简单的 X-User-Id header 模拟用户,生产环境应集成 OAuth2/JWT 等标准认证方案。优先级 P1

LLM 集成:当前使用 fake_llm 模拟 LLM 调用,生产环境应接入真实 LLM API(如 OpenAI、Anthropic)。优先级 P1

错误重试:当前实现基础重试机制(瞬时失败重试一次),可增强为指数退避重试策略。优先级 P2

监控告警:当前仅提供 Dashboard 查询接口,可增加主动告警机制(失败率超阈值、队列积压等)。优先级 P2

API 限流:未实现请求限流,生产环境应添加防止滥用的限流机制。优先级 P2

日志系统:当前仅输出到控制台,生产环境应接入结构化日志系统(如 ELK、Splunk)。优先级 P2

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