
通过以下方式改变用户从零开始构建软件、代码到应用程序的方式
Replit Agent
从零开始,到代码,到应用 — 瞬间完成
构建一个功能完善的软件应用是一项艰苦的工作。从编写应用程序逻辑到设置环境和数据库,开发人员在任何人可以与应用程序交互之前需要设置很多东西。Replit 团队最近推出了 Replit Agent,这是一种首创的 AI 代理,可帮助用户从零开始创建应用程序。
虽然当前的工具非常适合代码完成和增量开发,但 Replit Agent 可以提前思考并采取正确的行动顺序,帮助您构建电子商务 Web 应用程序、财务分析工具或您一直梦想的任何新奇想法。它像副驾驶一样与您合作,并拥有您在 Replit 中可以访问的所有相同工具,以帮助您快速从想法到可工作的代码。
克服空白页综合症
在没有既定规则的情况下设计和构建应用程序可能会让人感到不知所措。即使配备了合适的工具,开发人员也很容易受到“空白页综合症”的打击,导致长时间盯着空代码编辑器。
Replit Agent 降低了新用户创建软件的激活门槛,允许用户通过简单的英语提示快速启动项目。它支持多步骤任务执行和管理基础设施的能力也简化了构建-实验-测试-部署过程。
保持高可靠性并让用户参与其中
Replit 团队专注于可靠性,将其 AI 代理的环境限制在 Replit Web 应用程序和 Replit 开发人员已可用的工具中。他们的代理是一个 ReAct 风格的代理,可以迭代循环。
随着时间的推移,Replit Agent 采用了多代理架构。当只有一个代理管理工具时,出错的几率会增加 – 因此 Replit 团队限制他们的代理只执行尽可能小的任务。他们为不同的代理分配了角色,包括
- 一个管理代理来监督工作流程。
- 编辑代理来处理特定的编码任务。
- 一个验证代理来检查代码并经常与用户互动。
Replit 总裁 Michele Catasta 指出了他们构建理念中的一个关键区别
我们不追求完全自主。我们希望用户保持参与和互动。”
例如,他们的验证代理的独特之处在于,它不仅仅检查代码并尝试做出决定。它通常会退回到与用户交谈,以便在开发过程中强制执行持续的用户反馈。
构建和组织提示以获得相关见解
Replit 采用了一系列先进技术来增强其编码代理的性能,特别是对于文件编辑等复杂任务。
少样本和长指令
Replit 经常使用少样本示例以及长而特定于任务的指令来有效地指导模型。对于开发过程中更困难的部分(例如文件编辑),Replit 最初尝试了微调。但是,这并没有取得任何突破。相反,性能的显着提升来自于利用 Claude 3.5 Sonnet。
动态提示构建和内存
Replit 还开发了动态提示构建技术来处理令牌限制,类似于 OpenAI 流行的提示编排库使用的系统。他们浓缩和截断长内存轨迹以管理不断增长的上下文。这涉及使用 LLM 压缩内存,以确保仅保留最相关的信息。
结构化格式以提高清晰度
为了提高模型理解和提示组织,Replit 采用了结构化格式。特别是,XML 标签有助于描绘提示的不同部分,从而指导模型理解任务。对于冗长的指令,Replit 依赖于 Markdown,因为它通常在模型的训练分布范围内。
工具调用
值得注意的是,Replit 没有以传统方式进行工具调用。他们没有使用 OpenAI API 提供的函数调用,而是选择生成代码来自己调用工具,因为这种方法被证明更可靠。凭借 Replit 庞大的 30 多个工具库,每个工具都需要多个参数才能正确运行,这使得工具调用过程变得复杂。Replit 编写了一个受限的基于 Python 的 DSL(领域特定语言)来处理这些调用,从而提高了工具执行的准确性。
在代理旅程中引导用户
Replit 在设计用户体验时专注于启用关键的人在环工作流程。首先,Replit 团队实施了还原功能以增加控制。在代理工作流程的每个主要步骤中,Replit 都会在后台自动提交更改。这让用户可以“及时回溯”到任何之前的点并进行更正。
在复杂的多步骤代理轨迹中,前几个步骤往往最成功,而可靠性在后面的步骤中会下降。因此,团队认为特别重要的是授权用户在必要时恢复到早期版本。初学者用户只需单击一个按钮即可反转更改,而高级用户可以更灵活地深入 Git 窗格并直接管理分支。
由于 Replit 团队将所有内容都限定在工具范围内,因此每当代理安装软件包、执行 shell 命令、创建文件等时,用户都可以看到关于代理操作的清晰、简洁的更新消息。
用户不必关注 LLM 的原始输出,而是可以看到他们的应用程序随着时间的推移而演变,并决定他们想在代理的思考过程中投入多少精力(例如,选择展开以查看代理已采取的每个操作及其背后的想法,或忽略它)。
与其他代理工具不同,Replit 还允许您通过几次点击部署您的应用程序。发布和共享应用程序的功能已平滑地集成到代理工作流程中。
实时反馈和跟踪监控
为了对他们的代理充满信心,Replit 依靠直觉、真实世界的反馈以及对其代理交互的跟踪可见性相结合。
在 Replit Agent 的 alpha 阶段,他们邀请了一小群约 15 位 AI 优先的开发人员和影响者来测试他们的产品。为了从 alpha 反馈中获得可操作的见解,Replit 集成了 LangSmith 作为他们的可观察性工具,以跟踪和处理其跟踪中存在问题的代理交互。
Replit 团队会搜索长时间运行的跟踪记录以查明任何问题。由于 Replit Agent 允许人类开发人员在需要时介入并纠正代理轨迹,因此多轮对话很常见。他们能够在 LangSmith 内的逻辑视图中监控这些对话流程,以识别用户卡住并可能需要人工干预的瓶颈。
他们的 LangGraph 代码在 LangSmith 跟踪中的易于集成和可读性是同时使用代理框架 (LangGraph) 和可观察性工具 (LangSmith) 的一大优势。
激发开发人员的创造力
Replit Agent 正在为新手和资深开发人员简化软件开发。通过优先考虑人机协作和代理操作的可见性,Replit 团队正在帮助用户克服最初的障碍,以释放他们的创造力。
虽然代理的世界已经提供了许多强大的新用例,但调试或预测代理的操作仍然常常是未知领域。Replit 期待与开发人员社区一起,突破界限并处理棘手的情况,例如评估 AI 代理轨迹。
在构建有用且可靠的代理的道路上,Michele Catasta 做了最好的总结
“我们只需要拥抱混乱。”
从最前沿的公司发现更多突破性的 AI 代理故事。
准备好更快地交付可靠的 GenAI 应用了吗?
LangChain、LangSmith 和 LangGraph 是参考架构的关键部分,可帮助您从原型到生产。