We open sourced slopify

AI gives us an interesting field fit for experimentation and trying out new things, in this context we released slopify, a new addition to our repertoire of AI tools.

Workflow automation

While most AI-development-tools are tailored to individual developers, slopify works on a development-process level, allowing developers to collectively optimise higher-level workflows, like for example converting an appropriately drafted ticket to a pull request.

Example

An hypothetical example could be to create new Django models. We can specify the models with their fields in a Jira ticket as pseudo-code, then we assign the label “slopify” to the ticket. After some minutes there is a first draft. An existing pull request template gets filled out. The commit message is automatically generated and the pull request title is tailored to our standards. Ideally this first draft can be already reviewed, so that we “skipped” a step in the development process.

Agentic challenges

While “agents” in an AI context offer flexibility and a fast way to get results, they have shortcomings.

Security Theater

For a typical development-focused AI agent, the LLMs output is directly hooked into the shell with developers expected to monitor the LLMs commands beforehand. This might not work very well in practice. Supervising a LLM in such a granular manner is not really practical and desirable, which can lead to “rubber-stamping” or asking the tool to skip asking for permissions at all. In deployment-scenarios, rubber-stamping AIs intermediate steps is not really doable. Sandboxing, a possible solution, has its own complexities and might only partly mitigate the problem.

Arbitrary command execution is a traditional no-go in Software-development. Humans might not have the necessary concentration and persistence to meticulously oversee the AI in such a detailed fashion. As agentic systems become faster and more predominant it also may become more challenging to cognitively oversee such systems.

Control Flow Roulette

There are many ways to structure a computer program, event driven, “spagethi”, functional or concurrently with synchronisation primitives, just to name a few. With LLMs it is now possible to completely let the computer manage its own control flow.

In my opinion, that is not desirable for most use cases. The technology might just not be there yet. The problem is that deployed AI-Systems still need to have at least some degree of introspectability and be changeable in order to achieve standards necessary for professional software that interacts with real users.

Companies might still have the need to assess and audit their software, in practical terms, this is not possible with autonomous agentic systems.

Our focus points

There are many great AI tools out there. Slopify tries to focus on mainly three things.

Interactionless

All possible code paths of the tool can be inspected and audited before execution. The AI itself has a limited and transparent “attack surface”. E. g. Control over commit messages, pull request description, the code to be reviewed etc.

This allows slopify to create pull requests from tickets without any further input. Sometimes the created pull request still needs additional refining before it can be considered ready for peer-review.

Simplicity and customizability

In comparison to other tools like devin, we are able to fully adapt it to our needs. The underlying templating system makes modifications relatively easy and transparent. The customizability is also handy to fine-tune prompts in order to better leverage a model's potential.

Towards more sustainable AI

Fine-grained control of the models context and the control flow allows us to not only optimize for completion performance and solve tasks in an optimized way. It also makes it possible to balance sustainability concerns. As AI software may get more and more integrated, its effects on the environment may also further increase in the future.

Conclusion

With slopify we have a new AI-Tool to play around with. It experiments with new focus-points for AI-Tooling and attempts to retain the simplicity and hard-earned principles of traditional software development.