Recently I have been experimenting with llama-cpp
and its Tools, which are provided to the LLM to make system calls. For example there are "read file" or "get date time" tools.
I realized that programs like OpenCode are essentially the same thing as llama-cpp
with tools. With a prompt, I managed to have Gemma 4 and Qwen 3.6 edit a Rust program file. It is necessary to include in the prompt the project's location, and what you want to have it do.
Instead of including all the exact details in a prompt, it is possible to save the instructions in a file (like a Markdown file) and specify the file's path in a prompt. The LLM will then read the file (in a tool call) and perform the necessary actions. For example, I create a Markdown file that has instructions on creating a backup file.
An LLM using a series of tool calls in llama-cpp
is similar to bash script with terminal commands, but using a prompt is easier for humans to maintain and read. To enable tool calls in llama-cpp
, specify the "tools" argument with the value "all".