用途
autonomous-loop 是用于自主编码的主编排循环,会持续运行直到所有功能完成。适用于运行自主会话、编排功能完成、管理连续循环等场景。
主要能力
循环包含四个阶段:
- 初始化:检测会话类型(INIT 与 CONTINUE)、加载或创建功能列表、初始化状态跟踪。
- 功能循环:在未完成功能大于 0 时循环执行——选择下一个功能、创建检查点、以 TDD 方式实现、运行 E2E 测试;通过则标记完成,失败则恢复或回滚;检查上下文限制。
- 上下文检查:接近上限时压缩上下文、准备交接、请求继续。
- 完成:生成最终报告、存储会话记忆、发出完成信号。
循环结果包含 success、features_completed、features_total、sessions_used、total_tokens、errors_recovered、duration_minutes、handoff_reason 等字段。
继续模式包括:
- Auto:循环自动继续,由上下文限制触发。
- Manual:用户确认继续,由会话结束触发。
- Scheduled:按计划时间运行,由 Cron 触发。
- Event:由事件触发,例如 Git push、CI。
集成点包括:autonomous-session-manager(会话生命周期)、coding-agent(功能实现)、browser-e2e-tester(功能验证)、error-recoverer(处理失败)、checkpoint-manager(安全回滚)、handoff-coordinator(会话转换)、progress-tracker(跟踪与报告)。
使用方式
快速开始:
from scripts.autonomous_loop import AutonomousLoop
loop = AutonomousLoop(project_dir)
result = await loop.run()
print(f"Completed: {result.features_completed}")
print(f"Sessions: {result.sessions_used}")
带配置使用:
from scripts.loop_config import LoopConfig
config = LoopConfig(
max_sessions=10,
token_budget=500000,
auto_checkpoint=True
)
result = await loop.run(config)
参考资料与脚本
参考资料:
- references/LOOP-LIFECYCLE.md —— 循环细节
- references/CONTINUATION-PROTOCOL.md —— 继续机制
脚本:
- scripts/autonomous_loop.py —— 主循环
- scripts/loop_config.py —— 配置
- scripts/feature_orchestrator.py —— 功能流程
- scripts/continuation_handler.py —— 继续处理
适用范围与限制
该工具面向自主编码场景,依赖功能列表、TDD 与 E2E 测试流程。具体支持的编程语言、运行环境、并发能力、收费方式等信息暂未提供。