Re: [NonGNU] new: hermes
Thanos Apollo <[email protected]> Tue, 11 Aug 2026 09:36:58 +0300
| Newsgroups | gmane.emacs.devel |
|---|---|
| Message-ID | <[email protected]> |
Richard Stallman <[email protected]> writes: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > When I read text in the description you sent, I keep having the > feeling that there is missing piece, taken for granted in every > sentence, that I don't understand. I notice its absence because the > points I do understand don't quite link up, but I can't tell what the > missing piece looks like. > > So I will look at them and see if I can ask a question that > will help me undersand something. Okay, I will change the order of your questions to make them easier to answer. > Does Hermes depend on using an LLM? Yes. Hermes requires access to an LLM at runtime, but not to an external or commercial provider. It can use a self-hosted inference server such as Ollama, llama.cpp, or vLLM. Hermes is an agent harness: a software layer that gives an LLM tools, memory, instructions, session management, and an execution/agent loop. The LLM interprets a goal expressed in natural language and selects tools to invoke. Hermes executes those requests and returns the results to the LLM, which may then request further operations. > What would be the advantage, in Emacs, of doing these things via > Hermes instead of doing them by executing keyboard commands or Lisp > expressions? > > What is the benefit I would get by hooking up Hermes to do that? For a simple operation, such as editing one file, there may be no advantage. We already know how to do that directly in Emacs. The benefit is delegating a goal that requires several operations. For example, I can ask Hermes to find why a test fails and prepare a fix. It may inspect the test and source files, run the test, edit the source, run the test again, and present the resulting diff. I supervise the work and approve sensitive actions rather than specifying every command. Several Hermes agents can work concurrently on separate tasks or projects. Hermes performs the work with its own tools; hermes.el makes Emacs a control room for managing them and reviewing their work. > Could you explain concretely what "conversation" means here? > How does Hermes do "conversation"? A conversation is a sequence of messages between the user and the LLM. Hermes supplies the preceding messages, its instructions, and descriptions of its tools. The LLM can reply with text or request a tool operation. Hermes executes the operation and returns its result. This continues until the LLM replies or asks the user for input. > Does this mean Hermes needs to learn how to edit a file? > > How does Hermes "learn"? No. Its file tools already provide operations for reading and editing files. It does not need to learn C-x C-f, C-x C-s, or other Emacs commands. If configured to interact with a running Emacs session, it can use a tool that evaluates Emacs Lisp there. A skill records a procedure rather than a primitive operation. One skill may describe how I prefer Emacs Lisp development to be done, while another records the build and testing procedure for a particular project. Skills are ordinary editable text files. "Learning" here does not mean training the LLM. It means saving procedures as skills, or facts in persistent memory, for later sessions. > How can it judge whether the result of something it just did was good > or bad? It cannot judge that infallibly. It can check command status, compiler output, tests, diffs, and criteria supplied by the user. When those are insufficient, it should ask the user. This is why hermes.el emphasizes supervision and review. -- Thanos Apollo ☧ https://thanosapollo.org
signature.asc
(application/pgp-signature, 227 B)
-----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQT8Sfl7aimGMASg9+nHhedB4pNYHQUCanrDCgAKCRDHhedB4pNY HaicAP9Q1+DNS985T6AarN1T9+9H0FH8j5yH5DPRHR0QHpCdlgD/aFFEMnGFjLKD hiqLqrlqAJNPUH59ZcxoKlmYUxHOOgo= =p92r -----END PGP SIGNATURE-----