{
    "archive_path": "archive/1765896758.366614",
    "base_url": "choly.ca/post/agent-recursion",
    "basename": "",
    "bookmarked_date": "2025-12-16 14:52",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/choly.ca/post/agent-recursion",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=choly.ca",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": null
    },
    "domain": "choly.ca",
    "downloaded_at": "2025-12-16T14:52:49.063793+00:00",
    "downloaded_datestr": "2025-12-16 14:52",
    "extension": "",
    "hash": "141353BJ8869SCQ2HQ8S",
    "history": {
        "archive_org": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://web.archive.org/save/https://choly.ca/post/agent-recursion/"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2025-12-16T14:54:34.275959+00:00",
                "index_texts": null,
                "output": "TimeoutExpired: Command '['/usr/bin/curl', '--silent', '--location', '--compressed', '--proxy', 'socks5://tor-socks-proxy:9150', '--head', '--max-time', '60', '--user-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)', 'https://web.archive.org/save/https://choly.ca/post/agent-recursion/']' timed out after 60 seconds",
                "pwd": "/data/archive/1765896758.366614",
                "schema": "ArchiveResult",
                "start_ts": "2025-12-16T14:53:34.113370+00:00",
                "status": "failed"
            }
        ],
        "dom": [
            {
                "cmd": [
                    "/usr/bin/chromium-browser",
                    "--proxy-server=socks5://tor-socks-proxy:9150",
                    "--disable-features=DarkMode",
                    "--run-all-compositor-stages-before-draw",
                    "--hide-scrollbars",
                    "--autoplay-policy=no-user-gesture-required",
                    "--no-first-run",
                    "--use-fake-ui-for-media-stream",
                    "--use-fake-device-for-media-stream",
                    "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'",
                    "--headless=new",
                    "--no-sandbox",
                    "--no-zygote",
                    "--disable-dev-shm-usage",
                    "--disable-software-rasterizer",
                    "--disable-sync",
                    "--window-size=1440,2000",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "--user-data-dir=/data/personas/Default/chrome_profile",
                    "--profile-directory=Default",
                    "--dump-dom",
                    "https://choly.ca/post/agent-recursion/"
                ],
                "cmd_version": "131.0.6778",
                "end_ts": "2025-12-16T14:53:01.078812+00:00",
                "index_texts": null,
                "output": "output.html",
                "pwd": "/data/archive/1765896758.366614",
                "schema": "ArchiveResult",
                "start_ts": "2025-12-16T14:52:52.796817+00:00",
                "status": "succeeded"
            }
        ],
        "favicon": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://www.google.com/s2/favicons?domain=choly.ca"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2025-12-16T14:52:52.589011+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1765896758.366614",
                "schema": "ArchiveResult",
                "start_ts": "2025-12-16T14:52:49.117666+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://choly.ca/post/agent-recursion/"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2025-12-16T14:52:52.680034+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1765896758.366614",
                "schema": "ArchiveResult",
                "start_ts": "2025-12-16T14:52:52.627703+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [
            {
                "cmd": [
                    "(internal) archivebox.extractors.htmltotext",
                    "./{singlefile,dom}.html"
                ],
                "cmd_version": "0.8.5rc51",
                "end_ts": "2025-12-16T14:53:14.485729+00:00",
                "index_texts": [
                    "(https://gmpg.org/xfn/11) Agent Recursion \u00b7 Choly's Blog (https://choly.ca/css/print.css) (https://choly.ca/css/poole.css) (https://choly.ca/css/syntax.css) (https://choly.ca/css/hyde.css) (https://fonts.googleapis.com/css?family=Abril+Fatface|PT+Sans:400,400i,700) (/apple-touch-icon-144-precomposed.png) (/favicon.png)  (https://choly.ca/) Choly's Blog  Documented Procrastination   (https://choly.ca/) Home  (https://github.com/icholy) Github   (https://stackoverflow.com/users/215969/ilia-choly) Stack Overflow     \u00a9 2025. All rights reserved.    Agent Recursion Sun, May 18, 2025 When AI agents start using tools, the context window fills up fast.\nEach run_command or read_file tool call dumps a lot of text that quickly loses relevance in subsequent steps. I\u2019ve been experimenting with the idea of \u201crecursive agents\u201d to mitigate this issue.\nThe idea is simple: An agent can kick off new instances of itself to handle specific subtasks . The key part is that, when a child agent finishes, it doesn\u2019t send its entire operational log or full tool output back to the parent; instead, it returns only a brief summary of the results. This does two important things: Keeps the parent agent\u2019s context window usage down. Helps the parent agent stay focused on the overall objective.  I\u2019ve implemented this idea here: (https://github.com/icholy/sloppy) https://github.com/icholy/sloppy .\nThe agent is simply provided with a run_agent tool. {   \"name\" : \"run_agent\" ,   \"description\" : \"Delegates a sub-task to a new child agent. Plan and break down work; use new, uniquely named agents for distinct sub-tasks or repetitive instances (min 3). Don't delegate the entire core task.\" ,   \"parameters\" : {   \"type\" : \"object\" ,   \"properties\" : {   \"name\" : {   \"type\" : \"string\" ,   \"description\" : \"A unique, short, and descriptive name for the child agent instance.\"   },   \"prompt\" : {   \"type\" : \"string\" ,   \"description\" : \"Instructions for the new child agent, or follow-up questions for a previously created agent.\"   }   },   \"required\" : [ \"name\" , \"prompt\" ]   }   }      Note : The description fields included here are abbreviated.     "
                ],
                "output": "htmltotext.txt",
                "pwd": "/data/archive/1765896758.366614",
                "schema": "ArchiveResult",
                "start_ts": "2025-12-16T14:53:14.453559+00:00",
                "status": "succeeded"
            }
        ],
        "media": [
            {
                "cmd": [
                    "/usr/local/bin/yt-dlp",
                    "--restrict-filenames",
                    "--trim-filenames",
                    "128",
                    "--write-description",
                    "--write-info-json",
                    "--write-annotations",
                    "--write-thumbnail",
                    "--no-call-home",
                    "--write-sub",
                    "--write-auto-subs",
                    "--convert-subs=srt",
                    "--yes-playlist",
                    "--continue",
                    "--no-abort-on-error",
                    "--ignore-errors",
                    "--geo-bypass",
                    "--add-metadata",
                    "--format=(bv*+ba/b)[filesize<=750m][filesize_approx<=?750m]/(bv*+ba/b)",
                    "--skip-download",
                    "--cache-dir=/data/yt-dlp-cache/",
                    "--cookies=/data/yt-dlp-cache/cookies.txt",
                    "--proxy=socks5://tor-socks-proxy:9150",
                    "--no-playlist",
                    "https://choly.ca/post/agent-recursion/"
                ],
                "cmd_version": "2024.10.7",
                "end_ts": "2025-12-16T14:53:33.863389+00:00",
                "index_texts": [],
                "output": "media/",
                "pwd": "/data/archive/1765896758.366614",
                "schema": "ArchiveResult",
                "start_ts": "2025-12-16T14:53:15.401826+00:00",
                "status": "succeeded"
            }
        ],
        "mercury": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/postlight-parser",
                    "https://choly.ca/post/agent-recursion/"
                ],
                "cmd_version": "2.2.3",
                "end_ts": "2025-12-16T14:53:14.339639+00:00",
                "index_texts": null,
                "output": "mercury/",
                "pwd": "/data/archive/1765896758.366614",
                "schema": "ArchiveResult",
                "start_ts": "2025-12-16T14:53:08.107879+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/readability-extractor",
                    "/tmp/tmpfzls8m30",
                    "https://choly.ca/post/agent-recursion/"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2025-12-16T14:53:07.673508+00:00",
                "index_texts": [
                    "Agent Recursion\n  Sun, May 18, 2025When AI agents start using tools, the context window fills up fast.\nEach run_command or read_file tool call dumps a lot of text that quickly loses relevance in subsequent steps.\nI\u2019ve been experimenting with the idea of \u201crecursive agents\u201d to mitigate this issue.\nThe idea is simple: An agent can kick off new instances of itself to handle specific subtasks.\nThe key part is that, when a child agent finishes, it doesn\u2019t send its entire operational log or full tool output back to the parent; instead, it returns only a brief summary of the results.\nThis does two important things:\n\nKeeps the parent agent\u2019s context window usage down.\nHelps the parent agent stay focused on the overall objective.\n\nI\u2019ve implemented this idea here: https://github.com/icholy/sloppy.\nThe agent is simply provided with a run_agent tool.\n{\n  \"name\": \"run_agent\",\n  \"description\": \"Delegates a sub-task to a new child agent. Plan and break down work; use new, uniquely named agents for distinct sub-tasks or repetitive instances (min 3). Don't delegate the entire core task.\",\n  \"parameters\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"name\": {\n        \"type\": \"string\",\n        \"description\": \"A unique, short, and descriptive name for the child agent instance.\"\n      },\n      \"prompt\": {\n        \"type\": \"string\",\n        \"description\": \"Instructions for the new child agent, or follow-up questions for a previously created agent.\"\n      }\n    },\n    \"required\": [\"name\", \"prompt\"]\n  }\n}\nNote: The description fields included here are abbreviated."
                ],
                "output": "readability/",
                "pwd": "/data/archive/1765896758.366614",
                "schema": "ArchiveResult",
                "start_ts": "2025-12-16T14:53:01.780769+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://choly.ca/post/agent-recursion/"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2025-12-16T14:53:01.342803+00:00",
                "index_texts": null,
                "output": "Agent Recursion \u00b7 Choly's Blog",
                "pwd": "/data/archive/1765896758.366614",
                "schema": "ArchiveResult",
                "start_ts": "2025-12-16T14:53:01.260271+00:00",
                "status": "succeeded"
            }
        ],
        "wget": []
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": "TimeoutExpired: Command '['/usr/bin/curl', '--silent', '--location', '--compressed', '--proxy', 'socks5://tor-socks-proxy:9150', '--head', '--max-time', '60', '--user-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)', 'https://web.archive.org/save/https://choly.ca/post/agent-recursion/']' timed out after 60 seconds",
        "dom": "output.html",
        "favicon": "favicon.ico",
        "git": null,
        "media": "media/",
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "Agent Recursion \u00b7 Choly's Blog",
        "warc": null,
        "wget": null
    },
    "link_dir": "/data/archive/1765896758.366614",
    "newest_archive_date": "2025-12-16T14:53:34.113370+00:00",
    "num_failures": 1,
    "num_outputs": 8,
    "oldest_archive_date": "2025-12-16T14:52:49.117666+00:00",
    "path": "/post/agent-recursion/",
    "schema": "Link",
    "scheme": "https",
    "snapshot_abid": "snp_01KCKTC95C10348A0B01H7V77K",
    "snapshot_id": "7b83338a-7969-4fc8-8e8e-1268e27d9cf3",
    "sources": [
        "/data/sources/1765896757-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1765896758.366614",
    "title": "Agent Recursion \u00b7 Choly's Blog",
    "url": "https://choly.ca/post/agent-recursion/"
}