Hey all,
I’ve been working on a small hobby project where I’m trying to use a local LLM to help write Tecan FluentControl protocols. I’d like to ask the community for input, advice, or experiences from anyone who has tried something similar.
The main point is honestly to get some practice with vibe coding and local AI, but if it ends up
being useful too, that would be a nice bonus.
The core limitation I’m working around is that local models don’t really have enough domain
knowledge, or enough coherent planning, to reliably pick sensible labware and use physical tools in a reasonable way.
A bit about the setup:
The model is Qwen3.6-27b-Q4_K_S, served through LM Studio. So far it has worked better than the other local models I tried.
The model gets access to a few tools to help it navigate a request:
- a small SQL database of labware, based on the local FluentControl install
- a Python-like DSL for writing the protocol
- a simulator that checks whether the generated protocol has obvious problems, similar to things FluentControl context check would catch
The model produces a DSL .py file, which renders into an .xscr, which then imports into
FluentControl.
Very simple scripts work fine. A basic bead enrichment protocol also “works”, with a generous
definition of working and depending somewhat on moon phase. The simulator still needs some love.
More documentation is in the repo:
[repo link here]
If it feels very vibe coded, that is because it is very vibe coded.
Current best effort on a bead enrichment (still has issues):
I’m curious whether anyone here has tried anything similar, and what your experience was.
A few specific things I’d be interested in:
- Did giving the model more detailed simulator feedback help, or did it mostly confuse things? I had an earlier, more lightweight iteration where the domain handling was worse, but the syntax was better.
- Is it better to use structured error categories, or more natural-language repair hints?
- Has anyone had better results with smaller, focused, or fine-tuned models instead of larger
general models? - Any general tips for making an LLM handle protocol logic more reliably?
- Any opinions on multi-agent setups with different roles? I tried this in an earlier iteration, but
it was a bit of a mixed bag.
A lot of the issues would probably be different or non-existent if I used a frontier model, but the point is to a large degree to figure out what is possible within a local setup.
Truth be told, most of what this tries is one-shotting a complete protocol and I know that’s a gimmick. The useful route would probably be fleshing out the DSL and slot the AI in for autocomplete, but trying to one shot is more fun. ![]()
Let me know what you think and thanks for reading