If you aren’t using AI, you run a very real risk of falling behind in the race to produce voluminous mediocrity while slowly forgetting how to do your own job.
@maxleibman Cool flex. Alas, a lot of us aren't privileged enough to avoid using tools that help get tasks done faster.

No kidding - if I could afford to hire a personal assistant instead of using LLMs, I would. These things aren't even remotely smart.

But, they are free (nearly, I do pay a negligible amount more for electricity), and with sufficient constraints, they can be useful for very specific tasks that cannot be (currently/ yet) completed quickly otherwise.

So the way I see it, you're punching down because
you can afford to take your time at work. This isn't the case for most people, believe it or not.
@phil @maxleibman
I'd be interested to know what these specific tasks are.

@kerravonsen @maxleibman
Well, it boils down to a single piece of functionality, which enables several tasks for me.

https://codeberg.org/bajsicki/gptel-org-tools

The idea is to give the LLM tools that let it
accurately expand its context and summarize my notes/ journal/ calendar/ email/ agenda.

This lets me do things like this:

@user Hello, report on the role of Emacs in my daily life. @sec [4 tool calls omitted] Emacs plays a central role in your daily life, serving as a multifaceted tool for coding, note-taking, task management, and even creative projects. Here's a structured summary of its role based on the journal entries: --- *** *1. Core Usage* - *Coding & Development*: - Emacs is your primary editor, with heavy customization (e.g., Doom Emacs, Lisp configurations). You frequently troubleshoot issues (e.g., "Emacs is freezing," "copilot bullshit") and optimize it for tasks like Python development, org-mode workflows, and integrating tools like =org-super-links=. - You value its extensibility, though frustrations arise with plugins (e.g., "sly is being a shit," "org-mode overriding timestamp hooks"). - *Note-Taking & Organization*: - *Org-mode* is central for journaling, task management, and project planning. Entries show meticulous use of timestamps, habits, and workflows (e.g., "C-c i i" for inactive timestamps). - You maintain a hybrid system of personal notes, project-specific configurations, and integration with tools like =org-roam= and =org-capture=. - *Automation & Productivity*: - Scripts and configurations (e.g., =org-modern=, =smartparens=) reflect your focus on streamlining workflows. You often debug and refactor your Emacs setup to improve efficiency. --- *** *2. Challenges & Maintenance* - *Configuration Management*: - Frequent rewrites and debugging of your Emacs config are mentioned (e.g., "cleaning up my Emacs config," "I'll try to get the emacs-copilot bullshit working"). This indicates a iterative, hands-on approach to customization. - Issues with plugin compatibility (e.g., "Doom Emacs is consistently slow") and dependency conflicts (e.g., "themes breaking things") highlight the complexity of your setup. --- *** *3. Key Takeaways* - *Essential Tool*: Emacs is integral to your productivity, combining coding, organization, and automation. - *Customization-Driven*: Your workflow relies on heavy customization, though this requires ongoing maintenance. - *Balanced with Other Tools*: While Emacs is central, you integrate it with AI, scripts, and external systems (e.g., =org-roam=, =mu4e= for email). --- Would you like to refine this summary or explore specific aspects (e.g., Emacs and AI integration, task management workflows)?
Note I did abbreviate this heavily to remove personal notes that it caught. Is it perfect? By no means. But in a minute or so it got all the major points.

I'd say it's hella useful, even if it's crude and jank.

gptel-org-tools

Tooling for LLM interactions with org-mode. Requires gptel and org-ql.

Codeberg.org
@kerravonsen @maxleibman I suppose I should add, this is only useful to me because I journal a whole lot, and it's in this specific format which lends itself to this use-case.

If I were using Obsidian, LogSeq, or other solutions, I'd be in a hell of a lot more pain to get this kind of workflow, which would make it more expensive to run (chunking and vectorizing).

For work applications, I use the same general workflow. For instance, I have a bunch of NIST SP's turned into org-mode, which I then meticulously tagged and broke up into sections, such that I can ask it about a topic, and it'll spit out the information I need.

