主要观点:在较大代码库中使用编码代理时,需要结构化的方式来构建上下文,将 LLM 视为一种极其缓慢且不可靠的计算机,通过自然语言编程来生成实际代码。以 Spine 运行时的端口迁移为例,展示了如何运用这种方法,包括定义数据结构、工具库、主工作流程等,通过 LLM 协作完成机械性工作,提高工作效率。
关键信息:
- 对于较大代码库,LLM 主要问题是缺乏上下文,难以跟踪执行流程和处理复杂架构。
- 不同的 LLM 工具在上下文控制等方面存在差异,如 Claude Code 虽无中间商但仍有限制。
- 需将 LLM 视为特定程序,明确输入、状态、输出,如提示为程序,各种数据为输入输出等。
- 以 Spine 运行时端口迁移为例,介绍了手动流程的痛点及如何用 LLM 程序自动化部分工作,包括生成迁移计划、定义工具库、主工作流程等。
- 程序执行时 LLM 能按程序执行、管理状态、保持可恢复性等,虽不能完全自主处理但大大简化工作。
- 未来可在测试调试、子代理编排等方面进行改进。
重要细节:
- 代码库中不同语言运行时的迁移细节,如 Java 和 C++中
PhysicsConstraint
类的差异。 port.md
文件中定义的输入输出数据结构,如porting-plan.json
的各个字段含义。- 工具库中各种工具的功能,如
VS Claude
用于打开文件和差异,Progress Tracking
用于监控迁移进度等。 - 主工作流程中的各个步骤,如初始化、并行检查约定和读取笔记、逐个类型迁移等,以及每个步骤中的具体操作和注意事项。
- 程序执行过程中的视频展示了 LLM 按程序执行的各个环节,如读取文件、更新状态等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。