AI Agent 自动化工作流系统架构与实现
第一章:系统宏观架构 (System Architecture)
1.1 核心设计哲学:OMNE
本系统的核心不仅仅是执行任务,而是进化。在 core/ltm/models.py 中,发现了 OMNE (Open Mind for Networked Evolution) 的设计理念。这不仅是一个缩写,它代表了系统试图模仿人类大脑皮层柱状结构的野心。
- Open Mind: 系统对新工具(Skills)和新知识是开放的。
本文详细解析了 AI Agent 自动化工作流的系统架构,涵盖 OMNE 设计哲学、统一内核(Mixin 模式、闭环 FSM)、群体智能编排(Swarm 协议、Worker 通信)、长期记忆系统(三层架构、情感计算、Error RAG)及智能决策路由。技术栈基于 Python,利用 AST 进行代码分析,通过 SQLite 持久化状态,实现了从任务拆解到质量验证的自治闭环。
本系统的核心不仅仅是执行任务,而是进化。在 core/ltm/models.py 中,发现了 OMNE (Open Mind for Networked Evolution) 的设计理念。这不仅是一个缩写,它代表了系统试图模仿人类大脑皮层柱状结构的野心。
系统由三个相互独立又紧密耦合的子系统构成:
core/kernel/unified.py。它是系统的'前额叶皮层',负责高级决策、计划和反思。它不直接干脏活,而是指挥 Swarm。core/swarm.py。它是系统的'运动皮层'和'脊髓',负责将内核的指令转化为具体的 Worker 动作,并管理并行执行的状态。core/ltm/。它是系统的'海马体',负责存储经历、提取知识、固化技能。一个典型的任务流向如下:
用户 Prompt -> Intelligence (分析 & 场景选择) -> Knowledge Boundary (元认知判断:快思考 vs 慢思考) -> Enhanced Decomposer (原子任务拆解 + LTM 检索) -> Unified Kernel (启动闭环) -> Swarm Orchestrator (分发任务) -> Worker A (Coding) -> Worker B (Testing) -> Worker C (Research) -> Integrator (合并产出 & 冲突解决) -> Validator (质量验证) -> (If Fail) -> Reflexion Loop (反思 & 修复) -> Delivery
UnifiedKernel 类本身几乎是空的,它完全通过继承五个 Mixin 来组合能力。这种设计极大地提高了代码的解耦性和可测试性。
core/kernel/unified.py继承链:
class UnifiedKernel(
KernelBaseMixin, # 基础状态管理
KernelAnalysisMixin, # 意图分析
KernelExecutionMixin, # 对接 Swarm
KernelClosedLoopMixin,# 闭环逻辑
KernelQualityMixin, # 质量控制
KernelRepairMixin # 修复逻辑
):
亮点: 这种设计允许我们在未来轻松添加新的能力(比如 KernelEmotionMixin),而不需要修改核心类。
在 core/kernel/mixins/closed_loop.py 中,实现了一个复杂的有限状态机 (FSM)。
PENDING, RUNNING, PAUSED, COMPLETED, FAILEDEXECUTE: 执行阶段,调用 Swarm。INTEGRATE: 整合阶段,调用 Integrator。VALIDATE: 验证阶段,运行测试。RESEARCH: (仅在失败时) 调研阶段,调用 Search Agent。FIX: (仅在失败时) 修复阶段,应用修复方案。DELIVER: 交付阶段。核心逻辑:
while True:
if phase == VALIDATE and score < threshold:
next_phase = RESEARCH # 自动进入修复循环
elif phase == FIX:
next_phase = EXECUTE # 修复后重新执行
这种死循环保护机制是系统'自治'的关键。
在 core/knowledge_boundary.py 中,系统实现了一个简单的元认知模块。
Thinking Mode: 'Fast' (直接干) vs 'Slow' (先调研)。Confidence: 置信度分数 (0.0 - 1.0)。EnhancedDecomposer 会自动在任务列表头部插入 TaskType.RESEARCH 类型的任务。Swarm 不依赖内存状态,而是使用 SQLite (swarm_core.db) 进行持久化。这意味着即使进程崩溃,任务状态也不会丢失。
core/swarm.pyswarm_sessions: 记录整个会话的状态,主任务,子任务总数。tasks: 记录每个原子任务。
task_id: UUIDparent_id: 关联的 Sessionworker_type: 指定需要的 Agent 类型 (e.g., 'backend-architect')status: 'pending', 'running', 'completed', 'failed'priority: 优先级 (决定执行顺序)payload: JSON 格式的具体指令Worker 是独立的执行单元。所有的 Worker 都继承自 BaseWorker。
{"action": "...", "context": {...}}{"status": "success", "data": {...}}SwarmOrchestrator.get_parallel_subtasks() 方法会查询数据库,找出所有 status='pending' 且依赖已满足的任务,一次性返回给主进程并行调用工具执行。在 core/workers/worker_coder.py 中,CoderWorker (即 Backend Architect) 展现了惊人的细节。
静态分析能力: 它不仅仅是写文件。它有一个 analyze 动作,使用 Python 原生的 ast (Abstract Syntax Tree) 模块解析代码。
tree = ast.parse(data)
analysis = {
"classes": [node.name for node in ...],
"functions": [node.name for node in ...],
"imports": [...]
}
这意味着它在修改代码前,真的'看懂'了代码结构,而不是盲目替换文本。
在 core/ltm/models.py 和 manager.py 中,系统实现了一个类脑的记忆结构:
FastAPI 成功,就会形成一条关于 FastAPI 的语义记忆。这是最令人惊讶的部分。系统会计算'情感'。
在 core/memory.py 中实现。
errors/ 目录。Error Signature (错误签名):
def _extract_error_signature(self, error_message):
# 去除行号和文件路径的差异,只保留核心堆栈信息
clean = re.sub(r'line \d+', 'line N', error_message)
return md5(clean)
core/scenario_selector.py 定义了系统如何面对不同难度的任务。这避免了'杀鸡用牛刀'。
search),直接调用。core/enhanced_decomposer.py 是任务的'粉碎机'。
r"创建 | 新建 | 编写" -> TaskType.CODE_WRITE)。CODE_WRITE -> backend-architect, RESEARCH -> search)。core/skill_discovery.py 允许系统扩展能力。
.trae/skills/ 目录下的 skill.yaml。NovelWriter),它会自动将其注册到能力列表中。ast (Python Abstract Syntax Tree)。subprocess 和数据库状态锁的伪并行(更安全,易于调试)。Integrator 中计算 quality_score。LTM 中计算 importance_score。Score = Base + Weight_A * Factor_A + Weight_B * Factor_B。core/integrator.py 是最后一道防线。
ConflictType: DUPLICATE_CONTENT, INCONSISTENT_INTERFACE 等。merge_with_imports (智能合并 import 语句)。concatenate_with_toc (生成目录并拼接)。deep_merge (递归合并 JSON/YAML)。系统不会盲目交付。它会计算一个 Quality Score。
FAILED,这会触发 KernelClosedLoopMixin 进入 RESEARCH -> FIX 流程。
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online