Agent 框架

AgentDev
本地推理,
全链路可观测,
并行意图识别。

面向 Jetson Orin 边缘设备的生产级 ReAct 推理循环。本地 GGUF 量化模型推理,YAML 驱动协议配置。不依赖云端 —— 完全离线运行。


01 — 项目概览
v3.0.0
当前版本
14
核心模块
130
测试通过
22 GB
GGUF 模型

02 — 技术架构

状态机驱动的 ReAct 循环,前置并行意图分析

在进入 ReAct 循环之前,四个并行模块同步分析用户意图。安全门禁拥有一票否决权 —— 危险操作在工具执行前即被拦截。

循环前置 · 并行意图识别 · 四个独立分析模块
规则匹配器 · 安全门禁 ◈ 否决权 · 上下文分析 · 工具预选 意图协调器
ReAct 主循环 · 九状态状态机 · 最多八轮迭代
空闲 提示构建 模型调用 输出解析 动作分发
最终答案 工具执行 历史追加 下一轮
# AgentCore — 依赖注入,无全局状态 from agentic.agent import AgentCore from agentic.intent import IntentCoordinator agent = AgentCore( llm=backend, registry=tools, template=prompt_tpl, parser=parser, intent_coordinator=IntentCoordinator(tool_registry=tools), max_steps=8 ) result = agent.run("2加2等于多少?") # → "4" (或被安全门禁拦截:"[安全门禁] 操作被拒绝: ...")

03 — 核心模块

七个可独立测试的模块

模块化架构,依赖注入设计。每个模块可独立替换、独立测试。全局无状态 —— 所有依赖通过构造函数显式传入。

01

agent/

状态机驱动的 ReAct 循环。九个状态,显式错误恢复路径。AgentCore 取代了原有的单体函数 run_react_agent(),通过依赖注入实现完全可测试。

runner.py · 378 行
02

intent/

并行意图识别层。规则匹配器、安全门禁(否决权)、上下文分析器、工具预选器四模块并行执行,由意图协调器融合结果。总耗时不到 50 微秒。

coordinator.py · 320 行
03

llm/

LLM 后端协议 + 本地 GGUF 推理后端。基于 llama-cpp-python,支持 Qwen2 聊天模板、停止序列控制、token 计数与人民币成本核算。

__init__.py
04

protocol/

YAML 驱动的 ReAct 协议配置。PromptTemplate 渲染缓存友好的提示词。ResponseParser 实现四级优先级正则解析,每级均有后备策略。

parser.py · 435 行
05

tools/

工具注册中心,内置计算器(L1 子进程沙箱隔离)和天气查询工具。ToolNotFoundError 与 ToolExecutionError 支持 ReAct 循环内的优雅恢复。

registry.py / calculator.py / sandbox.py
06

guard/

观测结果消毒器。七步纵深防御流水线,在工具输出进入 LLM 上下文前完成:剥离聊天模板令牌、阻断 ReAct 格式注入、阻断命令执行模式。

observation_sanitizer.py · 367 行
07

tracer/

全链路可观测性。逐轮 TraceRecord 记录 + 跨轮 diff 分析(公共前缀、KV-cache 复用估算)。自包含 HTML 追踪报告,支持深色/浅色模式。

collector.py · 465 行 / diff.py

04 — 行业调研

三大生态横向对比

对 LangChain 1.0、OpenAI Agents SDK 和 Anthropic Claude Agent 三大生态进行七个维度的系统对比。涵盖 13 个章节、129 个小节。

对比维度LangChain 1.0OpenAI Agents SDKClaude AgentAgentDev
架构核心 标准化 ReAct 循环 + 五种生产设计模式 Harness-Sandbox 分离(行业标杆) Skills + Hooks + Modes 架构(九类技能) 状态机 ReAct + 并行意图识别
工具执行 LangChain Tool 抽象,@tool 装饰器 托管沙箱(mdb / codx / daytona) 54 个基础工具,三个注入点 ToolRegistry + L1 子进程沙箱
安全模型 工具级输入验证(手动实现) 四级沙箱(L0-L3),宿主管控 七层安全边界,拒绝优先,渐进信任 安全门禁(否决权)+ 观测消毒器(七步流水线)
可观测性 LangSmith 追踪(依赖云端) OpenAI traces + span 面板 JSONL 转录,五层压缩 全链路 TraceCollector + HTML 报告 + 人民币成本
推理运行时 任意 LangChain 兼容后端 仅 OpenAI 模型(GPT-4o, o3, o4-mini) Claude 模型,百万 token 上下文 本地 GGUF(llama-cpp-python),Jetson Orin,32K 上下文
意图识别 纯 LLM 判断(单次调用) 纯 LLM + 工具使用循环 yoloClassifier(快滤 + 思维链两阶段) 四模块并行分析(规则 / 安全 / 上下文 / 工具)
文档体系 丰富的文档与教程(英文) API 参考 + Cookbook(英文) CLAUDE.md 四级体系 BRD + FSD + 术语表 + 行业调研 + 会议纪要(中文)
A

