De fato, Manus é inteligente e eles dividiram a ferramenta em 3 camadas: Camada 1: Chamada de função Esta é a camada mais básica, que mantém apenas um pequeno número de funções fixas e atomizadas, como ler e gravar arquivos, executar comandos shell, pesquisar arquivos, etc. No prompt do sistema LLM, há apenas essa camada de definições de ferramentas, que são relativamente poucas, dentro de 15, e os formatos de entrada e saída são muito claros e não são fáceis de cometer erros, mas existem duas ferramentas especiais nele, uma é Shell e a outra é Arquivo. Nível 2: Utilitários de sandbox Cada sessão do Manus é executada em uma sandbox de máquina virtual completa. Conforme mencionado no tweet original, a máquina virtual vem pré-instalada com muitas ferramentas de linha de comando, como conversores de formato, ferramentas de reconhecimento de fala e até mesmo um cliente de linha de comando MCP. Essas ferramentas são então chamadas por meio do shell definido na camada 1, que é a ferramenta de linha de comando, a chamada de linha de comando. Mas como tantos modelos de ferramentas sabem? Manus informa ao LLM diretamente no prompt do sistema que há muitas ferramentas de linha de comando pré-instaladas em uma pasta específica. Para as ferramentas mais usadas, liste-as diretamente pelo nome. Para aqueles que não são comumente usados, os LLMs podem listar diretamente todas as ferramentas de linha de comando por meio dos comandos mencionados no push original e usar o parâmetro --help para ver o uso de qualquer uma delas, pois todas elas são desenvolvidas por si mesmas e têm um formato uniforme. Camada 3: Pacotes e APIs Essa camada é, na verdade, o LLM escrevendo código Python em tempo real, e funções mais complexas são implementadas por meio do código. Por exemplo, se um usuário quiser consultar os dados de uma API, ele poderá escrever diretamente uma função em Python para buscar os dados da API e analisá-los no formato necessário. Na verdade, no Codex, o uso do código Python como ferramenta tem sido muito usado. Como operações complexas são feitas por código, os resultados dos cálculos de conhecimento retornados ao agente principal não ocupam o contexto do agente principal. A vantagem desse design de três camadas é que, do ponto de vista do modelo, as ferramentas que ele precisa chamar são fixadas em uma dúzia ou mais da primeira camada e, com a ajuda da linha de comando e do código, ele pode derivar inúmeras combinações de ferramentas. Outro ponto é o subagente que mencionei no meu tweet anterior, Manus também usa muito modelo de "agente como ferramenta". Use um subagente como ferramenta, por exemplo, o subagente responsável pela recuperação é um subagente, mas esse subagente é uma ferramenta aos olhos do agente principal. Ao mesmo tempo, também pode desempenhar um bom papel na redução do contexto.