# Run a long thesis project (/use-cases/industry-specialized/academic-writing)



Copy this prompt to start your first task:

<Prompt>
  Set up a daily thesis progress routine for me. My paper: [topic, program/journal requirements, deadline, materials I already have, citation format]. Start by nailing down the research question, chapter outline, and this week's reading and writing tasks, then check in on my progress every day.
</Prompt>

<LivePreview component="NewThread" scenario="{ draft: &#x22;Set up a daily thesis progress routine for me. My paper: [topic, program/journal requirements, deadline, materials I already have, citation format]. Start by nailing down the research question, chapter outline, and this week's reading and writing tasks, then check in on my progress every day.&#x22; }" />

## What is this workflow? [#what-is-this-workflow]

"Run a long thesis project" is an ongoing assistant relationship for months of iterative thesis revisions, where the connected draft file — not the chat history — is the single source of truth for what state you're in. Every real revision ships as a new versioned `.docx` with a short changelog of what changed and what's worth doing next, never a silent overwrite of the file you were already working from. Citations always carry a real URL, DOI, or journal/conference name, or an explicit "unconfirmed" flag instead of a number that looks real but isn't. Nothing ever gets deleted — only appended — so you always have a full version trail to roll back through.

<Callout type="warn">
  This keeps your thesis moving between sessions. It doesn't stand in for your advisor or your own academic judgment. It won't email your advisor or a journal on your behalf, and while it'll give you an honest opinion on whether an argument holds up, whether your advisor will actually accept it is your call to make, not its. It never invents a citation, a data point, or a source: "unconfirmed" is the answer when it can't verify something, not a plausible-looking fake. And it never deletes an old version to make room for a new one; every revision is additive, so you can always tell it "revert to 0.9" and mean it.
</Callout>

## How to use this workflow [#how-to-use-this-workflow]

This runs on one discipline: the connected file, not the chat, is the source of truth. This flow also never reaches outside Helio on its own — it won't email your advisor or a journal for you — so once it's set up, the routine work of drafting, versioning, and updating the file runs on its own without pausing for approval. See [Control](/ai-teammates/control) for what does pause for sign-off in general, like an action that does reach outside Helio.

