尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AI Agent 框架仓库重构实战:从 50+ 散落文件到生产就绪的 self-evaluating-agent-sample

AI Agent 框架仓库重构实战:从 50+ 散落文件到生产就绪的 self-evaluating-agent-sample AI Agent 框架仓库重构实战从 50 散落文件到生产就绪的 self-evaluating-agent-sample【免费下载链接】agent-governance-toolkitAI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution sandboxing, and reliability engineering for autonomous AI agents. Covers 10/10 OWASP Agentic Top 10.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-governance-toolkit本篇技术指南以agent-governance-toolkit仓库内self-evaluating-agent-sample自进化 Agent 框架示例的完整重构过程为主线系统拆解如何将一个文件堆在根目录、测试缺失、无法安装、文档混乱的 PoC 仓库重构为目录结构清晰、测试覆盖完整、可 pip 安装、文档齐备、示例可直接复用的生产级 Python 框架。读者读完可以掌握一套可复制的仓库工程化方法论目录规划、导入体系重建、测试增强、包配置、综合示例与文档写作并了解重构前后各阶段的具体验收指标。重构背景与目标self-evaluating-agent-sample是一个围绕自进化 AI Agent理念构建的示例框架核心模块包括 DoerAgent、ObserverAgent、Polymorphic Output、Universal Signal Bus、Agent Brokerage、Orchestration、Constraint Engineering、Evaluation Engineering、Wisdom Curator、Circuit Breaker、Intent Detection、Ghost Mode 等 17 个功能模块。重构前该仓库处于典型的验证性原型proof-of-concept状态根目录散落53 个 Python 文件根目录堆放28 份 Markdown 文档目录导航困难没有职责分离关键模块缺少测试没有包配置无法通过 pip 安装没有成体系的示例与上手文档新用户难以快速启动。重构的目标是把这一 PoC 转变成production-ready生产就绪、well-organized组织良好、thoroughly tested充分测试、comprehensively documented文档完备的框架并确保原有功能 100% 保留、任何行为不退化。一、文件结构重组先解决找不到文件的问题重构的第一项工作是把 82 个文件归位到职责清晰的目录中。重构后的顶层结构如下├── src/ # 17 个核心模块干净的导入体系 ├── tests/ # 18 个完整测试文件 ├── examples/ # 19 个用法示例 2 个综合示例 ├── docs/ # 28 份组织化文档 ├── README.md # 更新后的主文档 ├── setup.py # 包配置 └── requirements.txt # 依赖清单关键改动清单创建规范的目录结构src / tests / examples / docs 四层分离将所有文件移动到对应目录更新全部导入tests、examples 以及内部模块之间这是重构中最容易出错的环节创建src/__init__.py并提供规范导出修正源码模块中的相对导入更新测试文件路径与导入语句。源码佐证src/__init__.py的导出设计从当前仓库的 src/init.py 可以看到重构后建立的公共 API 门面定义版本号__version__ 3.2.2稳定导出核心类DoerAgent、SelfEvolvingAgent、MemorySystem、AgentTools、ObserverAgent、EventStream、TelemetryEvent对 17 个高级模块采用try/except ImportError 包裹的延迟导入polymorphic_output、universal_signal_bus、agent_brokerage、orchestrator、constraint_engine、wisdom_curator、circuit_breaker、intent_detection、ghost_mode、prioritization、model_upgrade、generative_ui_engine 等。这一设计的价值在于即使某个可选依赖缺失导致个别高级模块无法导入整个框架包依然可以正常import src保证了包的健壮性与向后兼容性。这是干净导入体系在实现层面的具体落地。导入路径的统一约定重构后所有源码与示例统一采用from src.xxx import ...形式。例如综合示例 sample_full_stack_agent.py 的头部from src.agent import DoerAgent from src.universal_signal_bus import ( UniversalSignalBus, create_signal_from_text, create_signal_from_file_change, create_signal_from_log ) from src.polymorphic_output import ( PolymorphicOutputEngine, InputContext ) from src.generative_ui_engine import GenerativeUIEngine from src.telemetry import EventStream, TelemetryEvent独立脚本tests 与 examples通过sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))将仓库根目录加入搜索路径从而在未安装包的情况下也能直接运行——这一点在 test_telemetry.py 与示例文件头部均有体现。二、测试覆盖增强为关键模块补齐验证重构新增了tests/test_telemetry.py约 290 行包含8 个测试函数覆盖 Telemetry 模块的核心行为测试函数验证内容test_telemetry_event_creationTelemetryEvent 创建与字段赋值test_telemetry_event_to_dict事件序列化为字典含 metadatatest_event_stream_initializationEventStream 初始化与文件建立test_event_stream_emit事件追加写入append与内容校验test_event_stream_get_eventsread_all()批量读取多个事件test_event_stream_with_checkpoint基于last_processed_timestamp的增量读取断点续读test_event_stream_limit10 个事件的完整读写test_event_types多事件类型 signal 事件过滤undo / abandonment / acceptance底层实现印证测试所覆盖的能力均可在 src/telemetry.py 中找到对应实现TelemetryEvent是一个dataclass字段包括event_type、timestamp、query、agent_response、success、user_feedback、instructions_version、metadata、signal_type、signal_context以及意图评估字段conversation_id、turn_number、intent_type、intent_confidenceEventStream采用基于文件的 append-only JSONL 日志emit()逐行追加json.dumps(event.to_dict())天然支持顺序写入与增量消费read_unprocessed(last_processed_timestamp)实现断点续读语义供 ObserverAgent 离线批量学习使用get_signal_events(signal_type)与get_conversation_events(conversation_id)提供信号过滤与会话聚合能力。测试运行约束重构确认了测试体系的运行前提18 个测试文件全部通过测试适配新的导入结构除真实 LLM 调用外测试不需要 API Key——例如python tests/test_telemetry.py可直接运行验证。三、文档体系重建GETTING_STARTED 与 README新建docs/GETTING_STARTED.md260 行这是重构新增的核心上手文档内容包括快速开始安装、环境变量、首个示例项目结构说明src / tests / examples / docs 全量注释核心概念讲解并配代码示例DoerAgent、ObserverAgent、Universal Signal Bus、Polymorphic Output 等4 个常见使用场景配置指南Troubleshooting 章节。从当前仓库的 docs/GETTING_STARTED.md 可以看到其结构完整落地且文档内代码统一使用from src.xxx import ...形式与重构后的导入体系保持一致。完全重构README.md1500 行README 从杂乱的文件清单升级为完整的使用门户快速开始置顶Quick Start项目结构总览两种安装方式pip 包安装 / 仅装依赖3 个快速示例场景更新后的测试说明架构总览贡献指南所有链接统一指向docs/目录并保证可跳转。四、两个生产级综合示例不止是 demo重构最见功力的部分是新增了两个可直接借鉴的综合示例。示例一Full Stack Agentexamples/sample_full_stack_agent.py390 行该示例集成7 个以上模块演示生产就绪的集成模式DoerAgent任务执行核心Universal Signal Bus任意渠道输入归一化Polymorphic Output自适应渲染Generative UI Engine动态 UI 生成Telemetry事件追踪上下文管理 / Prioritization Framework。它演示了 4 类输入处理文本输入chat、文件变更事件IDE、日志流监控、批量多信号处理。从 sample_full_stack_agent.py 的FullStackAgent.process_raw_signal()可以看到标准流水线Signal Normalizebus.ingest→ Task Executedoer.run→ Polymorphic Renderpoly_engine ui_engine→ Telemetry Emit每步均带 verbose 调试输出。示例二Monitoring Agentexamples/sample_monitoring_agent.py330 行该示例面向真实 DevOps/SRE 监控场景演示Ghost Mode 被动观察GhostModeObserverContextShadowconfidence_threshold0.7日志流摄取create_signal_from_log模式检测基于置信度的告警上浮surfacing callbackDashboard widget 渲染create_dashboard_widget_response生产日志模拟。从 sample_monitoring_agent.py 可以看到其通过context_shadow记录用户行为模式、ghost_observer在后台静默消费信号流、只有置信度超过阈值才触发_handle_high_confidence_observation上浮告警同时维护signals_processed、critical_alerts等统计指标——完整呈现了Observer Daemon模式在运维场景的落地形态。五、包配置从脚本集合到可安装包重构新增setup.py让框架从脚本集合升级为标准 Python 包。其关键配置如下详见 setup.py包名self-evolving-agent版本3.1.0作者 Microsoft CorporationMIT 许可自动读取依赖从requirements.txt读取install_requires当前依赖为openai1.0.0与python-dotenv1.2.2Python 版本要求python_requires3.8classifier 覆盖 3.83.11开发依赖extras_require[dev]内置pytest7.0.0、pytest-cov4.0.0、black22.0.0、flake85.0.0、mypy0.991即装包即得全套工程工具链Console Entry Point注册self-evolving-agentsrc.agent:main命令行入口包数据package_data包含*.json与*.md确保 wisdom 数据库模板与文档随包分发。与此同时更新.gitignore按类别补充 telemetry 文件模式如*.jsonl与临时文件模式避免运行痕迹污染版本库。六、重构量化指标一览文件重组共 82 个文件17 个核心模块 →src/18 个测试文件 →tests/19 个示例 →examples/28 份文档 →docs/新增内容1 份综合上手指南260 行2 个综合示例 Agent720 行1 个新测试文件290 行1 份 setup.py 配置60 行重构后的 README.md1500 行测试与文档18 个测试文件全部通过原有功能 100% 保留Telemetry 模块获得全新覆盖8 个测试函数28 份文档全部归入docs/并更新链接。七、质量对比重构前后维度重构前重构后根目录50 文件杂乱堆放干净的分层目录结构无职责分离src/tests/examples/docs 专业分层测试关键模块缺少测试18 个测试文件全量通过安装无法安装可 pip 安装的标准包示例无体系19 个示例 2 个综合场景上手门槛高GETTING_STARTED.md 快速引导功能保留清单重构底线重构明确要求所有既有功能 100% 保留以下能力全部验证通过DoerAgent 与 ObserverAgentPolymorphic Output自适应渲染Universal Signal Bus多通道输入归一化Agent Brokerage智能体市场与竞价Orchestration确定性工作流Constraint Engineering逻辑防火墙Evaluation Engineering评估驱动开发Wisdom Curator人在回路的知识策展Circuit Breaker自动发布管控Intent Detection意图识别Ghost Mode被动观察其余全部 17 模块八、重构后如何上手使用1. 安装# 方式一作为包安装推荐可编辑模式便于开发 cd agent-governance-python/agent-os/examples/self-evaluating pip install -e . # 方式二仅安装依赖 pip install -r requirements.txt2. 快速开始# 复制环境文件并配置 OPENAI_API_KEY真实 LLM 调用需要 cp .env.example .env # 运行无需 API Key 的基础测试 python tests/test_agent.py # 运行综合示例 python examples/sample_full_stack_agent.py # Full Stack Agentchat / IDE / 监控 / 批量 python examples/sample_monitoring_agent.py # Monitoring AgentGhost Mode 监控场景3. 深入探索阅读 docs/GETTING_STARTED.md 了解全部核心概念浏览examples/下 19 个特性示例如 example_polymorphic_output.py、example_universal_signal_bus.py阅读docs/下 28 份特性文档如 POLYMORPHIC_OUTPUT.md、GHOST_MODE.md、CONSTRAINT_ENGINEERING.md运行 tests 理解各模块功能边界。九、生产就绪检查清单可直接复用到其他项目本次重构沉淀出一份可迁移的验收清单✅ 规范的目录结构src / tests / examples / docs 职责分离✅ 全面的测试覆盖关键模块逐一对应测试文件✅ 标准包配置setup.py 含元数据、依赖、entry point、dev extras✅ 清晰文档上手指南 特性文档 README 门户✅ 真实场景示例不止 API 演示包含完整集成模式✅ 正确的导入与导出体系__init__.py统一门面 可选模块容错✅ .gitignore 覆盖运行产物✅ 全部测试通过✅ 易于安装、易于扩展、新贡献者易理解结论这次重构的本质是把能跑的代码升级为能交付的产品通过目录分层解决可维护性通过测试补齐可信度通过包配置解决可分发性通过综合示例与文档解决可学习性。从当前仓库agent-governance-python/agent-os/examples/self-evaluating/目录的实际状态看重构成果已经完整落地——src17 个模块、tests18 个测试文件、examples19 个示例 2 个综合示例、docs28 份文档、setup.py、requirements.txt 一应俱全框架处于生产可用、易于扩展的状态。这套文件归位 → 导入重建 → 测试补齐 → 包化 → 示例化 → 文档化的方法论同样适用于任何从原型走向生产的中小型 Python Agent 项目。【免费下载链接】agent-governance-toolkitAI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution sandboxing, and reliability engineering for autonomous AI agents. Covers 10/10 OWASP Agentic Top 10.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-governance-toolkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表