Building Perspective with an LLM

I’ve had pretty good results with this by using SKILL.md files instead of trying to solve everything with one giant prompt.

Fo those that dont know a skill.md is a small context file that teaches the agent how a specific thing works.

For my setup, I built a Web Dev API in Ignition 8.1+ so the agent could interact with the gateway instead of guessing. Then I had a loop where one agent would write tests, another would improve the skill, and another would add API routes when the agent needed a new way to inspect or validate something.

So this created a feedback loop.

The agent would try something, run it against the gateway, check logs/screenshots/API responses, figure out which assumption was wrong, update the skill, and try again.

That helped a lot with things like:

  • not inventing fake system.* functions
  • not writing Python 3 when the gateway needs Jython
  • learning what valid Perspective JSON actually looks like
  • learning module-provided scripting functions instead of guessing them
  • testing assumptions before treating them as rules

I used the same approach for Perspective pages, Jython scripts, SQL helpers, UDT import/export, creating importable perspective zip files, MQTT module scripting functions, expression language, alarms, logs, and a few other areas.

it won’t solve everything. But for 80% use cases it works and as of now i have not had a halluciantion.

For Ignition 8.1+, I had to build the API myself with the Web Dev module. For Ignition 8.3, the built-in API looks like a good starting point, though you may still need extra routes depending on what you want the agent to inspect or validate.

I made a YouTube walkthrough called “Building Perspective Pages in Ignition 8.1 with AI Agents” if you want to see the setup and demo. No link here because I don’t want to trip any filters, but it should come up if you search that title.