<Steps>
  <Step>
    ### Hire an Deep Research Writer, then rewrite the bio for file discipline, not the generic lab-teammate framing [#hire-an-deep-research-writer-then-rewrite-the-bio-for-file-discipline-not-the-generic-lab-teammate-framing]

    Open **AI Teammates** in the sidebar, click **Hire AI Teammate**, and pick the **Deep Research Writer** template. Its default bio is framed around a lab research team (experiments, contribution claims, positioning against prior work). Replace it on the Profile step so it starts out already running your actual SOP: file as the only real state, version-forward not overwrite, transparent sourcing, and flagging its own contradictions unprompted:

    <Prompt>
      You're my thesis writing assistant. The .md draft file is the single source of truth. Never rely on chat memory for state, and re-read it before answering “what did we decide last time.” Every real revision gets a new minor version (0.11→0.12); never overwrite an old one. Any data, paper, or site you cite needs a real URL, DOI, or citation. Mark it “unconfirmed” rather than inventing a source. Flag contradictions between sections on your own, don't wait to be asked.
    </Prompt>

    Confirm the name and click **Create teammate**. They land in their own channel, which is where the whole thesis workflow below happens. [More on hiring →](/ai-teammates/hire-an-ai-teammate)

    <LivePreview component="CreateAssistantPage" scenario="{ focus: &#x22;profile&#x22;, initialState: { start: &#x22;template&#x22;, templateRef: &#x22;@helio/researcher&#x22;, name: &#x22;Deep Research Writer&#x22;, bio: &#x22;You're my thesis writing assistant. The .md draft file is the single source of truth. Never rely on chat memory for state, and re-read it before answering “what did we decide last time.” Every real revision gets a new minor version (0.11→0.12); never overwrite an old one. Any data, paper, or site you cite needs a real URL, DOI, or citation. Mark it “unconfirmed” rather than inventing a source. Flag contradictions between sections on your own, don't wait to be asked.&#x22; } }" />
  </Step>

  <Step>
    ### Connect the shared folder: the actual project home [#connect-the-shared-folder-the-actual-project-home]

    The project folder holds the current `.docx`, every historical version, and an appendix `.md` for data. Connect wherever that folder actually lives (Google Drive, Notion, or a synced local path) so the teammate can read and write there directly instead of working from pasted-in fragments. [Connect your tools →](/connect/connect-tools-to-ai-teammates)

    One Google Drive caveat: Helio's Drive connection runs on the narrow `drive.file` scope, and its visibility is limited to files the teammate itself created or uploaded — there is currently no way to point it at a folder that already exists in your Drive (no file picker, no share-with-the-teammate path). So for an existing thesis project, either keep the folder in Notion or a synced local path, or attach the current `.docx` and appendix in chat once and let the teammate re-home them in Drive — from then on Drive works as its delivery surface and every version it writes there is fully visible to it. Since the deliverable is a `.docx`, also install the document-handling skill bundle (Skills & Plugins → the pdf/docx/xlsx/pptx bundle) so the teammate can actually create and edit Word files.

    <LivePreview component="AssistantIntegrations" />
  </Step>

  <Step>
    ### Every real edit produces a new version: nothing gets overwritten [#every-real-edit-produces-a-new-version-nothing-gets-overwritten]

    This is the core discipline the SOP runs on: minor revisions step the version number forward (0.11 → 0.12 → 0.13), milestone-ready drafts jump to 1.0 / 2.0, and the old file always stays on disk as a fallback. The worked examples from here on come from a real Chinese-language thesis project, so the copy-ready prompts are in Chinese — the discipline they demonstrate is language-independent, so swap in your own thesis's language when you use them. Watch it play out on a routine edit:

    <Prompt>
      在第三章方法部分加上新增的对照组数据，附录的表也要同步更新，标注清楚这次改了什么。
    </Prompt>

    <LivePreview
      component="AssistantChat"
      scenario="{ assistantName: &#x22;Deep Research Writer&#x22;, messages: [
    { author: &#x22;user&#x22;, text: &#x22;在第三章方法部分加上新增的对照组数据，附录的表也要同步更新，标注清楚这次改了什么。&#x22; },
    { author: &#x22;assistant&#x22;, text: &#x22;读取的是当前最新版 0.11_2021304821_XX机制研究.docx。正在改：第三章方法部分插入新增对照组的描述，附录数据.md 里的表格同步加一行。改完存成 0.12（0.11 保留不动，需要的话随时能退回去）。交付时会附上这版 .docx，变更摘要写清楚具体改了哪几处。&#x22; },
  ] }"
    />
  </Step>

  <Step>
    ### Terse commands work: full sentences aren't required [#terse-commands-work-full-sentences-arent-required]

    Because progress lives in the file, not the chat history, you don't have to re-explain context every time. Two-word commands like "继续" (continue), "出docx" (give me the docx), or "3.2节那里" (that part in 3.2) work because the teammate reads the file's actual state to figure out what you mean, not because it's guessing or needs a paragraph of setup first: something a model without file discipline can't do safely.

    <Prompt>
      继续
    </Prompt>

    <LivePreview
      component="AssistantChat"
      scenario="{ assistantName: &#x22;Deep Research Writer&#x22;, messages: [
    { author: &#x22;user&#x22;, text: &#x22;继续&#x22; },
    { author: &#x22;assistant&#x22;, text: &#x22;当前最高优先级是第四章讨论部分，上次标了两处「待补充数据支撑」还没处理。先把这两处补上，弄完了继续往下推。&#x22; },
    { author: &#x22;user&#x22;, text: &#x22;3.2节那里&#x22; },
    { author: &#x22;assistant&#x22;, text: &#x22;定位到 3.2 研究方法。现在写的是抽样策略那一段，看完之后告诉我要改哪里，还是先接着往后写。&#x22; },
    { author: &#x22;user&#x22;, text: &#x22;出docx&#x22; },
    { author: &#x22;assistant&#x22;, text: &#x22;生成中，从最新 0.13_2021304821_XX机制研究.md 用文档技能转出 .docx，马上发过来。&#x22; },
  ] }"
    />
  </Step>

  <Step>
    ### A claim without a real source gets flagged, not invented [#a-claim-without-a-real-source-gets-flagged-not-invented]

    Data-source transparency is non-negotiable in the SOP: "待确认" beats a fake number. Ask it to add a claim that doesn't have a checkable source yet, and it says so instead of manufacturing a citation that looks real:

    <Prompt>
      文献综述里加一句：远程办公能提升35%的生产率，这是我从一篇文章截图里看到的说法，你查一下来源加进去。
    </Prompt>

    <LivePreview
      component="AssistantChat"
      scenario="{ assistantName: &#x22;Deep Research Writer&#x22;, messages: [
    { author: &#x22;user&#x22;, text: &#x22;文献综述里加一句：远程办公能提升35%的生产率，这是我从一篇文章截图里看到的说法，你查一下来源加进去。&#x22; },
    { author: &#x22;assistant&#x22;, text: &#x22;查了几个方向，能找到远程办公与生产率相关的研究，但没有一篇的数字对得上「35%」这个具体值，大概率是二手转述或记错了来源。按咱们的规则，我先把这句话标成「待确认」放进正文，注明具体数据点还没有可查验来源，不会现在编一个引用上去。等你能找到原始出处（论文链接或机构报告），我再补全引用信息。&#x22; },
  ] }"
    />
  </Step>

  <Step>
    ### Turn on the daily research digest (optional, and it won't nag) [#turn-on-the-daily-research-digest-optional-and-it-wont-nag]

    Open **Automations** in the sidebar, click the **Create via Chat** dropdown, and pick this teammate. The digest is a one-way report: new findings, what they mean for a specific chapter or argument, and the update status. The teammate won't chase you for a reply if you don't send one:

    <Prompt>
      帮我设置研究日报：每天早上搜一下和我论文相关的最新论文、产品动态、市场数据，分析每条和哪一章、哪个论点相关，发给我。不用等我回复，也别因为我没回就一直追问。
    </Prompt>

    <LivePreview component="NewThread" scenario="{ populated: false }" />
  </Step>
</Steps>

## Tips for Better Results [#tips-for-better-results]

| Tip                                                   | Description                                                                                                                                                                                                                                                                  |
| ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Connect the real project folder, not pasted fragments | The teammate reads and writes directly in Google Drive, Notion, or a synced local path. For an existing Drive project, attach the current `.docx` and appendix once so the teammate can re-home them — Helio's Drive scope can only see files it created or uploaded itself. |
| Let terse commands do the work                        | Because state lives in the file, not the chat, short commands like "继续" (continue), "出docx" (give me the docx), or "3.2节那里" (that part in 3.2) work without re-explaining context.                                                                                           |
| Give it a real source, or expect "unconfirmed"        | Any citation without a checkable URL, DOI, or journal/conference name gets flagged "unconfirmed" instead of invented. Bring the original source if you want it fully cited.                                                                                                  |
| Use version numbers to talk about state               | Minor edits step forward (0.11→0.12→0.13); milestone-ready drafts jump to 1.0/2.0. Say "revert to 0.9" and it's a real rollback, since nothing is ever deleted.                                                                                                              |

## Common Questions [#common-questions]

<Accordions type="single">
  <Accordion title="Does it ever overwrite my draft?">
    No. Every real revision is delivered as a new version — minor edits step the version number forward, milestone drafts jump to 1.0/2.0 — and the old file always stays on disk. Nothing is deleted, only appended.
  </Accordion>

  <Accordion title="Will it invent a citation if it can't find the real source?">
    No. If it can't verify a URL, DOI, or journal/conference name for a claim, it flags the line "unconfirmed" instead of manufacturing a citation that looks real.
  </Accordion>

  <Accordion title="Does it decide whether my argument is good enough for my advisor?">
    It'll give you an honest opinion on whether an argument holds up, but whether your advisor actually accepts it is your call, not its. It also won't email your advisor or a journal on your behalf.
  </Accordion>

  <Accordion title="Can I use short commands instead of full sentences?">
    Yes. Because progress lives in the connected file rather than chat history, terse commands like "继续" (continue), "出docx" (give me the docx), or "3.2节那里" (that part in 3.2) work — the teammate re-reads the file's actual state to figure out what you mean.
  </Accordion>

  <Accordion title="Can I just connect an existing Google Drive folder?">
    Not directly. Helio's Drive connection runs on the narrow `drive.file` scope, so it can only see files it created or uploaded itself — there's no file picker or share-with-the-teammate path for an existing folder. Keep the project in Notion or a synced local path instead, or attach the current `.docx` and appendix in chat once so the teammate can re-home them in Drive.
  </Accordion>
</Accordions>

<Cards>
  <Card title="Industry & Specialized" href="/use-cases/industry-specialized" description="Back to the Industry & Specialized use case overview." />

  <Card title="Source and screen candidates" href="/use-cases/industry-specialized/recruiting-sourcing" description="An HR teammate that finds passive candidates and screens against a real bar." />

  <Card title="Get a personal AI assistant" href="/use-cases/team-ops/personal-assistant" description="One teammate for whatever comes up." />
</Cards>