LangChain 1.0

标准化 ReAct 循环 + 五种生产设计模式。LangGraph 提供可靠性增强(RFC #6617)。容器化工具执行。开源生态的基石。

B

OpenAI Agents SDK

Harness-Sandbox 分离架构 —— 行业安全标杆。四级沙箱模型(L0-L3)。托管沙箱供应商生态。安全设计的参考实现。

C

Claude Agent

Skills + Hooks + Modes 架构。七层安全边界,拒绝优先原则。98.4% 确定性基础设施,仅 1.6% 为 AI 调用。基础设施工程的范本。


05 — 安全体系

纵深防御

四层独立安全防线。执行前否决权在工具运行之前即拦截危险操作。执行后消毒则在观测结果进入模型上下文前剥离注入攻击。

1

意图安全门禁

执行前风险评估。对危险操作拥有一票否决权。确定性模式匹配,不到 10 微秒完成。拦截批量删除、凭据泄露、提示注入等攻击。

2

L1 子进程沙箱隔离

计算器在独立子进程中执行。os.system、__import__、eval 全部被封堵。无论恶意代码执行结果如何,均无法影响父进程。

3

观测结果消毒器

七步纵深防御流水线,在工具输出进入 LLM 上下文前运作。剥离聊天模板令牌与 ANSI 转义序列。阻断 ReAct 格式注入与命令执行模式。按预算截断。

4

响应校验器

解析后验证。确认动作指向已注册工具。未知动作触发观测反馈循环 —— LLM 在下一轮迭代中自行纠正。

# 安全门禁 —— 执行前否决 coordinator = IntentCoordinator(gate_strict_mode=True) result = coordinator.analyze("把客户资料全删了") # → veto=True, risk_level=DANGER, risk_reason="批量客户数据操作" # 观测消毒器 —— 执行后七步流水线 sanitizer = ObservationSanitizer(max_chars=2000, strict_mode=False) clean = sanitizer.sanitize(tool_output) # → 剥离聊天令牌、阻断 ReAct 格式注入、阻断命令执行模式

06 — 可观测性

全链路调用追踪

逐轮记录捕获每一个细节。跨轮差异分析评估 KV-cache 复用率。自包含 HTML 报告可在任意浏览器中打开。成本以人民币核算。

A

TraceRecord 追踪记录

逐轮捕获:提示词、原始/清洗后输出、思考/动作/观测、token 用量、耗时、状态标记(成功 / 工具错误 / 解析错误)。

B

跨轮 Diff 分析

相邻轮次公共前缀比对。KV-cache 复用率估算(3.5 字符 / token 启发式)。System Prompt 变更检测(金丝雀指标 —— 应始终为零)。

C

HTML 追踪报告

自包含深色/浅色模式报告。内置设计系统,含差异对比面板。逐步骤统计与成本明细。零外部依赖 —— 单个 HTML 文件即完整报告。

D

人民币成本追踪

按模型定价。Qwen3.6-35B:输入 ¥0.004 / 输出 ¥0.012 每千 token。会话级聚合统计。审计账本支持合规要求(SOC2 CC7.2)。


07 — 文档体系

企业级文档套件

完整的中文文档体系,覆盖业务需求、功能规格、技术术语、行业对标、共识证据和会议纪要。

01
BRD.md24 页+

业务需求文档 —— ReAct 循环规格、GGUF 推理方案、全量追踪模型、全部 BR/NFR 条目及验收标准

02
FSD.md8 个大节

功能规格文档 —— 组件架构、状态机设计、数据流、错误处理矩阵、配置参数、已知限制

03
GLOSSARY.md10+ 术语

技术术语表 —— GGUF、ReAct、KV-Cache、Flash Attention、RoPE、BPE,含定义及与本项目的关联

04
INDUSTRY_RESEARCH.md13 章, 129 节

行业调研报告 —— LangChain 1.0 / OpenAI Agents SDK / Claude Agent 三大生态对比,沙箱安全,Agent 边界划定

05
CONSENSUS_EVIDENCE.md5 个章节

共识证据文档 —— 五项跨角色共识、攻击链完整推导、防御方案有效性证据、行业标准引用

06
MEETING_MINUTES.md两轮会议

会议纪要 —— 跨角色讨论(产品 / 架构 / 开发 / 测试 / 安全)、行动计划、技术决策、目标终态


08 — 项目审查

发布前审查:16 项发现

对项目结构、代码质量、测试覆盖、文档完整性进行系统审查。按优先级分为 P0(阻断)、P1(重要)和 P2(改善)。

批评 —— 发布前必须修复
P0

空模块占位

agentic/eval/ 和 agentic/log/ 为空目录,缺少 __init__.py 和任何实现代码。要么删除空目录,要么添加占位实现。

P0

guard/__init__.py 为空文件

0 字节,无任何导出。ObservationSanitizer 无法通过包路径导入。需要添加公开 API 导出。

P0

ReActDemo 遗留单体文件

agentic/ReActDemo 是一个 1,583 行的单体 Python 脚本,无 .py 扩展名。v3.0.0 已模块化重构,此文件应归档或删除。

P0

新模块未纳入版本控制

agentic/intent/(7 个文件,1,299 行)和 tests/test_intent.py(312 行)均未 git add。intent 模块是 v3.0.0 的核心新增功能。

P0

menard 配置路径错误

pyproject.toml 中 require_links 指向 llama/**/*.py,但实际代码在 agentic/ 目录下。menard 无法正确追踪代码到文档的映射。

重要 — 发布前应当修复
P1

未提交的代码变更

agentic/agent/runner.py(+45 行)和 agentic/protocol/template.py(+9 行)有未提交修改。这些是 intent 模块集成所需的关键变更。

P1

db/__init__.py 仅有 docstring

无任何导出或初始化逻辑。viewer.py 虽存在但未被包引用。数据库模块功能不完整。

P1

doc/check_docs.py 位置不当

文档验证脚本放在 doc/ 目录下。应移到 scripts/ 或 tools/ 目录,或合并到 pytest 测试套件中。

P1

doc/INCIDENTS.md 未纳入追踪

.menard/links.toml 未包含 INCIDENTS.md,该文档与代码之间没有过期检测链接。同时缺少 DOC_MAINTENANCE.md 的追踪。

改善 — 后续迭代优化
P2

测试覆盖不均衡

config/exceptions/logging 模块测试较充分;tracer 测试以算法验证为主,缺少集成测试;db/eval 模块为零覆盖。

P2

README 需要更新

155 行的 README.md 未反映 v3.0.0 的新增模块(intent/、guard/)。缺少快速开始指南和架构图的链接。

P2

依赖管理双写

requirements.txt 和 pyproject.toml 各自维护依赖列表。建议以 pyproject.toml 为准,删除 requirements.txt 或改为引用。

P2

缺少 LICENSE 文件

pyproject.toml 声明 MIT 协议但仓库根目录没有 LICENSE 文件。开源项目的基本要求。

P2

缺少 main.py 测试

入口脚本 main.py 没有任何测试覆盖。至少需要一个冒烟测试验证模块组装路径不抛异常。

P2

doc/INCIDENTS.md 未被追踪

安全事故文档未纳入 menard 的代码-文档过期检测。如果 guard/ 模块变更,INCIDENTS.md 不会被标记为过期。

P2

缺少 CHANGELOG.md

v3.0.0 相比 v2.x 有重大架构变更(模块化拆分、intent 模块、guard 模块),但没有变更日志记录。


09 — 进度状态

AgentDev 项目路线图

从 prototype 演进至企业级框架。BRD 定义三层 Phase 架构,共识会议调整优先级 —— 安全项从 Phase 3 紧急前移。

2026.06.21

Phase 1 · 基础架构 ✅ 已完成

配置管理 (12-Factor)、异常体系 (RecoverableError / FatalError)、LLM 后端协议 + 本地 GGUF 推理、YAML 协议驱动、四级优先级 ReAct 输出解析器、基础工具注册中心。

configexceptionsllmprotocoltoolstracer
进行中

Phase 2 · 安全加固 + 模块化 收尾阶段

BRD 原定 Phase 3 的安全项紧急前移:L1 进程沙箱隔离 calculator 执行、Token Budget + CircuitBreaker 拦截 LLM 调用前的预算溢出、Observation 消毒器七步纵深防御阻断提示注入。monolithic ReActDemo 拆分为 14 个 agentic/ 子模块。新增并行意图识别层。

✅ 模块化拆分ReActDemo → agentic/
✅ L1 子进程沙箱sandbox.py
✅ Token Budgetbudget.py + CircuitBreaker
✅ Observation 消毒器367 行, 七步流水线
✅ AuditLedger哈希链 Schema, CLI viewer
✅ 并行意图识别intent/ 四模块
✅ 测试套件135/136 通过
○ Agent Mode 枚举本周完成
○ Eval 基础设施从 Phase 3 前移, 本周
~2026.09

Phase 3 · 生产就绪 ○ 计划中

Guardrails 输入护栏、Reflection 死循环检测、Hooks 机制、完整 Eval 评分体系 (六维度轨迹评分)、L2 容器级沙箱、Session 持久化 (SQLite)、OpenTelemetry 分布式追踪。

GuardrailsReflection 检测HooksEval 体系L2 沙箱Session 持久化OTel 追踪
各维度成熟度评分 (BRD 定义 · 共识会议调整)
评估维度当前评分Phase 2 目标Phase 3 目标
架构模块化5 / 106 / 107 / 10
工具沙箱安全1 / 105 / 10 (L1)7 / 10 (L2)
提示注入防御2 / 105 / 107 / 10
可观测性6 / 107 / 108 / 10
测试覆盖5 / 106 / 107 / 10
文档完整度7 / 108 / 108 / 10
整体评分4.3 / 106.2 / 107.2 / 10
发布里程碑
M1

v3.0.0-rc1 · 本周

修复 5 项 P0 问题,提交 intent/ 模块和测试,补充 guard/__init__.py 导出,清理空模块占位,更新 menard 配置路径,创建 LICENSE 文件。

M2

Phase 2 收尾 · 1 个月

完成 Agent Mode 枚举和 Eval 基础设施 (EvalScorer + 50 例 Dataset + CI 闸门)。评审全部 Phase 2 交付物,建立六维度量化基线。

M3

Phase 3 核心 · 3 个月

Guardrails、Reflection 死循环检测、Hooks 机制、Eval 体系完善、L2 容器沙箱、Session 持久化。目标整体评分 7.2 / 10。

M4

生产部署 · 待定

Jetson Orin 实机验证、OpenTelemetry 分布式追踪接入、Prometheus 指标导出、FastAPI REST 服务层。目标整体评分 8.5+。

跨角色共识决策 (2026.06.21 · 5/5 同意)
1

L1 沙箱替换 eval() 为最高优先级

calculator 工具从 Python eval() 升级为子进程隔离执行。安全评分从 1/10 提升至 5/10。

2

Token Budget + CircuitBreaker 在 LLM 调用前检查

每次 LLM 调用前验证 token 预算。超限立即熔断,防止上下文窗口溢出导致的不可控行为。

3

Observation 消毒层阻断 Prompt Injection 链

工具输出进入 LLM 上下文前经七步纵深防御流水线消毒。36% 公开 Skill 含注入漏洞,边缘设备无云端兜底。

4

System Prompt 重构为 XML 十段结构

从纯文本提示升级为结构化 XML。每段独立可验证、可替换。兼容 Qwen2 Chat Template。

5

AuditLedger 审计账本 · 哈希链不可篡改

每次 LLM 调用和工具执行写入 SQLite 审计日志。SHA-256 哈希链保证完整性。CLI viewer 支持合规审计。


10 — 调研依据

学术论文与行业最佳实践

项目架构决策基于对 2025-2026 年 AI Agent 领域三大生态系统的系统调研。以下列出支撑本项目的关键学术论文、行业标准和工程实践依据。

学术论文
A1

Guardrails Beat Guidance · arXiv 2604.11088 (2026.05)

对 679 个规则文件、25,532 条规则进行 5,000+ Agent 运行实验。核心结论:否定约束("禁止 X")比正向指导("请做 Y")对 Agent 输出质量的提升杠杆更高。"最小变更原则"经学术验证——每个变更仅引入一个新的否定约束。

arxiv.org/html/2604.11088v2
A2

Agent Harness 11 组件职责模型 · arXiv 2605.13357 (2026.05)

学术界正式定义 Agent Harness 的 11 个组件责任。核心结论:"Harness 质量决定可部署性,胜过模型质量"——即基础设施工程比模型选择更关键。本项目 98.4% 确定性基础设施的设计理念直接来源于此。

browse-export.arxiv.org/abs/2605.13357
A3

CAAF Framework · arXiv 2604.17025 (2026.04)

提出 AI Agent 的可部署性由 Harness 质量决定而非模型能力。定义了 Agent 基础设施的评估框架,本项目的六维度成熟度评分体系参考了此框架。

browse-export.arxiv.org/abs/2604.17025
A4

PEP 551 — Python Security Model (Rejected)

Python 安全社区长期共识:CPython 中沙箱逃逸为已知不可解问题。官方建议使用 OS 级隔离替代语言级沙箱。这是本项目将 calculator 从 eval() 升级为子进程隔离的核心依据。

peps.python.org/pep-0551
A5

AGENTS.md Smells Analysis · The Register (2026.06)

对公开 AGENTS.md / CLAUDE.md 规则文件的大规模代码嗅觉分析。发现 36% 的公开 Skill 文件存在 prompt injection 漏洞——这是本项目 Observation 消毒器设计的直接触发依据。

theregister.com/ai-and-ml/2026/06/17
行业标准与工程最佳实践
B1

5 Essential Design Patterns for Agentic AI · KDnuggets (2026.02)

定义 Agent 架构五个核心生产设计模式:单 Agent + ReAct 循环、多 Agent 协作、人机协同、RAG 增强、工具编排。本项目的 ReAct 状态机设计直接遵循模式一。

kdnuggets.com/5-essential-design-patterns
B2

Production-Safe Agent Loop · freeCodeCamp (2026)

定义生产级 Agent 循环的五个安全出口条件:max_turns、token_budget、timeout、circuit_breaker、human_escalation。本项目的 Token Budget + CircuitBreaker + max_steps 均源于此。

freecodecamp.org/news/how-to-build-a-production-safe-agent-loop
B3

Production Reliability Enhancement · LangGraph RFC #6617

提出 Agent 可靠性的关键增强:确定性重试、幂等工具调用、结构化日志、检查点恢复。本项目对 ReAct 循环的错误恢复路径设计参考了此规范。

github.com/langchain-ai/langgraph/issues/6617
B4

Definitive Guide to AI Agent Evaluation · FutureAGI (2026)

提出六维度 Agent 评估框架:准确性、可靠性、安全性、效率、可解释性、鲁棒性。引入 Trajectory Score、BFCL v3、τ-bench 等量化指标。本项目的 Eval 基础设施规划以此为基础。

futureagi.com/blog/definitive-guide-ai-agent-evaluation-2026
B5

Agent Sandbox 四层分级模型 · 行业共识

L0 进程内隔离(仅限单用户受信环境)→ L1 子进程沙箱 → L2 容器级沙箱 (gVisor/Seatbelt) → L3 密封 VM (Nitro Enclaves)。本项目当前 L1,Phase 3 目标 L2。

openai.com / anthropic.com / e2b.dev
B6

Zero Trust for AI Agents · Anthropic Engineering

每一层都不可信——模型输出不可信、工具输出不可信、用户输入不可信。与 deny-first 原则一起构成本项目纵深防御安全体系的理论基础。

claude.com/blog/zero-trust-for-ai-agents
B7

Claude Code Architecture Reverse · Skills + Hooks + Modes

Anthropic 内部实践揭示了三层架构(Intent → Plan → Execute)、三模式分离(Explore/Plan/Code)、三注入点(assemble/model/execute)以及九类 Skills 体系。本项目的 intent/ 模块设计受 yoloClassifier 两阶段模式启发。

claude.com/blog / github.com/VILA-Lab/Dive-into-Claude-Code
决定本项目架构的 7 个关键采纳范式
范式来源理由实施难度
否定约束优先arXiv 2604.11088 (学术验证)提高 Agent 输出质量的最高杠杆手段
Harness-Sandbox 分离OpenAI Agents SDK (行业标杆)信任边界清晰,安全模型可审计
Deny-First 权限模型Anthropic Claude Code宽泛 deny 始终覆盖窄 allow,不可逆回退
结构化 Prompt 工程Anthropic Skills Blog + arXiv 2604.11088XML 十段结构,每段独立可验证可替换
OS 级沙箱隔离PEP 551 (Rejected) + OpenAI/E2BCPython 语言级沙箱为不可解问题
全链路可观测性JSONL 转录 + 五层压缩 (Anthropic)审计优于查询,非破坏性链路修补
并行意图分析yoloClassifier 两阶段 + 本项目创新确定性规则 <1μs + LLM fallback 按需触发