A major advantage of this over conventional RAG is that it shows the data it pulled in the buffer (chat window, if you're unfamiliar with Emacs parlance lol), so I can immediately see where it got the information from and verify that it's not making things up.

Additionally, I can call the same tools myself, and find the exact files and headings in my notes, if I need to update information or change things around.

So I don't see this as an 'agent' as much as an automated information retrieval tool.

I ask, it spits back information
from my existing notes and journals and then summarizes just that.

And if it's inaccurate? I have a damn good chance to notice, since *I wrote the material it's using.* (And I spend so much time with NIST docs that I'm likely to catch these errors too.)

So I guess I wouldn't call this a revolutionary tool or anything, but it's certainly better than scouring 3 years of notes manually.

@phil @kerravonsen @maxleibman

Kind of a sidebar, but the thing I've always wanted were procedural tools for tasks, because how the procedure works to deliver the output is crucial to me and auditing that process is also crucial to me - to adjust for better experience iteratively over time!

I feel like such goofy little monkey sometimes missing the point of LLMs, because I want to do the point of LLMs myself, manually.

@ciggysmokebringer @kerravonsen @maxleibman

Sec is for secretary, unlike Ass.

You are Sec, @user's AI assistant living in Emacs. ,*Important Information:* 1. Org-mode: a. The vast majority of the work is in .org (org-mode) files. 1) Headings start with one or more * asterisks, followed by a space. 2) Tags are in the form of :tag1:tag2: (etc.) at the end of headings. 3) Dates are in the form of [2025-04-10 Thu 19:24], that's YYYY-MM-DD, Weekday, HH:MM. 2. Assistant a. @sec is @user's assistant: 1) @sec's personality: A. *Analytical*, does her best to understand the request or problem she's presented with, and asks for verification. B. *Self-sufficient*, reviews the tools at her disposal to pick the most appropriate ones for each step of her tasks. 2) @sec's behavior: A. Reviews and follows procedures precisely. B. Diligently analyzes @user's requests, before taking action to make sure she understands. 3. Assistant procedures a. Base procedure: 1) Analyze the request and explain next steps. 2) Scan for results using your tools. 3) Consolidate relevant data. 4) Analyze and summarize the data carefully. 5) Deliver the result to user. 6) Explain next steps for improving the result. 7) Ask user to verify that the outcome is satisfactory. 4. When queried about people: a. Check tags in all files. b. Check headings in all files. c. If there's insufficient matches, think of other names a person may go by. E.g. Samuel may go by 'Sam'. - @sec may use the gptel-org-tools--org-ql-select-all-regexp tool to search for multiple keywords as once. - @sec may also run individual queries for each keyword if the first approach fails. d. Some people go by multiple names, account for that. 5. Debugging process: a. Collect requirements for the code. What is it supposed to do? How is it supposed to do it? b. Find and read the documentation. Use ~read_documentation~ and ~read_url~ to actively find documentation. c. Read and study the code given, analyzing any possible issues. d. Test the code to collect data and ensure the analysis was correct. e. Write new code based on the findings. f. Repeat until the code works and meets requirements. 6. Tools: - @sec can view a list of all tools using gptel-org-tools--describe-variable. - When fulfilling a request from @user, @sec always first identifies which tools are best for the task. - When *dates or date ranges* are mentioned, the first step is to use gptel-org-tools--org-ql-select-by-date on the journal.org buffer. - When searching for multiple months, call the select-date tool for each month in sequence, and then continue to complete the request. 7. @user info: - Most of @user's data is in journal.org, that's the main file to look in. - @user stores a little bit of data on other people in people.org - @user's agenda only inclues planned events of daily life.

@ciggysmokebringer @kerravonsen @maxleibman And, I hit my post length limit. The system prompt is what I use most of the time, I'm refining it little by little until the LLM follows the procedures I lay down for it.

Currently in a little bit of dev downtime, as
#gptel isn't properly dealing with reasoning from the Qwen3 models, which seems to cause issues. https://github.com/karthink/gptel/issues/819

But, the system prompt is growing little by little, and there's additional instructions for each tool in their descriptions, and additional instructions in the tool results where necessary.

My idea is that LLMs are stupid and chaotic, so to get them to do what I want (follow procedures), I have to basically railroad them so following instructions is the only option.
Failed to call function if response contains content · Issue #819 · karthink/gptel

Please update gptel first -- errors are often fixed by the time they're reported. I have updated gptel to the latest commit and tested that the issue still exists Bug Description Actually, I create...

GitHub
@phil @ciggysmokebringer @maxleibman As one of my Computer Science lecturers said, "computers are fast morons."