uv with PEP 723 inline dependencies is such a nice way to work, isn’t it. Combined with VS Code’s ‘# %%’-demarcated notebook cells in .py files, and debugpy (with a suitable launch.json config) for debugging from the command line, Python dev finally feels really ergonomic these last few months.
Yep, lets you use normal .py files instead of using the .ipynb extension. You get much nicer diffs in your git history, and much easier refactoring between the exploratory notebook stage and library/app code - particularly when combined with the other stuff I mentioned.
Once I gave claude read only access to the command line and also my local repos, i found that was enough to have it work quite well... I start to wonder if all this will boil down to simple understanding of some sort of "semantic laws" still fuzzily described... I gotta read chomsky...
Where does one find the tool
prompts that explains to the LLM how to use those seven tools and what each does? I couldn’t find it easily looking through the repo.
Thank you. I find in interesting that the LLM just understands intuitively from the english name of the tool/function and it’s argument names. I had imagined it might need more extensive description and specification in its system prompt, but apparently not.
I find it very interesting that the LLM is told so little details but seems to just intuitively understand based on the english words used for the tool name and function arguments.
I know from earlier discussions that this is partially because many LLMs have been fine tuned on function calling, however the model providers don’t share this training dataset unfortunately. I think models that haven’t been fine tuned can still do function calling with careful instructions in their system prompt but are much worse at it.
Thank you for comments that help with learning and understanding MCP and tools better.
Related. Here is info on how custom tools added via MCP are defined, you can even add fake tools and trick Claude to call them, even though they don't exist.
I’m having reasonable success with these seven tools: read, write, diff, browse, command, ask, think.
There is a minimal template here if anyone finds it useful: https://github.com/aperoc/toolkami