CodeBot: Full Details on our New AI for Delphi!
CodeBot for Delphi is out now! What is it, why did we build it, and how can it help you, your projects, and your business?<br>We built CodeBot because the world is changing. A year ago, when we began, it was already very obvious that coding was changing. Where would Delphi be?<br>We care about Delphi and Delphi developers. We want it to succeed.<br>💡<br>RemObjects has built world-class Delphi libraries for two decades, and ships an incredibly modern Pascal dialect in Oxygene. It’s a company that pushes forward and leads the way.
CodeBot is a complete coding agent. It is not a wrapper around another coding agent: it is a coding agent.<br>And it is one built especially for Delphi: answering the question, what if instead of a generic AI that worked well for Python, TypeScript, Rust, and the web, a coding agent was built with Delphi first in mind? Not only in its knowledge, but in its design?<br>CodeBot is able to work with forms, frames and data modules, with them open in the designer – because visual preview is core to Delphi.<br>CodeBot understands visual design rules, like alignment.<br>It shows its work, in text, diffs, and even 'visual diffs':<br>CodeBot editing a form, and showing the before and after inline in chat.It's aware of your project and project group, as well as the third-party components and libraries you use.<br>It knows about modern Delphi, and will write different code when it's installed in Delphi 11, 12, or 13.<br>...and more.<br>On top of all this it is a highly capable coding agent on its own, capable of understanding your codebase, modifying existing code (and forms), creating entirely new features, and analysing for potential bugs.<br>We support everything you would expect, including  Skills and MCP, but have several unique Delphi-focused features. We also let you track what CodeBot does, and have a documented security and permissions model.<br>CodeBot itself has a data policy, which is suitable for sending to your Legal or Approvals departments. This data guarantee (this includes your source code) applies no matter your usage of CodeBot or plan: a home hobby user or a larger enterprise both get the same data privacy .<br>We're grateful to Embarcadero for sharing CodeBot, in two separate webinars during development!<br>Architecture and Subscription<br>As developers you probably want to know how CodeBot works, and why it works the way it does!<br>Architecture<br>The most important point about CodeBot is that it is a full coding agent in its own right.<br>There is a client . This is a lightweight frontend that lives in Delphi itself, and is written in Delphi. It manages the IDE: handles file read and writes, sandboxes them, handles form/frame/data module editing, etc. CodeBot could have any client so long as it understands the network protocol, which is a series of JSON packets plus a regularly renewed message stream. The client also renders the chat history; all text is sent as Markdown.<br>The server is where all CodeBot logic lives. It's a separate layer from the client for several reasons:<br>We can update behavior quickly and easily. If a bugfix or new feature had to wait for a client-side update, people might not get it very often, and multiple people might all have different behaviors. A quick server redeployment means something new can arrive to you fast.<br>It allows us to safely implement billing (we refer to this as usage, if you see this in other docs)<br>The server is implemented in Oxygene Pascal, using the RemObjects web server, deployed to .Net on Linux. This allows us to use Oxygene features and syntax.<br>The server also uses our upcoming AI Infrastructure library, which was built for the many uses of AI in our products: a version of CodeBot in Fire and Water, change set analysis in GitBrowser, and more. CodeBot is one of the most demanding consumers of the Infrastructure SDK, and Infra will let you build multi-agent platforms just like it.<br>Inside the server, CodeBot is a multi-agent architecture. Dispatched messages are routed to various specialized agents, and can route between each other or to subagents for delegated work. Although specialized, they share a common identity and memory between them. This lets us tune behavior for various tasks: coding, visual design, planning work, researching codebases, and more.<br>💡<br>You can see some of this in the custom agents feature, where you can actually define a completely custom one of these agents to follow your own workflow or internal processes. It shares CodeBot's identity and memory and can merge seamlessly. Invoke one via a slash command.
💡<br>We have a highly innovative memory system that we think is unique among AI coding agents, and allows us to stay focused and on track with far less need for 'compaction' than other tools.
Based on the task and the intelligence level you select, we use different models. Currently, all are OpenAI. We will continue to adjust the models and behavior to give the best Delphi coding possible.<br>Asking CodeBot for...