| The problem is that when the LLM writes ad-hoc code how can you trust it? For example in my Liveclip MCP server I'm working on (not released yet) I have table manipulation type tools So for example a couple days ago Claude made a combined ranking score for my Youtube Shorts analytics -- it did all these tool calls in the same turn First it normalized the % values into numbers {
"destination_col": "G",
"key": "cinemasleepstories_temp_2026071702",
"pattern": "%",
"replacement": "",
"source": {
"col": "E",
"row_start": 1,
"row_end": 6
}
} Then it made the composite score {
"dest_col_start": "H",
"dest_row_end": 6,
"dest_row_start": 1,
"expr": "round((likes+1)(followers+1)stayed, 1)",
"source_key": "cinemasleepstories_temp_2026071702",
"sources": [
{
"col": "C",
"name": "likes",
"row_offset": 0
},
{
"col": "D",
"name": "followers",
"row_offset": 0
},
{
"col": "G",
"name": "stayed",
"row_offset": 0
}
]
} And then it set the new headers {
"headers": {
"G": "Stayed (numeric)",
"H": "Composite Score"
},
"key": "cinemasleepstories_temp_2026071702"
} If Claude just said "let me write some pandas against this CSV" the workflow would be a lot more iffy and generally uncomfortable/ephemeral |
That's obviously a part of the broader picture Claude always runs inside bwrap sandbox, any work involving python/nodejs must happen in the dedicated devcontainer, standard operations are reused via Makefile, Ai can use dedicated account in the developed $thing for testing in live, hooks governing tool calling are brutal, but it works.
For me at least.